/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/cohendiv-ll_valuebound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 11:26:48,719 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 11:26:48,720 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 11:26:48,745 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 11:26:48,746 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 11:26:48,746 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 11:26:48,748 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 11:26:48,749 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 11:26:48,750 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 11:26:48,750 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 11:26:48,751 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 11:26:48,753 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 11:26:48,753 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 11:26:48,756 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 11:26:48,757 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 11:26:48,758 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 11:26:48,759 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 11:26:48,760 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 11:26:48,762 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 11:26:48,766 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 11:26:48,767 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 11:26:48,768 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 11:26:48,768 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 11:26:48,770 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 11:26:48,771 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 11:26:48,775 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 11:26:48,775 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 11:26:48,776 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 11:26:48,776 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 11:26:48,776 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 11:26:48,777 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 11:26:48,777 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 11:26:48,778 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 11:26:48,779 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 11:26:48,779 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 11:26:48,780 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 11:26:48,780 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 11:26:48,780 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 11:26:48,780 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 11:26:48,780 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 11:26:48,781 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 11:26:48,782 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 11:26:48,782 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 11:26:48,789 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 11:26:48,789 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 11:26:48,790 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 11:26:48,790 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 11:26:48,790 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 11:26:48,790 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 11:26:48,790 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 11:26:48,790 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 11:26:48,790 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 11:26:48,795 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 11:26:48,795 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 11:26:48,795 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 11:26:48,795 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 11:26:48,795 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 11:26:48,795 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 11:26:48,795 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 11:26:48,796 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 11:26:48,796 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 11:26:48,796 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 11:26:48,796 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 11:26:48,796 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 11:26:48,796 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 11:26:48,796 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 11:26:48,961 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 11:26:48,974 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 11:26:48,976 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 11:26:48,976 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 11:26:48,979 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 11:26:48,983 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/cohendiv-ll_valuebound50.c [2022-04-08 11:26:49,022 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/38a8631d4/8c1cb301c10644548b71c08abccdf7a7/FLAG08c7451ab [2022-04-08 11:26:49,356 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 11:26:49,356 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/cohendiv-ll_valuebound50.c [2022-04-08 11:26:49,360 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/38a8631d4/8c1cb301c10644548b71c08abccdf7a7/FLAG08c7451ab [2022-04-08 11:26:49,369 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/38a8631d4/8c1cb301c10644548b71c08abccdf7a7 [2022-04-08 11:26:49,371 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 11:26:49,372 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 11:26:49,374 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 11:26:49,374 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 11:26:49,377 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 11:26:49,380 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 11:26:49" (1/1) ... [2022-04-08 11:26:49,381 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4f4b0299 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:26:49, skipping insertion in model container [2022-04-08 11:26:49,381 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 11:26:49" (1/1) ... [2022-04-08 11:26:49,385 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 11:26:49,395 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 11:26:49,528 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/cohendiv-ll_valuebound50.c[576,589] [2022-04-08 11:26:49,548 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 11:26:49,553 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 11:26:49,569 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/cohendiv-ll_valuebound50.c[576,589] [2022-04-08 11:26:49,587 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 11:26:49,595 INFO L208 MainTranslator]: Completed translation [2022-04-08 11:26:49,595 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:26:49 WrapperNode [2022-04-08 11:26:49,595 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 11:26:49,596 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 11:26:49,596 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 11:26:49,596 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 11:26:49,605 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:26:49" (1/1) ... [2022-04-08 11:26:49,605 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:26:49" (1/1) ... [2022-04-08 11:26:49,613 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:26:49" (1/1) ... [2022-04-08 11:26:49,613 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:26:49" (1/1) ... [2022-04-08 11:26:49,617 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:26:49" (1/1) ... [2022-04-08 11:26:49,619 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:26:49" (1/1) ... [2022-04-08 11:26:49,621 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:26:49" (1/1) ... [2022-04-08 11:26:49,622 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 11:26:49,623 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 11:26:49,623 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 11:26:49,623 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 11:26:49,623 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:26:49" (1/1) ... [2022-04-08 11:26:49,631 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 11:26:49,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:26:49,647 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 11:26:49,652 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 11:26:49,673 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 11:26:49,673 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 11:26:49,673 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 11:26:49,673 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 11:26:49,673 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 11:26:49,674 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 11:26:49,674 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 11:26:49,674 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 11:26:49,674 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 11:26:49,674 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 11:26:49,674 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 11:26:49,674 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 11:26:49,674 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 11:26:49,675 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 11:26:49,675 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 11:26:49,676 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 11:26:49,676 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 11:26:49,676 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 11:26:49,676 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 11:26:49,677 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 11:26:49,726 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 11:26:49,727 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 11:26:49,870 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 11:26:49,878 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 11:26:49,879 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 11:26:49,880 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 11:26:49 BoogieIcfgContainer [2022-04-08 11:26:49,880 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 11:26:49,888 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 11:26:49,888 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 11:26:49,890 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 11:26:49,890 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 11:26:49" (1/3) ... [2022-04-08 11:26:49,891 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5796fa4a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 11:26:49, skipping insertion in model container [2022-04-08 11:26:49,891 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 11:26:49" (2/3) ... [2022-04-08 11:26:49,891 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5796fa4a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 11:26:49, skipping insertion in model container [2022-04-08 11:26:49,891 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 11:26:49" (3/3) ... [2022-04-08 11:26:49,892 INFO L111 eAbstractionObserver]: Analyzing ICFG cohendiv-ll_valuebound50.c [2022-04-08 11:26:49,895 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 11:26:49,895 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 11:26:49,920 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 11:26:49,924 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 11:26:49,924 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 11:26:49,937 INFO L276 IsEmpty]: Start isEmpty. Operand has 39 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 22 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 11:26:49,941 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 11:26:49,941 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:26:49,942 INFO L499 BasicCegarLoop]: trace histogram [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 11:26:49,942 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:26:49,945 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:26:49,945 INFO L85 PathProgramCache]: Analyzing trace with hash -1768835633, now seen corresponding path program 1 times [2022-04-08 11:26:49,950 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:26:49,950 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1574334559] [2022-04-08 11:26:49,957 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:26:49,957 INFO L85 PathProgramCache]: Analyzing trace with hash -1768835633, now seen corresponding path program 2 times [2022-04-08 11:26:49,959 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:26:49,959 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1428732102] [2022-04-08 11:26:49,960 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:26:49,960 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:26:50,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:26:50,131 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 11:26:50,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:26:50,159 INFO L290 TraceCheckUtils]: 0: Hoare triple {59#(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(14, 2);call #Ultimate.allocInit(12, 3); {42#true} is VALID [2022-04-08 11:26:50,159 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-08 11:26:50,159 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-08 11:26:50,160 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 11:26:50,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:26:50,180 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-08 11:26:50,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-08 11:26:50,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-08 11:26:50,181 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-08 11:26:50,182 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 11:26:50,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:26:50,190 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-08 11:26:50,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-08 11:26:50,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-08 11:26:50,191 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-08 11:26:50,191 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 11:26:50,197 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:26:50,207 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-08 11:26:50,207 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-08 11:26:50,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-08 11:26:50,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-08 11:26:50,209 INFO L272 TraceCheckUtils]: 0: Hoare triple {42#true} call ULTIMATE.init(); {59#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 11:26:50,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {59#(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(14, 2);call #Ultimate.allocInit(12, 3); {42#true} is VALID [2022-04-08 11:26:50,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-08 11:26:50,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-08 11:26:50,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {42#true} call #t~ret6 := main(); {42#true} is VALID [2022-04-08 11:26:50,210 INFO L290 TraceCheckUtils]: 5: Hoare triple {42#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {42#true} is VALID [2022-04-08 11:26:50,211 INFO L272 TraceCheckUtils]: 6: Hoare triple {42#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {42#true} is VALID [2022-04-08 11:26:50,211 INFO L290 TraceCheckUtils]: 7: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-08 11:26:50,211 INFO L290 TraceCheckUtils]: 8: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-08 11:26:50,211 INFO L290 TraceCheckUtils]: 9: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-08 11:26:50,212 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-08 11:26:50,212 INFO L290 TraceCheckUtils]: 11: Hoare triple {43#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {43#false} is VALID [2022-04-08 11:26:50,212 INFO L272 TraceCheckUtils]: 12: Hoare triple {43#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {42#true} is VALID [2022-04-08 11:26:50,212 INFO L290 TraceCheckUtils]: 13: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-08 11:26:50,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-08 11:26:50,213 INFO L290 TraceCheckUtils]: 15: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-08 11:26:50,214 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-08 11:26:50,214 INFO L272 TraceCheckUtils]: 17: Hoare triple {43#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {42#true} is VALID [2022-04-08 11:26:50,214 INFO L290 TraceCheckUtils]: 18: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-08 11:26:50,214 INFO L290 TraceCheckUtils]: 19: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-08 11:26:50,214 INFO L290 TraceCheckUtils]: 20: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-08 11:26:50,215 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-08 11:26:50,216 INFO L290 TraceCheckUtils]: 22: Hoare triple {43#false} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {43#false} is VALID [2022-04-08 11:26:50,216 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#false} assume false; {43#false} is VALID [2022-04-08 11:26:50,216 INFO L272 TraceCheckUtils]: 24: Hoare triple {43#false} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {43#false} is VALID [2022-04-08 11:26:50,216 INFO L290 TraceCheckUtils]: 25: Hoare triple {43#false} ~cond := #in~cond; {43#false} is VALID [2022-04-08 11:26:50,217 INFO L290 TraceCheckUtils]: 26: Hoare triple {43#false} assume 0 == ~cond; {43#false} is VALID [2022-04-08 11:26:50,217 INFO L290 TraceCheckUtils]: 27: Hoare triple {43#false} assume !false; {43#false} is VALID [2022-04-08 11:26:50,217 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 11:26:50,218 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:26:50,218 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1428732102] [2022-04-08 11:26:50,219 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1428732102] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:26:50,219 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:26:50,219 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 11:26:50,221 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:26:50,222 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1574334559] [2022-04-08 11:26:50,222 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1574334559] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:26:50,223 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:26:50,223 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 11:26:50,223 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1681229891] [2022-04-08 11:26:50,224 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:26:50,228 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 11:26:50,229 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:26:50,232 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:26:50,258 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:26:50,258 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 11:26:50,258 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:26:50,278 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 11:26:50,279 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 11:26:50,281 INFO L87 Difference]: Start difference. First operand has 39 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 22 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:26:50,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:50,451 INFO L93 Difference]: Finished difference Result 71 states and 110 transitions. [2022-04-08 11:26:50,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 11:26:50,451 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-08 11:26:50,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:26:50,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:26:50,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-08 11:26:50,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:26:50,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-08 11:26:50,472 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-08 11:26:50,579 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:26:50,588 INFO L225 Difference]: With dead ends: 71 [2022-04-08 11:26:50,588 INFO L226 Difference]: Without dead ends: 34 [2022-04-08 11:26:50,591 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 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 11:26:50,594 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 11:26:50,596 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 11:26:50,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-08 11:26:50,627 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-08 11:26:50,627 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:26:50,628 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 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 11:26:50,628 INFO L74 IsIncluded]: Start isIncluded. First operand 34 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 11:26:50,630 INFO L87 Difference]: Start difference. First operand 34 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 11:26:50,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:50,640 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-08 11:26:50,640 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-08 11:26:50,641 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:26:50,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:26:50,641 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 34 states. [2022-04-08 11:26:50,642 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 34 states. [2022-04-08 11:26:50,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:50,644 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-08 11:26:50,644 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-08 11:26:50,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:26:50,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:26:50,645 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:26:50,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:26:50,645 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 11:26:50,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-08 11:26:50,648 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 28 [2022-04-08 11:26:50,648 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:26:50,648 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-08 11:26:50,649 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 11:26:50,649 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 43 transitions. [2022-04-08 11:26:50,686 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 11:26:50,686 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-08 11:26:50,687 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 11:26:50,687 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:26:50,687 INFO L499 BasicCegarLoop]: trace histogram [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 11:26:50,687 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 11:26:50,687 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:26:50,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:26:50,688 INFO L85 PathProgramCache]: Analyzing trace with hash 1378913883, now seen corresponding path program 1 times [2022-04-08 11:26:50,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:26:50,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [334228187] [2022-04-08 11:26:50,689 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:26:50,689 INFO L85 PathProgramCache]: Analyzing trace with hash 1378913883, now seen corresponding path program 2 times [2022-04-08 11:26:50,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:26:50,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [390574369] [2022-04-08 11:26:50,689 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:26:50,689 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:26:50,704 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:26:50,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [628631916] [2022-04-08 11:26:50,705 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:26:50,705 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:26:50,705 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:26:50,707 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 11:26:50,708 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 11:26:50,746 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 11:26:50,746 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:26:50,748 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 11:26:50,758 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:26:50,761 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:26:50,895 INFO L272 TraceCheckUtils]: 0: Hoare triple {340#true} call ULTIMATE.init(); {340#true} is VALID [2022-04-08 11:26:50,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {340#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(14, 2);call #Ultimate.allocInit(12, 3); {340#true} is VALID [2022-04-08 11:26:50,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {340#true} assume true; {340#true} is VALID [2022-04-08 11:26:50,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {340#true} {340#true} #98#return; {340#true} is VALID [2022-04-08 11:26:50,896 INFO L272 TraceCheckUtils]: 4: Hoare triple {340#true} call #t~ret6 := main(); {340#true} is VALID [2022-04-08 11:26:50,896 INFO L290 TraceCheckUtils]: 5: Hoare triple {340#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {340#true} is VALID [2022-04-08 11:26:50,905 INFO L272 TraceCheckUtils]: 6: Hoare triple {340#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {340#true} is VALID [2022-04-08 11:26:50,905 INFO L290 TraceCheckUtils]: 7: Hoare triple {340#true} ~cond := #in~cond; {340#true} is VALID [2022-04-08 11:26:50,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {340#true} assume !(0 == ~cond); {340#true} is VALID [2022-04-08 11:26:50,906 INFO L290 TraceCheckUtils]: 9: Hoare triple {340#true} assume true; {340#true} is VALID [2022-04-08 11:26:50,906 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {340#true} {340#true} #78#return; {340#true} is VALID [2022-04-08 11:26:50,906 INFO L290 TraceCheckUtils]: 11: Hoare triple {340#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {340#true} is VALID [2022-04-08 11:26:50,906 INFO L272 TraceCheckUtils]: 12: Hoare triple {340#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {340#true} is VALID [2022-04-08 11:26:50,906 INFO L290 TraceCheckUtils]: 13: Hoare triple {340#true} ~cond := #in~cond; {340#true} is VALID [2022-04-08 11:26:50,907 INFO L290 TraceCheckUtils]: 14: Hoare triple {340#true} assume !(0 == ~cond); {340#true} is VALID [2022-04-08 11:26:50,907 INFO L290 TraceCheckUtils]: 15: Hoare triple {340#true} assume true; {340#true} is VALID [2022-04-08 11:26:50,907 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {340#true} {340#true} #80#return; {340#true} is VALID [2022-04-08 11:26:50,907 INFO L272 TraceCheckUtils]: 17: Hoare triple {340#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {340#true} is VALID [2022-04-08 11:26:50,907 INFO L290 TraceCheckUtils]: 18: Hoare triple {340#true} ~cond := #in~cond; {340#true} is VALID [2022-04-08 11:26:50,907 INFO L290 TraceCheckUtils]: 19: Hoare triple {340#true} assume !(0 == ~cond); {340#true} is VALID [2022-04-08 11:26:50,908 INFO L290 TraceCheckUtils]: 20: Hoare triple {340#true} assume true; {340#true} is VALID [2022-04-08 11:26:50,908 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {340#true} {340#true} #82#return; {340#true} is VALID [2022-04-08 11:26:50,910 INFO L290 TraceCheckUtils]: 22: Hoare triple {340#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {411#(and (= main_~a~0 0) (= main_~b~0 0))} is VALID [2022-04-08 11:26:50,911 INFO L290 TraceCheckUtils]: 23: Hoare triple {411#(and (= main_~a~0 0) (= main_~b~0 0))} assume !false; {411#(and (= main_~a~0 0) (= main_~b~0 0))} is VALID [2022-04-08 11:26:50,911 INFO L272 TraceCheckUtils]: 24: Hoare triple {411#(and (= main_~a~0 0) (= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {418#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:26:50,912 INFO L290 TraceCheckUtils]: 25: Hoare triple {418#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {422#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:26:50,912 INFO L290 TraceCheckUtils]: 26: Hoare triple {422#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {341#false} is VALID [2022-04-08 11:26:50,912 INFO L290 TraceCheckUtils]: 27: Hoare triple {341#false} assume !false; {341#false} is VALID [2022-04-08 11:26:50,913 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-08 11:26:50,913 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 11:26:50,913 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:26:50,913 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [390574369] [2022-04-08 11:26:50,913 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:26:50,913 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [628631916] [2022-04-08 11:26:50,914 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [628631916] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:26:50,914 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:26:50,914 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 11:26:50,915 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:26:50,915 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [334228187] [2022-04-08 11:26:50,915 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [334228187] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:26:50,915 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:26:50,915 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 11:26:50,915 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1339293880] [2022-04-08 11:26:50,915 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:26:50,916 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-08 11:26:50,916 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:26:50,916 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 11:26:50,933 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:26:50,934 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 11:26:50,934 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:26:50,935 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 11:26:50,935 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 11:26:50,935 INFO L87 Difference]: Start difference. First operand 34 states and 43 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 11:26:51,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:51,084 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 11:26:51,084 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 11:26:51,085 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-08 11:26:51,085 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:26:51,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 11:26:51,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-04-08 11:26:51,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 11:26:51,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-04-08 11:26:51,089 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2022-04-08 11:26:51,128 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:26:51,129 INFO L225 Difference]: With dead ends: 45 [2022-04-08 11:26:51,130 INFO L226 Difference]: Without dead ends: 43 [2022-04-08 11:26:51,130 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 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 11:26:51,131 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 6 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 28 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 28 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 28 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 11:26:51,137 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 149 Invalid, 28 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 28 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 11:26:51,142 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-08 11:26:51,154 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 40. [2022-04-08 11:26:51,154 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:26:51,155 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 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 11:26:51,155 INFO L74 IsIncluded]: Start isIncluded. First operand 43 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 11:26:51,157 INFO L87 Difference]: Start difference. First operand 43 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 11:26:51,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:51,164 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-08 11:26:51,164 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-08 11:26:51,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:26:51,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:26:51,169 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 43 states. [2022-04-08 11:26:51,170 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 43 states. [2022-04-08 11:26:51,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:51,172 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-08 11:26:51,172 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-08 11:26:51,173 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:26:51,173 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:26:51,173 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:26:51,173 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:26:51,173 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 11:26:51,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 49 transitions. [2022-04-08 11:26:51,175 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 49 transitions. Word has length 28 [2022-04-08 11:26:51,175 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:26:51,175 INFO L478 AbstractCegarLoop]: Abstraction has 40 states and 49 transitions. [2022-04-08 11:26:51,176 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 11:26:51,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 49 transitions. [2022-04-08 11:26:51,223 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 11:26:51,224 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2022-04-08 11:26:51,225 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 11:26:51,225 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:26:51,225 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:26:51,244 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 11:26:51,441 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 11:26:51,442 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:26:51,442 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:26:51,442 INFO L85 PathProgramCache]: Analyzing trace with hash -1928335320, now seen corresponding path program 1 times [2022-04-08 11:26:51,442 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:26:51,442 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [224707130] [2022-04-08 11:26:51,443 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:26:51,443 INFO L85 PathProgramCache]: Analyzing trace with hash -1928335320, now seen corresponding path program 2 times [2022-04-08 11:26:51,443 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:26:51,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1443770278] [2022-04-08 11:26:51,443 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:26:51,443 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:26:51,466 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:26:51,466 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [56973929] [2022-04-08 11:26:51,466 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:26:51,467 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:26:51,467 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:26:51,468 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 11:26:51,469 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 11:26:51,513 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:26:51,514 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:26:51,514 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-08 11:26:51,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:26:51,524 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:26:51,782 INFO L272 TraceCheckUtils]: 0: Hoare triple {686#true} call ULTIMATE.init(); {686#true} is VALID [2022-04-08 11:26:51,783 INFO L290 TraceCheckUtils]: 1: Hoare triple {686#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(14, 2);call #Ultimate.allocInit(12, 3); {686#true} is VALID [2022-04-08 11:26:51,783 INFO L290 TraceCheckUtils]: 2: Hoare triple {686#true} assume true; {686#true} is VALID [2022-04-08 11:26:51,783 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {686#true} {686#true} #98#return; {686#true} is VALID [2022-04-08 11:26:51,783 INFO L272 TraceCheckUtils]: 4: Hoare triple {686#true} call #t~ret6 := main(); {686#true} is VALID [2022-04-08 11:26:51,784 INFO L290 TraceCheckUtils]: 5: Hoare triple {686#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {686#true} is VALID [2022-04-08 11:26:51,784 INFO L272 TraceCheckUtils]: 6: Hoare triple {686#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {686#true} is VALID [2022-04-08 11:26:51,784 INFO L290 TraceCheckUtils]: 7: Hoare triple {686#true} ~cond := #in~cond; {686#true} is VALID [2022-04-08 11:26:51,784 INFO L290 TraceCheckUtils]: 8: Hoare triple {686#true} assume !(0 == ~cond); {686#true} is VALID [2022-04-08 11:26:51,784 INFO L290 TraceCheckUtils]: 9: Hoare triple {686#true} assume true; {686#true} is VALID [2022-04-08 11:26:51,784 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {686#true} {686#true} #78#return; {686#true} is VALID [2022-04-08 11:26:51,784 INFO L290 TraceCheckUtils]: 11: Hoare triple {686#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {686#true} is VALID [2022-04-08 11:26:51,785 INFO L272 TraceCheckUtils]: 12: Hoare triple {686#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {686#true} is VALID [2022-04-08 11:26:51,785 INFO L290 TraceCheckUtils]: 13: Hoare triple {686#true} ~cond := #in~cond; {730#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 11:26:51,785 INFO L290 TraceCheckUtils]: 14: Hoare triple {730#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {734#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 11:26:51,786 INFO L290 TraceCheckUtils]: 15: Hoare triple {734#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {734#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 11:26:51,787 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {734#(not (= |assume_abort_if_not_#in~cond| 0))} {686#true} #80#return; {741#(and (<= 0 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-08 11:26:51,787 INFO L272 TraceCheckUtils]: 17: Hoare triple {741#(and (<= 0 main_~y~0) (<= main_~y~0 50))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {686#true} is VALID [2022-04-08 11:26:51,788 INFO L290 TraceCheckUtils]: 18: Hoare triple {686#true} ~cond := #in~cond; {730#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 11:26:51,789 INFO L290 TraceCheckUtils]: 19: Hoare triple {730#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {734#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 11:26:51,789 INFO L290 TraceCheckUtils]: 20: Hoare triple {734#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {734#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 11:26:51,790 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {734#(not (= |assume_abort_if_not_#in~cond| 0))} {741#(and (<= 0 main_~y~0) (<= main_~y~0 50))} #82#return; {757#(and (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-08 11:26:51,790 INFO L290 TraceCheckUtils]: 22: Hoare triple {757#(and (<= 1 main_~y~0) (<= main_~y~0 50))} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-08 11:26:51,791 INFO L290 TraceCheckUtils]: 23: Hoare triple {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 50))} assume !false; {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-08 11:26:51,791 INFO L272 TraceCheckUtils]: 24: Hoare triple {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 50))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {686#true} is VALID [2022-04-08 11:26:51,791 INFO L290 TraceCheckUtils]: 25: Hoare triple {686#true} ~cond := #in~cond; {686#true} is VALID [2022-04-08 11:26:51,791 INFO L290 TraceCheckUtils]: 26: Hoare triple {686#true} assume !(0 == ~cond); {686#true} is VALID [2022-04-08 11:26:51,791 INFO L290 TraceCheckUtils]: 27: Hoare triple {686#true} assume true; {686#true} is VALID [2022-04-08 11:26:51,792 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {686#true} {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 50))} #84#return; {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-08 11:26:51,792 INFO L272 TraceCheckUtils]: 29: Hoare triple {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 50))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {783#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:26:51,793 INFO L290 TraceCheckUtils]: 30: Hoare triple {783#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {787#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:26:51,795 INFO L290 TraceCheckUtils]: 31: Hoare triple {787#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {687#false} is VALID [2022-04-08 11:26:51,795 INFO L290 TraceCheckUtils]: 32: Hoare triple {687#false} assume !false; {687#false} is VALID [2022-04-08 11:26:51,795 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 11:26:51,795 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 11:26:51,796 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:26:51,796 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1443770278] [2022-04-08 11:26:51,796 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:26:51,796 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [56973929] [2022-04-08 11:26:51,796 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [56973929] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:26:51,796 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:26:51,796 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 11:26:51,796 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:26:51,796 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [224707130] [2022-04-08 11:26:51,797 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [224707130] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:26:51,797 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:26:51,797 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 11:26:51,797 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1199512565] [2022-04-08 11:26:51,797 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:26:51,797 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 33 [2022-04-08 11:26:51,797 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:26:51,798 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 11:26:51,815 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 11:26:51,815 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 11:26:51,815 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:26:51,816 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 11:26:51,816 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-08 11:26:51,816 INFO L87 Difference]: Start difference. First operand 40 states and 49 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 11:26:52,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:52,208 INFO L93 Difference]: Finished difference Result 57 states and 72 transitions. [2022-04-08 11:26:52,208 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 11:26:52,208 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 33 [2022-04-08 11:26:52,208 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:26:52,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 11:26:52,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 69 transitions. [2022-04-08 11:26:52,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 11:26:52,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 69 transitions. [2022-04-08 11:26:52,214 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 69 transitions. [2022-04-08 11:26:52,274 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 11:26:52,275 INFO L225 Difference]: With dead ends: 57 [2022-04-08 11:26:52,275 INFO L226 Difference]: Without dead ends: 54 [2022-04-08 11:26:52,275 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-08 11:26:52,276 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 29 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 143 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 152 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 143 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 11:26:52,276 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 180 Invalid, 152 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 143 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 11:26:52,277 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-08 11:26:52,314 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 53. [2022-04-08 11:26:52,314 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:26:52,315 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 53 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 11:26:52,315 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 53 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 11:26:52,315 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 53 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 11:26:52,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:52,318 INFO L93 Difference]: Finished difference Result 54 states and 68 transitions. [2022-04-08 11:26:52,318 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 68 transitions. [2022-04-08 11:26:52,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:26:52,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:26:52,319 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 54 states. [2022-04-08 11:26:52,319 INFO L87 Difference]: Start difference. First operand has 53 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 54 states. [2022-04-08 11:26:52,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:52,321 INFO L93 Difference]: Finished difference Result 54 states and 68 transitions. [2022-04-08 11:26:52,321 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 68 transitions. [2022-04-08 11:26:52,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:26:52,321 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:26:52,321 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:26:52,321 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:26:52,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-08 11:26:52,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 67 transitions. [2022-04-08 11:26:52,323 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 67 transitions. Word has length 33 [2022-04-08 11:26:52,324 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:26:52,324 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 67 transitions. [2022-04-08 11:26:52,324 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 11:26:52,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 67 transitions. [2022-04-08 11:26:52,388 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:26:52,389 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 67 transitions. [2022-04-08 11:26:52,389 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-08 11:26:52,389 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:26:52,389 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:26:52,405 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 11:26:52,595 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 11:26:52,596 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:26:52,596 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:26:52,596 INFO L85 PathProgramCache]: Analyzing trace with hash -1297647068, now seen corresponding path program 1 times [2022-04-08 11:26:52,596 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:26:52,596 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [969660487] [2022-04-08 11:26:52,597 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:26:52,597 INFO L85 PathProgramCache]: Analyzing trace with hash -1297647068, now seen corresponding path program 2 times [2022-04-08 11:26:52,597 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:26:52,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1360966481] [2022-04-08 11:26:52,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:26:52,597 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:26:52,611 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:26:52,611 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [744857949] [2022-04-08 11:26:52,611 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:26:52,611 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:26:52,611 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:26:52,612 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 11:26:52,613 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 11:26:52,651 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:26:52,652 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:26:52,652 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 11:26:52,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:26:52,661 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:26:52,763 INFO L272 TraceCheckUtils]: 0: Hoare triple {1125#true} call ULTIMATE.init(); {1125#true} is VALID [2022-04-08 11:26:52,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {1125#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(14, 2);call #Ultimate.allocInit(12, 3); {1125#true} is VALID [2022-04-08 11:26:52,764 INFO L290 TraceCheckUtils]: 2: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-08 11:26:52,764 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1125#true} {1125#true} #98#return; {1125#true} is VALID [2022-04-08 11:26:52,764 INFO L272 TraceCheckUtils]: 4: Hoare triple {1125#true} call #t~ret6 := main(); {1125#true} is VALID [2022-04-08 11:26:52,764 INFO L290 TraceCheckUtils]: 5: Hoare triple {1125#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1125#true} is VALID [2022-04-08 11:26:52,764 INFO L272 TraceCheckUtils]: 6: Hoare triple {1125#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {1125#true} is VALID [2022-04-08 11:26:52,764 INFO L290 TraceCheckUtils]: 7: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-08 11:26:52,764 INFO L290 TraceCheckUtils]: 8: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-08 11:26:52,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-08 11:26:52,765 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1125#true} {1125#true} #78#return; {1125#true} is VALID [2022-04-08 11:26:52,765 INFO L290 TraceCheckUtils]: 11: Hoare triple {1125#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1125#true} is VALID [2022-04-08 11:26:52,765 INFO L272 TraceCheckUtils]: 12: Hoare triple {1125#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {1125#true} is VALID [2022-04-08 11:26:52,765 INFO L290 TraceCheckUtils]: 13: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-08 11:26:52,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-08 11:26:52,765 INFO L290 TraceCheckUtils]: 15: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-08 11:26:52,765 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1125#true} {1125#true} #80#return; {1125#true} is VALID [2022-04-08 11:26:52,765 INFO L272 TraceCheckUtils]: 17: Hoare triple {1125#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1125#true} is VALID [2022-04-08 11:26:52,766 INFO L290 TraceCheckUtils]: 18: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-08 11:26:52,766 INFO L290 TraceCheckUtils]: 19: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-08 11:26:52,766 INFO L290 TraceCheckUtils]: 20: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-08 11:26:52,766 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1125#true} {1125#true} #82#return; {1125#true} is VALID [2022-04-08 11:26:52,766 INFO L290 TraceCheckUtils]: 22: Hoare triple {1125#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {1125#true} is VALID [2022-04-08 11:26:52,766 INFO L290 TraceCheckUtils]: 23: Hoare triple {1125#true} assume !false; {1125#true} is VALID [2022-04-08 11:26:52,766 INFO L272 TraceCheckUtils]: 24: Hoare triple {1125#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {1125#true} is VALID [2022-04-08 11:26:52,766 INFO L290 TraceCheckUtils]: 25: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-08 11:26:52,766 INFO L290 TraceCheckUtils]: 26: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-08 11:26:52,767 INFO L290 TraceCheckUtils]: 27: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-08 11:26:52,767 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1125#true} {1125#true} #84#return; {1125#true} is VALID [2022-04-08 11:26:52,767 INFO L272 TraceCheckUtils]: 29: Hoare triple {1125#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {1125#true} is VALID [2022-04-08 11:26:52,767 INFO L290 TraceCheckUtils]: 30: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-08 11:26:52,767 INFO L290 TraceCheckUtils]: 31: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-08 11:26:52,767 INFO L290 TraceCheckUtils]: 32: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-08 11:26:52,767 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1125#true} {1125#true} #86#return; {1125#true} is VALID [2022-04-08 11:26:52,775 INFO L290 TraceCheckUtils]: 34: Hoare triple {1125#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {1232#(and (= main_~a~0 1) (= main_~b~0 main_~y~0))} is VALID [2022-04-08 11:26:52,776 INFO L290 TraceCheckUtils]: 35: Hoare triple {1232#(and (= main_~a~0 1) (= main_~b~0 main_~y~0))} assume !false; {1232#(and (= main_~a~0 1) (= main_~b~0 main_~y~0))} is VALID [2022-04-08 11:26:52,776 INFO L272 TraceCheckUtils]: 36: Hoare triple {1232#(and (= main_~a~0 1) (= main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {1239#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:26:52,777 INFO L290 TraceCheckUtils]: 37: Hoare triple {1239#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1243#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:26:52,777 INFO L290 TraceCheckUtils]: 38: Hoare triple {1243#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1126#false} is VALID [2022-04-08 11:26:52,777 INFO L290 TraceCheckUtils]: 39: Hoare triple {1126#false} assume !false; {1126#false} is VALID [2022-04-08 11:26:52,777 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 11:26:52,777 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 11:26:52,778 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:26:52,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1360966481] [2022-04-08 11:26:52,778 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:26:52,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [744857949] [2022-04-08 11:26:52,778 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [744857949] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:26:52,786 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:26:52,786 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 11:26:52,786 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:26:52,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [969660487] [2022-04-08 11:26:52,787 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [969660487] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:26:52,787 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:26:52,787 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 11:26:52,788 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1494130392] [2022-04-08 11:26:52,788 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:26:52,788 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 40 [2022-04-08 11:26:52,788 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:26:52,788 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 11:26:52,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:26:52,807 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 11:26:52,807 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:26:52,807 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 11:26:52,808 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 11:26:52,808 INFO L87 Difference]: Start difference. First operand 53 states and 67 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 11:26:53,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:53,008 INFO L93 Difference]: Finished difference Result 79 states and 105 transitions. [2022-04-08 11:26:53,008 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 11:26:53,008 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 40 [2022-04-08 11:26:53,009 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:26:53,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 11:26:53,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 69 transitions. [2022-04-08 11:26:53,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 11:26:53,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 69 transitions. [2022-04-08 11:26:53,011 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 69 transitions. [2022-04-08 11:26:53,057 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 11:26:53,059 INFO L225 Difference]: With dead ends: 79 [2022-04-08 11:26:53,059 INFO L226 Difference]: Without dead ends: 77 [2022-04-08 11:26:53,059 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 36 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 11:26:53,060 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 10 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 65 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 11:26:53,060 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 144 Invalid, 65 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 11:26:53,060 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-08 11:26:53,106 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 70. [2022-04-08 11:26:53,106 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:26:53,107 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 70 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 40 states have internal predecessors, (44), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 11:26:53,107 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 70 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 40 states have internal predecessors, (44), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 11:26:53,107 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 70 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 40 states have internal predecessors, (44), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 11:26:53,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:53,110 INFO L93 Difference]: Finished difference Result 77 states and 103 transitions. [2022-04-08 11:26:53,110 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 103 transitions. [2022-04-08 11:26:53,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:26:53,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:26:53,111 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 40 states have internal predecessors, (44), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 77 states. [2022-04-08 11:26:53,111 INFO L87 Difference]: Start difference. First operand has 70 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 40 states have internal predecessors, (44), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 77 states. [2022-04-08 11:26:53,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:53,114 INFO L93 Difference]: Finished difference Result 77 states and 103 transitions. [2022-04-08 11:26:53,114 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 103 transitions. [2022-04-08 11:26:53,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:26:53,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:26:53,115 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:26:53,115 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:26:53,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 40 states have internal predecessors, (44), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 11:26:53,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 92 transitions. [2022-04-08 11:26:53,117 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 92 transitions. Word has length 40 [2022-04-08 11:26:53,117 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:26:53,117 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 92 transitions. [2022-04-08 11:26:53,118 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-08 11:26:53,118 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 92 transitions. [2022-04-08 11:26:53,200 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:26:53,201 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 92 transitions. [2022-04-08 11:26:53,201 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 11:26:53,201 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:26:53,201 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:26:53,220 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 11:26:53,414 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 11:26:53,415 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:26:53,415 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:26:53,415 INFO L85 PathProgramCache]: Analyzing trace with hash -391974204, now seen corresponding path program 1 times [2022-04-08 11:26:53,415 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:26:53,415 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2003528762] [2022-04-08 11:26:53,416 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:26:53,416 INFO L85 PathProgramCache]: Analyzing trace with hash -391974204, now seen corresponding path program 2 times [2022-04-08 11:26:53,416 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:26:53,416 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [898312769] [2022-04-08 11:26:53,416 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:26:53,416 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:26:53,430 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:26:53,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1202000097] [2022-04-08 11:26:53,430 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:26:53,430 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:26:53,431 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:26:53,442 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 11:26:53,443 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 11:26:53,482 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:26:53,483 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:26:53,483 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 11:26:53,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:26:53,498 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:26:53,659 INFO L272 TraceCheckUtils]: 0: Hoare triple {1703#true} call ULTIMATE.init(); {1703#true} is VALID [2022-04-08 11:26:53,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {1703#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(14, 2);call #Ultimate.allocInit(12, 3); {1703#true} is VALID [2022-04-08 11:26:53,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-08 11:26:53,659 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1703#true} {1703#true} #98#return; {1703#true} is VALID [2022-04-08 11:26:53,659 INFO L272 TraceCheckUtils]: 4: Hoare triple {1703#true} call #t~ret6 := main(); {1703#true} is VALID [2022-04-08 11:26:53,659 INFO L290 TraceCheckUtils]: 5: Hoare triple {1703#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1703#true} is VALID [2022-04-08 11:26:53,660 INFO L272 TraceCheckUtils]: 6: Hoare triple {1703#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {1703#true} is VALID [2022-04-08 11:26:53,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {1703#true} ~cond := #in~cond; {1703#true} is VALID [2022-04-08 11:26:53,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {1703#true} assume !(0 == ~cond); {1703#true} is VALID [2022-04-08 11:26:53,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-08 11:26:53,660 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1703#true} {1703#true} #78#return; {1703#true} is VALID [2022-04-08 11:26:53,660 INFO L290 TraceCheckUtils]: 11: Hoare triple {1703#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1703#true} is VALID [2022-04-08 11:26:53,660 INFO L272 TraceCheckUtils]: 12: Hoare triple {1703#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {1703#true} is VALID [2022-04-08 11:26:53,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {1703#true} ~cond := #in~cond; {1703#true} is VALID [2022-04-08 11:26:53,660 INFO L290 TraceCheckUtils]: 14: Hoare triple {1703#true} assume !(0 == ~cond); {1703#true} is VALID [2022-04-08 11:26:53,660 INFO L290 TraceCheckUtils]: 15: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-08 11:26:53,661 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1703#true} {1703#true} #80#return; {1703#true} is VALID [2022-04-08 11:26:53,661 INFO L272 TraceCheckUtils]: 17: Hoare triple {1703#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1703#true} is VALID [2022-04-08 11:26:53,661 INFO L290 TraceCheckUtils]: 18: Hoare triple {1703#true} ~cond := #in~cond; {1762#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 11:26:53,661 INFO L290 TraceCheckUtils]: 19: Hoare triple {1762#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1766#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 11:26:53,662 INFO L290 TraceCheckUtils]: 20: Hoare triple {1766#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1766#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 11:26:53,662 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1766#(not (= |assume_abort_if_not_#in~cond| 0))} {1703#true} #82#return; {1773#(<= 1 main_~y~0)} is VALID [2022-04-08 11:26:53,662 INFO L290 TraceCheckUtils]: 22: Hoare triple {1773#(<= 1 main_~y~0)} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {1773#(<= 1 main_~y~0)} is VALID [2022-04-08 11:26:53,663 INFO L290 TraceCheckUtils]: 23: Hoare triple {1773#(<= 1 main_~y~0)} assume !false; {1773#(<= 1 main_~y~0)} is VALID [2022-04-08 11:26:53,663 INFO L272 TraceCheckUtils]: 24: Hoare triple {1773#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {1703#true} is VALID [2022-04-08 11:26:53,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {1703#true} ~cond := #in~cond; {1703#true} is VALID [2022-04-08 11:26:53,663 INFO L290 TraceCheckUtils]: 26: Hoare triple {1703#true} assume !(0 == ~cond); {1703#true} is VALID [2022-04-08 11:26:53,664 INFO L290 TraceCheckUtils]: 27: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-08 11:26:53,665 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1703#true} {1773#(<= 1 main_~y~0)} #84#return; {1773#(<= 1 main_~y~0)} is VALID [2022-04-08 11:26:53,665 INFO L272 TraceCheckUtils]: 29: Hoare triple {1773#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {1703#true} is VALID [2022-04-08 11:26:53,665 INFO L290 TraceCheckUtils]: 30: Hoare triple {1703#true} ~cond := #in~cond; {1703#true} is VALID [2022-04-08 11:26:53,665 INFO L290 TraceCheckUtils]: 31: Hoare triple {1703#true} assume !(0 == ~cond); {1703#true} is VALID [2022-04-08 11:26:53,665 INFO L290 TraceCheckUtils]: 32: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-08 11:26:53,666 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1703#true} {1773#(<= 1 main_~y~0)} #86#return; {1773#(<= 1 main_~y~0)} is VALID [2022-04-08 11:26:53,668 INFO L290 TraceCheckUtils]: 34: Hoare triple {1773#(<= 1 main_~y~0)} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {1813#(<= 1 main_~r~0)} is VALID [2022-04-08 11:26:53,668 INFO L290 TraceCheckUtils]: 35: Hoare triple {1813#(<= 1 main_~r~0)} assume !false; {1813#(<= 1 main_~r~0)} is VALID [2022-04-08 11:26:53,668 INFO L272 TraceCheckUtils]: 36: Hoare triple {1813#(<= 1 main_~r~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {1703#true} is VALID [2022-04-08 11:26:53,669 INFO L290 TraceCheckUtils]: 37: Hoare triple {1703#true} ~cond := #in~cond; {1703#true} is VALID [2022-04-08 11:26:53,669 INFO L290 TraceCheckUtils]: 38: Hoare triple {1703#true} assume !(0 == ~cond); {1703#true} is VALID [2022-04-08 11:26:53,669 INFO L290 TraceCheckUtils]: 39: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-08 11:26:53,670 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {1703#true} {1813#(<= 1 main_~r~0)} #88#return; {1813#(<= 1 main_~r~0)} is VALID [2022-04-08 11:26:53,670 INFO L272 TraceCheckUtils]: 41: Hoare triple {1813#(<= 1 main_~r~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {1703#true} is VALID [2022-04-08 11:26:53,670 INFO L290 TraceCheckUtils]: 42: Hoare triple {1703#true} ~cond := #in~cond; {1703#true} is VALID [2022-04-08 11:26:53,670 INFO L290 TraceCheckUtils]: 43: Hoare triple {1703#true} assume !(0 == ~cond); {1703#true} is VALID [2022-04-08 11:26:53,670 INFO L290 TraceCheckUtils]: 44: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-08 11:26:53,671 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1703#true} {1813#(<= 1 main_~r~0)} #90#return; {1813#(<= 1 main_~r~0)} is VALID [2022-04-08 11:26:53,671 INFO L272 TraceCheckUtils]: 46: Hoare triple {1813#(<= 1 main_~r~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {1850#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:26:53,672 INFO L290 TraceCheckUtils]: 47: Hoare triple {1850#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1854#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:26:53,672 INFO L290 TraceCheckUtils]: 48: Hoare triple {1854#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1704#false} is VALID [2022-04-08 11:26:53,672 INFO L290 TraceCheckUtils]: 49: Hoare triple {1704#false} assume !false; {1704#false} is VALID [2022-04-08 11:26:53,673 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-08 11:26:53,673 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 11:26:53,673 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:26:53,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [898312769] [2022-04-08 11:26:53,674 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:26:53,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1202000097] [2022-04-08 11:26:53,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1202000097] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:26:53,675 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:26:53,675 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 11:26:53,675 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:26:53,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2003528762] [2022-04-08 11:26:53,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2003528762] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:26:53,675 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:26:53,675 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 11:26:53,675 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [623410097] [2022-04-08 11:26:53,675 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:26:53,676 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-04-08 11:26:53,677 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:26:53,678 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 11:26:53,703 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 11:26:53,703 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 11:26:53,703 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:26:53,703 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 11:26:53,703 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-08 11:26:53,704 INFO L87 Difference]: Start difference. First operand 70 states and 92 transitions. Second operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 11:26:54,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:54,010 INFO L93 Difference]: Finished difference Result 76 states and 97 transitions. [2022-04-08 11:26:54,010 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 11:26:54,010 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-04-08 11:26:54,010 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:26:54,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 11:26:54,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-08 11:26:54,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 11:26:54,012 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-08 11:26:54,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-08 11:26:54,046 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 11:26:54,047 INFO L225 Difference]: With dead ends: 76 [2022-04-08 11:26:54,048 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 11:26:54,048 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 11:26:54,048 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 16 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 125 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 132 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 125 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 11:26:54,049 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 160 Invalid, 132 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 125 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 11:26:54,049 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 11:26:54,109 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-08 11:26:54,109 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:26:54,110 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 41 states have (on average 1.146341463414634) internal successors, (47), 43 states have internal predecessors, (47), 25 states have call successors, (25), 8 states have call predecessors, (25), 7 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 11:26:54,110 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 41 states have (on average 1.146341463414634) internal successors, (47), 43 states have internal predecessors, (47), 25 states have call successors, (25), 8 states have call predecessors, (25), 7 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 11:26:54,111 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 41 states have (on average 1.146341463414634) internal successors, (47), 43 states have internal predecessors, (47), 25 states have call successors, (25), 8 states have call predecessors, (25), 7 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 11:26:54,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:54,115 INFO L93 Difference]: Finished difference Result 74 states and 95 transitions. [2022-04-08 11:26:54,115 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-08 11:26:54,115 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:26:54,115 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:26:54,116 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 41 states have (on average 1.146341463414634) internal successors, (47), 43 states have internal predecessors, (47), 25 states have call successors, (25), 8 states have call predecessors, (25), 7 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 74 states. [2022-04-08 11:26:54,116 INFO L87 Difference]: Start difference. First operand has 74 states, 41 states have (on average 1.146341463414634) internal successors, (47), 43 states have internal predecessors, (47), 25 states have call successors, (25), 8 states have call predecessors, (25), 7 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 74 states. [2022-04-08 11:26:54,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:26:54,118 INFO L93 Difference]: Finished difference Result 74 states and 95 transitions. [2022-04-08 11:26:54,118 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-08 11:26:54,119 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:26:54,119 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:26:54,119 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:26:54,119 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:26:54,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 41 states have (on average 1.146341463414634) internal successors, (47), 43 states have internal predecessors, (47), 25 states have call successors, (25), 8 states have call predecessors, (25), 7 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 11:26:54,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 95 transitions. [2022-04-08 11:26:54,122 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 95 transitions. Word has length 50 [2022-04-08 11:26:54,123 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:26:54,123 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 95 transitions. [2022-04-08 11:26:54,123 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 11:26:54,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 95 transitions. [2022-04-08 11:26:54,217 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:26:54,217 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-08 11:26:54,217 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-08 11:26:54,217 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:26:54,218 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:26:54,234 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 11:26:54,423 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 11:26:54,423 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:26:54,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:26:54,424 INFO L85 PathProgramCache]: Analyzing trace with hash 991781023, now seen corresponding path program 1 times [2022-04-08 11:26:54,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:26:54,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1478028710] [2022-04-08 11:26:54,424 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:26:54,424 INFO L85 PathProgramCache]: Analyzing trace with hash 991781023, now seen corresponding path program 2 times [2022-04-08 11:26:54,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:26:54,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1929663517] [2022-04-08 11:26:54,425 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:26:54,425 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:26:54,455 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:26:54,456 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2002755159] [2022-04-08 11:26:54,456 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:26:54,456 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:26:54,456 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:26:54,463 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 11:26:54,464 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 11:26:54,500 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:26:54,501 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:26:54,501 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 11:26:54,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:26:54,518 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:26:54,773 INFO L272 TraceCheckUtils]: 0: Hoare triple {2314#true} call ULTIMATE.init(); {2314#true} is VALID [2022-04-08 11:26:54,773 INFO L290 TraceCheckUtils]: 1: Hoare triple {2314#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(14, 2);call #Ultimate.allocInit(12, 3); {2314#true} is VALID [2022-04-08 11:26:54,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:26:54,774 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2314#true} {2314#true} #98#return; {2314#true} is VALID [2022-04-08 11:26:54,774 INFO L272 TraceCheckUtils]: 4: Hoare triple {2314#true} call #t~ret6 := main(); {2314#true} is VALID [2022-04-08 11:26:54,774 INFO L290 TraceCheckUtils]: 5: Hoare triple {2314#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2314#true} is VALID [2022-04-08 11:26:54,774 INFO L272 TraceCheckUtils]: 6: Hoare triple {2314#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:26:54,774 INFO L290 TraceCheckUtils]: 7: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:26:54,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:26:54,774 INFO L290 TraceCheckUtils]: 9: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:26:54,774 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2314#true} {2314#true} #78#return; {2314#true} is VALID [2022-04-08 11:26:54,774 INFO L290 TraceCheckUtils]: 11: Hoare triple {2314#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2314#true} is VALID [2022-04-08 11:26:54,775 INFO L272 TraceCheckUtils]: 12: Hoare triple {2314#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:26:54,775 INFO L290 TraceCheckUtils]: 13: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:26:54,775 INFO L290 TraceCheckUtils]: 14: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:26:54,775 INFO L290 TraceCheckUtils]: 15: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:26:54,775 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2314#true} {2314#true} #80#return; {2314#true} is VALID [2022-04-08 11:26:54,775 INFO L272 TraceCheckUtils]: 17: Hoare triple {2314#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:26:54,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:26:54,775 INFO L290 TraceCheckUtils]: 19: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:26:54,775 INFO L290 TraceCheckUtils]: 20: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:26:54,775 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2314#true} {2314#true} #82#return; {2314#true} is VALID [2022-04-08 11:26:54,775 INFO L290 TraceCheckUtils]: 22: Hoare triple {2314#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {2314#true} is VALID [2022-04-08 11:26:54,776 INFO L290 TraceCheckUtils]: 23: Hoare triple {2314#true} assume !false; {2314#true} is VALID [2022-04-08 11:26:54,776 INFO L272 TraceCheckUtils]: 24: Hoare triple {2314#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:26:54,776 INFO L290 TraceCheckUtils]: 25: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:26:54,776 INFO L290 TraceCheckUtils]: 26: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:26:54,776 INFO L290 TraceCheckUtils]: 27: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:26:54,776 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2314#true} {2314#true} #84#return; {2314#true} is VALID [2022-04-08 11:26:54,776 INFO L272 TraceCheckUtils]: 29: Hoare triple {2314#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:26:54,776 INFO L290 TraceCheckUtils]: 30: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:26:54,776 INFO L290 TraceCheckUtils]: 31: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:26:54,776 INFO L290 TraceCheckUtils]: 32: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:26:54,777 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2314#true} {2314#true} #86#return; {2314#true} is VALID [2022-04-08 11:26:54,777 INFO L290 TraceCheckUtils]: 34: Hoare triple {2314#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {2314#true} is VALID [2022-04-08 11:26:54,777 INFO L290 TraceCheckUtils]: 35: Hoare triple {2314#true} assume !false; {2314#true} is VALID [2022-04-08 11:26:54,777 INFO L272 TraceCheckUtils]: 36: Hoare triple {2314#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:26:54,777 INFO L290 TraceCheckUtils]: 37: Hoare triple {2314#true} ~cond := #in~cond; {2430#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:26:54,777 INFO L290 TraceCheckUtils]: 38: Hoare triple {2430#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:26:54,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:26:54,778 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} {2314#true} #88#return; {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} is VALID [2022-04-08 11:26:54,779 INFO L272 TraceCheckUtils]: 41: Hoare triple {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:26:54,779 INFO L290 TraceCheckUtils]: 42: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:26:54,779 INFO L290 TraceCheckUtils]: 43: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:26:54,779 INFO L290 TraceCheckUtils]: 44: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:26:54,779 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2314#true} {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} #90#return; {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} is VALID [2022-04-08 11:26:54,780 INFO L272 TraceCheckUtils]: 46: Hoare triple {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:26:54,780 INFO L290 TraceCheckUtils]: 47: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:26:54,780 INFO L290 TraceCheckUtils]: 48: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:26:54,780 INFO L290 TraceCheckUtils]: 49: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:26:54,784 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2314#true} {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} #92#return; {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} is VALID [2022-04-08 11:26:54,785 INFO L290 TraceCheckUtils]: 51: Hoare triple {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} assume !!(~r~0 >= 2 * ~b~0); {2475#(<= (* 2 (* main_~a~0 main_~y~0)) main_~r~0)} is VALID [2022-04-08 11:26:54,786 INFO L272 TraceCheckUtils]: 52: Hoare triple {2475#(<= (* 2 (* main_~a~0 main_~y~0)) main_~r~0)} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {2479#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:26:54,786 INFO L290 TraceCheckUtils]: 53: Hoare triple {2479#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2483#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:26:54,786 INFO L290 TraceCheckUtils]: 54: Hoare triple {2483#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2315#false} is VALID [2022-04-08 11:26:54,786 INFO L290 TraceCheckUtils]: 55: Hoare triple {2315#false} assume !false; {2315#false} is VALID [2022-04-08 11:26:54,787 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 15 proven. 7 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-08 11:26:54,787 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:27:03,282 INFO L290 TraceCheckUtils]: 55: Hoare triple {2315#false} assume !false; {2315#false} is VALID [2022-04-08 11:27:03,283 INFO L290 TraceCheckUtils]: 54: Hoare triple {2483#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2315#false} is VALID [2022-04-08 11:27:03,284 INFO L290 TraceCheckUtils]: 53: Hoare triple {2479#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2483#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:27:03,284 INFO L272 TraceCheckUtils]: 52: Hoare triple {2475#(<= (* 2 (* main_~a~0 main_~y~0)) main_~r~0)} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {2479#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:27:03,288 INFO L290 TraceCheckUtils]: 51: Hoare triple {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} assume !!(~r~0 >= 2 * ~b~0); {2475#(<= (* 2 (* main_~a~0 main_~y~0)) main_~r~0)} is VALID [2022-04-08 11:27:03,292 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2314#true} {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} #92#return; {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} is VALID [2022-04-08 11:27:03,292 INFO L290 TraceCheckUtils]: 49: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:27:03,292 INFO L290 TraceCheckUtils]: 48: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:27:03,292 INFO L290 TraceCheckUtils]: 47: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:27:03,292 INFO L272 TraceCheckUtils]: 46: Hoare triple {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:27:03,294 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2314#true} {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} #90#return; {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} is VALID [2022-04-08 11:27:03,294 INFO L290 TraceCheckUtils]: 44: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:27:03,295 INFO L290 TraceCheckUtils]: 43: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:27:03,295 INFO L290 TraceCheckUtils]: 42: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:27:03,295 INFO L272 TraceCheckUtils]: 41: Hoare triple {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:27:03,296 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} {2314#true} #88#return; {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} is VALID [2022-04-08 11:27:03,296 INFO L290 TraceCheckUtils]: 39: Hoare triple {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:27:03,296 INFO L290 TraceCheckUtils]: 38: Hoare triple {2545#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:27:03,297 INFO L290 TraceCheckUtils]: 37: Hoare triple {2314#true} ~cond := #in~cond; {2545#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 11:27:03,297 INFO L272 TraceCheckUtils]: 36: Hoare triple {2314#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:27:03,297 INFO L290 TraceCheckUtils]: 35: Hoare triple {2314#true} assume !false; {2314#true} is VALID [2022-04-08 11:27:03,297 INFO L290 TraceCheckUtils]: 34: Hoare triple {2314#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {2314#true} is VALID [2022-04-08 11:27:03,297 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2314#true} {2314#true} #86#return; {2314#true} is VALID [2022-04-08 11:27:03,297 INFO L290 TraceCheckUtils]: 32: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:27:03,297 INFO L290 TraceCheckUtils]: 31: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:27:03,297 INFO L290 TraceCheckUtils]: 30: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:27:03,297 INFO L272 TraceCheckUtils]: 29: Hoare triple {2314#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:27:03,297 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2314#true} {2314#true} #84#return; {2314#true} is VALID [2022-04-08 11:27:03,297 INFO L290 TraceCheckUtils]: 27: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:27:03,297 INFO L290 TraceCheckUtils]: 26: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L290 TraceCheckUtils]: 25: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L272 TraceCheckUtils]: 24: Hoare triple {2314#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L290 TraceCheckUtils]: 23: Hoare triple {2314#true} assume !false; {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L290 TraceCheckUtils]: 22: Hoare triple {2314#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2314#true} {2314#true} #82#return; {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L290 TraceCheckUtils]: 20: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L290 TraceCheckUtils]: 19: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L290 TraceCheckUtils]: 18: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L272 TraceCheckUtils]: 17: Hoare triple {2314#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2314#true} {2314#true} #80#return; {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L290 TraceCheckUtils]: 15: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L290 TraceCheckUtils]: 14: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:27:03,298 INFO L290 TraceCheckUtils]: 13: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:27:03,299 INFO L272 TraceCheckUtils]: 12: Hoare triple {2314#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:27:03,299 INFO L290 TraceCheckUtils]: 11: Hoare triple {2314#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2314#true} is VALID [2022-04-08 11:27:03,299 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2314#true} {2314#true} #78#return; {2314#true} is VALID [2022-04-08 11:27:03,299 INFO L290 TraceCheckUtils]: 9: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:27:03,299 INFO L290 TraceCheckUtils]: 8: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-08 11:27:03,299 INFO L290 TraceCheckUtils]: 7: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-08 11:27:03,299 INFO L272 TraceCheckUtils]: 6: Hoare triple {2314#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {2314#true} is VALID [2022-04-08 11:27:03,299 INFO L290 TraceCheckUtils]: 5: Hoare triple {2314#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2314#true} is VALID [2022-04-08 11:27:03,299 INFO L272 TraceCheckUtils]: 4: Hoare triple {2314#true} call #t~ret6 := main(); {2314#true} is VALID [2022-04-08 11:27:03,299 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2314#true} {2314#true} #98#return; {2314#true} is VALID [2022-04-08 11:27:03,299 INFO L290 TraceCheckUtils]: 2: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-08 11:27:03,299 INFO L290 TraceCheckUtils]: 1: Hoare triple {2314#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(14, 2);call #Ultimate.allocInit(12, 3); {2314#true} is VALID [2022-04-08 11:27:03,301 INFO L272 TraceCheckUtils]: 0: Hoare triple {2314#true} call ULTIMATE.init(); {2314#true} is VALID [2022-04-08 11:27:03,302 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 15 proven. 7 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-08 11:27:03,302 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:27:03,302 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1929663517] [2022-04-08 11:27:03,303 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:27:03,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2002755159] [2022-04-08 11:27:03,303 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2002755159] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:27:03,303 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:27:03,303 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-08 11:27:03,303 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:27:03,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1478028710] [2022-04-08 11:27:03,303 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1478028710] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:27:03,303 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:27:03,303 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 11:27:03,303 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1051346956] [2022-04-08 11:27:03,303 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:27:03,304 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-08 11:27:03,306 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:27:03,306 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 11:27:03,328 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 11:27:03,328 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 11:27:03,328 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:27:03,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 11:27:03,329 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-08 11:27:03,329 INFO L87 Difference]: Start difference. First operand 74 states and 95 transitions. Second operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 11:27:03,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:27:03,685 INFO L93 Difference]: Finished difference Result 80 states and 100 transitions. [2022-04-08 11:27:03,685 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 11:27:03,686 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-08 11:27:03,686 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:27:03,686 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 11:27:03,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-08 11:27:03,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 11:27:03,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-08 11:27:03,688 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-08 11:27:03,721 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 11:27:03,722 INFO L225 Difference]: With dead ends: 80 [2022-04-08 11:27:03,722 INFO L226 Difference]: Without dead ends: 78 [2022-04-08 11:27:03,723 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 102 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-04-08 11:27:03,723 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 17 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 130 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 138 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 130 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 11:27:03,723 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 141 Invalid, 138 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 130 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 11:27:03,724 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-04-08 11:27:03,787 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 78. [2022-04-08 11:27:03,787 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:27:03,788 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand has 78 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 11:27:03,788 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand has 78 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 11:27:03,788 INFO L87 Difference]: Start difference. First operand 78 states. Second operand has 78 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 11:27:03,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:27:03,790 INFO L93 Difference]: Finished difference Result 78 states and 98 transitions. [2022-04-08 11:27:03,790 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 98 transitions. [2022-04-08 11:27:03,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:27:03,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:27:03,791 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 78 states. [2022-04-08 11:27:03,791 INFO L87 Difference]: Start difference. First operand has 78 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 78 states. [2022-04-08 11:27:03,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:27:03,793 INFO L93 Difference]: Finished difference Result 78 states and 98 transitions. [2022-04-08 11:27:03,793 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 98 transitions. [2022-04-08 11:27:03,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:27:03,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:27:03,794 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:27:03,794 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:27:03,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 11:27:03,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 98 transitions. [2022-04-08 11:27:03,796 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 98 transitions. Word has length 56 [2022-04-08 11:27:03,796 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:27:03,796 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 98 transitions. [2022-04-08 11:27:03,796 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-08 11:27:03,796 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 98 transitions. [2022-04-08 11:27:03,900 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:27:03,900 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 98 transitions. [2022-04-08 11:27:03,900 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-08 11:27:03,900 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:27:03,901 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:27:03,917 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 11:27:04,111 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 11:27:04,112 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:27:04,112 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:27:04,112 INFO L85 PathProgramCache]: Analyzing trace with hash -2096667334, now seen corresponding path program 1 times [2022-04-08 11:27:04,112 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:27:04,112 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [624512287] [2022-04-08 11:27:04,112 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:27:04,120 INFO L85 PathProgramCache]: Analyzing trace with hash -2096667334, now seen corresponding path program 2 times [2022-04-08 11:27:04,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:27:04,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1579842766] [2022-04-08 11:27:04,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:27:04,120 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:27:04,138 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:27:04,138 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [46746386] [2022-04-08 11:27:04,138 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:27:04,138 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:27:04,138 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:27:04,139 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 11:27:04,148 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 11:27:04,186 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:27:04,186 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:27:04,187 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 11:27:04,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:27:04,200 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:27:04,445 INFO L272 TraceCheckUtils]: 0: Hoare triple {3137#true} call ULTIMATE.init(); {3137#true} is VALID [2022-04-08 11:27:04,445 INFO L290 TraceCheckUtils]: 1: Hoare triple {3137#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(14, 2);call #Ultimate.allocInit(12, 3); {3137#true} is VALID [2022-04-08 11:27:04,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:04,445 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3137#true} {3137#true} #98#return; {3137#true} is VALID [2022-04-08 11:27:04,445 INFO L272 TraceCheckUtils]: 4: Hoare triple {3137#true} call #t~ret6 := main(); {3137#true} is VALID [2022-04-08 11:27:04,445 INFO L290 TraceCheckUtils]: 5: Hoare triple {3137#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3137#true} is VALID [2022-04-08 11:27:04,445 INFO L272 TraceCheckUtils]: 6: Hoare triple {3137#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:04,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:04,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:04,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:04,446 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3137#true} {3137#true} #78#return; {3137#true} is VALID [2022-04-08 11:27:04,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {3137#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3137#true} is VALID [2022-04-08 11:27:04,446 INFO L272 TraceCheckUtils]: 12: Hoare triple {3137#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:04,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:04,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:04,446 INFO L290 TraceCheckUtils]: 15: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:04,446 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3137#true} {3137#true} #80#return; {3137#true} is VALID [2022-04-08 11:27:04,446 INFO L272 TraceCheckUtils]: 17: Hoare triple {3137#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:04,446 INFO L290 TraceCheckUtils]: 18: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:04,446 INFO L290 TraceCheckUtils]: 19: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:04,447 INFO L290 TraceCheckUtils]: 20: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:04,447 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3137#true} {3137#true} #82#return; {3137#true} is VALID [2022-04-08 11:27:04,447 INFO L290 TraceCheckUtils]: 22: Hoare triple {3137#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:04,447 INFO L290 TraceCheckUtils]: 23: Hoare triple {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !false; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:04,448 INFO L272 TraceCheckUtils]: 24: Hoare triple {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:04,448 INFO L290 TraceCheckUtils]: 25: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:04,448 INFO L290 TraceCheckUtils]: 26: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:04,448 INFO L290 TraceCheckUtils]: 27: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:04,448 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3137#true} {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #84#return; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:04,449 INFO L272 TraceCheckUtils]: 29: Hoare triple {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:04,449 INFO L290 TraceCheckUtils]: 30: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:04,449 INFO L290 TraceCheckUtils]: 31: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:04,449 INFO L290 TraceCheckUtils]: 32: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:04,449 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3137#true} {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #86#return; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:04,450 INFO L290 TraceCheckUtils]: 34: Hoare triple {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:04,450 INFO L290 TraceCheckUtils]: 35: Hoare triple {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:04,450 INFO L272 TraceCheckUtils]: 36: Hoare triple {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:04,450 INFO L290 TraceCheckUtils]: 37: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:04,450 INFO L290 TraceCheckUtils]: 38: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:04,450 INFO L290 TraceCheckUtils]: 39: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:04,451 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3137#true} {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:04,451 INFO L272 TraceCheckUtils]: 41: Hoare triple {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:04,451 INFO L290 TraceCheckUtils]: 42: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:04,451 INFO L290 TraceCheckUtils]: 43: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:04,451 INFO L290 TraceCheckUtils]: 44: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:04,452 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3137#true} {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #90#return; {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:04,452 INFO L272 TraceCheckUtils]: 46: Hoare triple {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:04,452 INFO L290 TraceCheckUtils]: 47: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:04,452 INFO L290 TraceCheckUtils]: 48: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:04,452 INFO L290 TraceCheckUtils]: 49: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:04,453 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3137#true} {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #92#return; {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:04,453 INFO L290 TraceCheckUtils]: 51: Hoare triple {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~r~0 >= 2 * ~b~0); {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:04,454 INFO L290 TraceCheckUtils]: 52: Hoare triple {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {3300#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-08 11:27:04,454 INFO L290 TraceCheckUtils]: 53: Hoare triple {3300#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} assume !false; {3300#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-08 11:27:04,454 INFO L272 TraceCheckUtils]: 54: Hoare triple {3300#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:04,454 INFO L290 TraceCheckUtils]: 55: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:04,454 INFO L290 TraceCheckUtils]: 56: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:04,455 INFO L290 TraceCheckUtils]: 57: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:04,455 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {3137#true} {3300#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} #84#return; {3300#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-08 11:27:04,456 INFO L272 TraceCheckUtils]: 59: Hoare triple {3300#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {3322#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:27:04,456 INFO L290 TraceCheckUtils]: 60: Hoare triple {3322#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3326#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:27:04,456 INFO L290 TraceCheckUtils]: 61: Hoare triple {3326#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3138#false} is VALID [2022-04-08 11:27:04,456 INFO L290 TraceCheckUtils]: 62: Hoare triple {3138#false} assume !false; {3138#false} is VALID [2022-04-08 11:27:04,457 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 3 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-08 11:27:04,457 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:27:21,335 INFO L290 TraceCheckUtils]: 62: Hoare triple {3138#false} assume !false; {3138#false} is VALID [2022-04-08 11:27:21,337 INFO L290 TraceCheckUtils]: 61: Hoare triple {3326#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3138#false} is VALID [2022-04-08 11:27:21,337 INFO L290 TraceCheckUtils]: 60: Hoare triple {3322#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3326#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:27:21,338 INFO L272 TraceCheckUtils]: 59: Hoare triple {3342#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {3322#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:27:21,339 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {3137#true} {3342#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} #84#return; {3342#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-08 11:27:21,339 INFO L290 TraceCheckUtils]: 57: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:21,339 INFO L290 TraceCheckUtils]: 56: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:21,339 INFO L290 TraceCheckUtils]: 55: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:21,339 INFO L272 TraceCheckUtils]: 54: Hoare triple {3342#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:21,343 INFO L290 TraceCheckUtils]: 53: Hoare triple {3342#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} assume !false; {3342#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-08 11:27:21,361 INFO L290 TraceCheckUtils]: 52: Hoare triple {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {3342#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-08 11:27:21,362 INFO L290 TraceCheckUtils]: 51: Hoare triple {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} assume !(~r~0 >= 2 * ~b~0); {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-08 11:27:21,363 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3137#true} {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} #92#return; {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-08 11:27:21,363 INFO L290 TraceCheckUtils]: 49: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:21,363 INFO L290 TraceCheckUtils]: 48: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:21,363 INFO L290 TraceCheckUtils]: 47: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:21,363 INFO L272 TraceCheckUtils]: 46: Hoare triple {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:21,367 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3137#true} {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} #90#return; {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-08 11:27:21,367 INFO L290 TraceCheckUtils]: 44: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:21,368 INFO L290 TraceCheckUtils]: 43: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:21,368 INFO L290 TraceCheckUtils]: 42: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:21,368 INFO L272 TraceCheckUtils]: 41: Hoare triple {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:21,368 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3137#true} {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} #88#return; {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-08 11:27:21,368 INFO L290 TraceCheckUtils]: 39: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:21,368 INFO L290 TraceCheckUtils]: 38: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:21,368 INFO L290 TraceCheckUtils]: 37: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:21,369 INFO L272 TraceCheckUtils]: 36: Hoare triple {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:21,370 INFO L290 TraceCheckUtils]: 35: Hoare triple {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} assume !false; {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-08 11:27:21,370 INFO L290 TraceCheckUtils]: 34: Hoare triple {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-08 11:27:21,371 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3137#true} {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #86#return; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:21,371 INFO L290 TraceCheckUtils]: 32: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:21,371 INFO L290 TraceCheckUtils]: 31: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:21,371 INFO L290 TraceCheckUtils]: 30: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:21,371 INFO L272 TraceCheckUtils]: 29: Hoare triple {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:21,372 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3137#true} {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #84#return; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:21,372 INFO L290 TraceCheckUtils]: 27: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:21,372 INFO L290 TraceCheckUtils]: 26: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:21,372 INFO L290 TraceCheckUtils]: 25: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:21,372 INFO L272 TraceCheckUtils]: 24: Hoare triple {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:21,372 INFO L290 TraceCheckUtils]: 23: Hoare triple {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !false; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:21,373 INFO L290 TraceCheckUtils]: 22: Hoare triple {3137#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:21,373 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3137#true} {3137#true} #82#return; {3137#true} is VALID [2022-04-08 11:27:21,373 INFO L290 TraceCheckUtils]: 20: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:21,373 INFO L290 TraceCheckUtils]: 19: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:21,373 INFO L290 TraceCheckUtils]: 18: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:21,373 INFO L272 TraceCheckUtils]: 17: Hoare triple {3137#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:21,373 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3137#true} {3137#true} #80#return; {3137#true} is VALID [2022-04-08 11:27:21,373 INFO L290 TraceCheckUtils]: 15: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:21,373 INFO L290 TraceCheckUtils]: 14: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:21,373 INFO L290 TraceCheckUtils]: 13: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L272 TraceCheckUtils]: 12: Hoare triple {3137#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L290 TraceCheckUtils]: 11: Hoare triple {3137#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3137#true} {3137#true} #78#return; {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L290 TraceCheckUtils]: 9: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L272 TraceCheckUtils]: 6: Hoare triple {3137#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L290 TraceCheckUtils]: 5: Hoare triple {3137#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L272 TraceCheckUtils]: 4: Hoare triple {3137#true} call #t~ret6 := main(); {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3137#true} {3137#true} #98#return; {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L290 TraceCheckUtils]: 2: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L290 TraceCheckUtils]: 1: Hoare triple {3137#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(14, 2);call #Ultimate.allocInit(12, 3); {3137#true} is VALID [2022-04-08 11:27:21,374 INFO L272 TraceCheckUtils]: 0: Hoare triple {3137#true} call ULTIMATE.init(); {3137#true} is VALID [2022-04-08 11:27:21,375 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 3 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-08 11:27:21,375 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:27:21,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1579842766] [2022-04-08 11:27:21,375 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:27:21,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [46746386] [2022-04-08 11:27:21,375 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [46746386] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:27:21,375 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:27:21,375 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-08 11:27:21,375 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:27:21,376 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [624512287] [2022-04-08 11:27:21,376 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [624512287] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:27:21,376 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:27:21,376 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 11:27:21,376 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1948824835] [2022-04-08 11:27:21,376 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:27:21,376 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-08 11:27:21,376 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:27:21,377 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 11:27:21,407 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:27:21,408 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 11:27:21,408 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:27:21,408 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 11:27:21,408 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-08 11:27:21,408 INFO L87 Difference]: Start difference. First operand 78 states and 98 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 11:27:21,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:27:21,915 INFO L93 Difference]: Finished difference Result 111 states and 142 transitions. [2022-04-08 11:27:21,915 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 11:27:21,915 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-08 11:27:21,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:27:21,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 11:27:21,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-04-08 11:27:21,917 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 11:27:21,919 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-04-08 11:27:21,919 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 101 transitions. [2022-04-08 11:27:21,989 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:27:21,991 INFO L225 Difference]: With dead ends: 111 [2022-04-08 11:27:21,991 INFO L226 Difference]: Without dead ends: 108 [2022-04-08 11:27:21,992 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 116 SyntacticMatches, 2 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 11:27:21,992 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 19 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 186 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 196 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 186 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 11:27:21,992 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 222 Invalid, 196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 186 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 11:27:21,993 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-08 11:27:22,101 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 103. [2022-04-08 11:27:22,102 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:27:22,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 103 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 34 states have call successors, (34), 11 states have call predecessors, (34), 10 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 11:27:22,102 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 103 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 34 states have call successors, (34), 11 states have call predecessors, (34), 10 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 11:27:22,102 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 103 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 34 states have call successors, (34), 11 states have call predecessors, (34), 10 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 11:27:22,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:27:22,106 INFO L93 Difference]: Finished difference Result 108 states and 138 transitions. [2022-04-08 11:27:22,106 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 138 transitions. [2022-04-08 11:27:22,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:27:22,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:27:22,109 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 34 states have call successors, (34), 11 states have call predecessors, (34), 10 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) Second operand 108 states. [2022-04-08 11:27:22,109 INFO L87 Difference]: Start difference. First operand has 103 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 34 states have call successors, (34), 11 states have call predecessors, (34), 10 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) Second operand 108 states. [2022-04-08 11:27:22,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:27:22,113 INFO L93 Difference]: Finished difference Result 108 states and 138 transitions. [2022-04-08 11:27:22,114 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 138 transitions. [2022-04-08 11:27:22,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:27:22,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:27:22,114 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:27:22,114 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:27:22,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 34 states have call successors, (34), 11 states have call predecessors, (34), 10 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 11:27:22,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 132 transitions. [2022-04-08 11:27:22,118 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 132 transitions. Word has length 63 [2022-04-08 11:27:22,118 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:27:22,118 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 132 transitions. [2022-04-08 11:27:22,118 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 11:27:22,118 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 132 transitions. [2022-04-08 11:27:22,238 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 11:27:22,238 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 132 transitions. [2022-04-08 11:27:22,239 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 11:27:22,239 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:27:22,239 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:27:22,255 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 11:27:22,450 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 11:27:22,450 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:27:22,450 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:27:22,450 INFO L85 PathProgramCache]: Analyzing trace with hash -2105983492, now seen corresponding path program 1 times [2022-04-08 11:27:22,450 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:27:22,451 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [29499235] [2022-04-08 11:27:22,451 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:27:22,451 INFO L85 PathProgramCache]: Analyzing trace with hash -2105983492, now seen corresponding path program 2 times [2022-04-08 11:27:22,451 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:27:22,451 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1974101700] [2022-04-08 11:27:22,451 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:27:22,451 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:27:22,463 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:27:22,473 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [995817147] [2022-04-08 11:27:22,473 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 11:27:22,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:27:22,473 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:27:22,474 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 11:27:22,474 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 11:27:22,526 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 11:27:22,526 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:27:22,527 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 11:27:22,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:27:22,541 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:27:23,323 INFO L272 TraceCheckUtils]: 0: Hoare triple {4169#true} call ULTIMATE.init(); {4169#true} is VALID [2022-04-08 11:27:23,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {4169#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(14, 2);call #Ultimate.allocInit(12, 3); {4169#true} is VALID [2022-04-08 11:27:23,324 INFO L290 TraceCheckUtils]: 2: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-08 11:27:23,324 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4169#true} {4169#true} #98#return; {4169#true} is VALID [2022-04-08 11:27:23,324 INFO L272 TraceCheckUtils]: 4: Hoare triple {4169#true} call #t~ret6 := main(); {4169#true} is VALID [2022-04-08 11:27:23,324 INFO L290 TraceCheckUtils]: 5: Hoare triple {4169#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4169#true} is VALID [2022-04-08 11:27:23,324 INFO L272 TraceCheckUtils]: 6: Hoare triple {4169#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,324 INFO L290 TraceCheckUtils]: 7: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-08 11:27:23,324 INFO L290 TraceCheckUtils]: 8: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-08 11:27:23,324 INFO L290 TraceCheckUtils]: 9: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-08 11:27:23,324 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4169#true} {4169#true} #78#return; {4169#true} is VALID [2022-04-08 11:27:23,324 INFO L290 TraceCheckUtils]: 11: Hoare triple {4169#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4169#true} is VALID [2022-04-08 11:27:23,324 INFO L272 TraceCheckUtils]: 12: Hoare triple {4169#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-08 11:27:23,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-08 11:27:23,325 INFO L290 TraceCheckUtils]: 15: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-08 11:27:23,325 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4169#true} {4169#true} #80#return; {4169#true} is VALID [2022-04-08 11:27:23,325 INFO L272 TraceCheckUtils]: 17: Hoare triple {4169#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,325 INFO L290 TraceCheckUtils]: 18: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-08 11:27:23,325 INFO L290 TraceCheckUtils]: 19: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-08 11:27:23,325 INFO L290 TraceCheckUtils]: 20: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-08 11:27:23,325 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4169#true} {4169#true} #82#return; {4169#true} is VALID [2022-04-08 11:27:23,325 INFO L290 TraceCheckUtils]: 22: Hoare triple {4169#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:23,326 INFO L290 TraceCheckUtils]: 23: Hoare triple {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !false; {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:23,326 INFO L272 TraceCheckUtils]: 24: Hoare triple {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,326 INFO L290 TraceCheckUtils]: 25: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-08 11:27:23,326 INFO L290 TraceCheckUtils]: 26: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-08 11:27:23,326 INFO L290 TraceCheckUtils]: 27: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-08 11:27:23,327 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4169#true} {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #84#return; {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:23,327 INFO L272 TraceCheckUtils]: 29: Hoare triple {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,327 INFO L290 TraceCheckUtils]: 30: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-08 11:27:23,327 INFO L290 TraceCheckUtils]: 31: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-08 11:27:23,327 INFO L290 TraceCheckUtils]: 32: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-08 11:27:23,327 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4169#true} {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #86#return; {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:23,328 INFO L290 TraceCheckUtils]: 34: Hoare triple {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:23,329 INFO L290 TraceCheckUtils]: 35: Hoare triple {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:23,329 INFO L272 TraceCheckUtils]: 36: Hoare triple {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,329 INFO L290 TraceCheckUtils]: 37: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-08 11:27:23,329 INFO L290 TraceCheckUtils]: 38: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-08 11:27:23,329 INFO L290 TraceCheckUtils]: 39: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-08 11:27:23,330 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4169#true} {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:23,330 INFO L272 TraceCheckUtils]: 41: Hoare triple {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,330 INFO L290 TraceCheckUtils]: 42: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-08 11:27:23,330 INFO L290 TraceCheckUtils]: 43: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-08 11:27:23,330 INFO L290 TraceCheckUtils]: 44: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-08 11:27:23,331 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4169#true} {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #90#return; {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:23,331 INFO L272 TraceCheckUtils]: 46: Hoare triple {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,331 INFO L290 TraceCheckUtils]: 47: Hoare triple {4169#true} ~cond := #in~cond; {4317#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:27:23,331 INFO L290 TraceCheckUtils]: 48: Hoare triple {4317#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:27:23,332 INFO L290 TraceCheckUtils]: 49: Hoare triple {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:27:23,332 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #92#return; {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:23,333 INFO L290 TraceCheckUtils]: 51: Hoare triple {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~r~0 >= 2 * ~b~0); {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:23,333 INFO L272 TraceCheckUtils]: 52: Hoare triple {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,333 INFO L290 TraceCheckUtils]: 53: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-08 11:27:23,333 INFO L290 TraceCheckUtils]: 54: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-08 11:27:23,333 INFO L290 TraceCheckUtils]: 55: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-08 11:27:23,333 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4169#true} {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #94#return; {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:27:23,334 INFO L290 TraceCheckUtils]: 57: Hoare triple {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-08 11:27:23,334 INFO L290 TraceCheckUtils]: 58: Hoare triple {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} assume !false; {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-08 11:27:23,334 INFO L272 TraceCheckUtils]: 59: Hoare triple {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,334 INFO L290 TraceCheckUtils]: 60: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-08 11:27:23,335 INFO L290 TraceCheckUtils]: 61: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-08 11:27:23,335 INFO L290 TraceCheckUtils]: 62: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-08 11:27:23,335 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {4169#true} {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} #88#return; {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-08 11:27:23,335 INFO L272 TraceCheckUtils]: 64: Hoare triple {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,335 INFO L290 TraceCheckUtils]: 65: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-08 11:27:23,335 INFO L290 TraceCheckUtils]: 66: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-08 11:27:23,335 INFO L290 TraceCheckUtils]: 67: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-08 11:27:23,336 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4169#true} {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} #90#return; {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-08 11:27:23,336 INFO L272 TraceCheckUtils]: 69: Hoare triple {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,336 INFO L290 TraceCheckUtils]: 70: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-08 11:27:23,336 INFO L290 TraceCheckUtils]: 71: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-08 11:27:23,336 INFO L290 TraceCheckUtils]: 72: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-08 11:27:23,337 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4169#true} {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} #92#return; {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-08 11:27:23,337 INFO L290 TraceCheckUtils]: 74: Hoare triple {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} assume !(~r~0 >= 2 * ~b~0); {4402#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (< main_~r~0 (* main_~b~0 2)) (<= main_~y~0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-08 11:27:23,338 INFO L290 TraceCheckUtils]: 75: Hoare triple {4402#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (< main_~r~0 (* main_~b~0 2)) (<= main_~y~0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {4406#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= main_~b~0 (* main_~y~0 2)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0) (= main_~a~0 2) (<= main_~y~0 main_~x~0))} is VALID [2022-04-08 11:27:23,338 INFO L290 TraceCheckUtils]: 76: Hoare triple {4406#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= main_~b~0 (* main_~y~0 2)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0) (= main_~a~0 2) (<= main_~y~0 main_~x~0))} assume !false; {4406#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= main_~b~0 (* main_~y~0 2)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0) (= main_~a~0 2) (<= main_~y~0 main_~x~0))} is VALID [2022-04-08 11:27:23,338 INFO L272 TraceCheckUtils]: 77: Hoare triple {4406#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= main_~b~0 (* main_~y~0 2)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0) (= main_~a~0 2) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {4169#true} is VALID [2022-04-08 11:27:23,339 INFO L290 TraceCheckUtils]: 78: Hoare triple {4169#true} ~cond := #in~cond; {4317#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:27:23,339 INFO L290 TraceCheckUtils]: 79: Hoare triple {4317#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:27:23,339 INFO L290 TraceCheckUtils]: 80: Hoare triple {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:27:23,340 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} {4406#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= main_~b~0 (* main_~y~0 2)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0) (= main_~a~0 2) (<= main_~y~0 main_~x~0))} #84#return; {4425#(and (= (* main_~q~0 main_~y~0) (* main_~y~0 2)) (= main_~x~0 (+ main_~r~0 (* main_~y~0 2))) (< main_~x~0 (* main_~y~0 4)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-08 11:27:23,341 INFO L272 TraceCheckUtils]: 82: Hoare triple {4425#(and (= (* main_~q~0 main_~y~0) (* main_~y~0 2)) (= main_~x~0 (+ main_~r~0 (* main_~y~0 2))) (< main_~x~0 (* main_~y~0 4)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {4429#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:27:23,341 INFO L290 TraceCheckUtils]: 83: Hoare triple {4429#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4433#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:27:23,341 INFO L290 TraceCheckUtils]: 84: Hoare triple {4433#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4170#false} is VALID [2022-04-08 11:27:23,342 INFO L290 TraceCheckUtils]: 85: Hoare triple {4170#false} assume !false; {4170#false} is VALID [2022-04-08 11:27:23,342 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 54 proven. 22 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-08 11:27:23,342 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:28:21,010 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:28:21,010 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1974101700] [2022-04-08 11:28:21,010 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:28:21,010 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [995817147] [2022-04-08 11:28:21,010 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [995817147] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 11:28:21,010 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 11:28:21,010 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-08 11:28:21,011 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:28:21,011 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [29499235] [2022-04-08 11:28:21,011 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [29499235] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:28:21,011 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:28:21,011 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 11:28:21,011 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2119120387] [2022-04-08 11:28:21,011 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:28:21,012 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-08 11:28:21,012 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:28:21,012 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 11:28:21,062 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:28:21,062 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 11:28:21,063 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:28:21,063 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 11:28:21,063 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=284, Unknown=0, NotChecked=0, Total=380 [2022-04-08 11:28:21,064 INFO L87 Difference]: Start difference. First operand 103 states and 132 transitions. Second operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 11:28:22,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:28:22,825 INFO L93 Difference]: Finished difference Result 147 states and 191 transitions. [2022-04-08 11:28:22,825 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 11:28:22,825 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-08 11:28:22,826 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:28:22,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 11:28:22,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 114 transitions. [2022-04-08 11:28:22,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 11:28:22,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 114 transitions. [2022-04-08 11:28:22,830 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 114 transitions. [2022-04-08 11:28:22,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:28:22,928 INFO L225 Difference]: With dead ends: 147 [2022-04-08 11:28:22,928 INFO L226 Difference]: Without dead ends: 144 [2022-04-08 11:28:22,929 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 118 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 120 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=109, Invalid=353, Unknown=0, NotChecked=0, Total=462 [2022-04-08 11:28:22,929 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 27 mSDsluCounter, 219 mSDsCounter, 0 mSdLazyCounter, 628 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 263 SdHoareTripleChecker+Invalid, 649 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 628 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 11:28:22,929 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 263 Invalid, 649 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 628 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 11:28:22,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-08 11:28:23,093 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 121. [2022-04-08 11:28:23,094 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:28:23,095 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 121 states, 69 states have (on average 1.1304347826086956) internal successors, (78), 72 states have internal predecessors, (78), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 11:28:23,095 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 121 states, 69 states have (on average 1.1304347826086956) internal successors, (78), 72 states have internal predecessors, (78), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 11:28:23,096 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 121 states, 69 states have (on average 1.1304347826086956) internal successors, (78), 72 states have internal predecessors, (78), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 11:28:23,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:28:23,127 INFO L93 Difference]: Finished difference Result 144 states and 187 transitions. [2022-04-08 11:28:23,127 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 187 transitions. [2022-04-08 11:28:23,127 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:28:23,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:28:23,128 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 69 states have (on average 1.1304347826086956) internal successors, (78), 72 states have internal predecessors, (78), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 144 states. [2022-04-08 11:28:23,130 INFO L87 Difference]: Start difference. First operand has 121 states, 69 states have (on average 1.1304347826086956) internal successors, (78), 72 states have internal predecessors, (78), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 144 states. [2022-04-08 11:28:23,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:28:23,133 INFO L93 Difference]: Finished difference Result 144 states and 187 transitions. [2022-04-08 11:28:23,133 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 187 transitions. [2022-04-08 11:28:23,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:28:23,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:28:23,134 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:28:23,134 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:28:23,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 69 states have (on average 1.1304347826086956) internal successors, (78), 72 states have internal predecessors, (78), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 11:28:23,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 154 transitions. [2022-04-08 11:28:23,138 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 154 transitions. Word has length 86 [2022-04-08 11:28:23,139 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:28:23,139 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 154 transitions. [2022-04-08 11:28:23,140 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 11:28:23,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 154 transitions. [2022-04-08 11:28:23,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:28:23,302 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 154 transitions. [2022-04-08 11:28:23,304 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 94 [2022-04-08 11:28:23,304 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:28:23,304 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:28:23,320 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 11:28:23,505 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 11:28:23,505 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:28:23,506 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:28:23,506 INFO L85 PathProgramCache]: Analyzing trace with hash -895340852, now seen corresponding path program 3 times [2022-04-08 11:28:23,506 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:28:23,506 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1524163861] [2022-04-08 11:28:23,507 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:28:23,507 INFO L85 PathProgramCache]: Analyzing trace with hash -895340852, now seen corresponding path program 4 times [2022-04-08 11:28:23,507 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:28:23,507 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1646408888] [2022-04-08 11:28:23,507 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:28:23,507 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:28:23,523 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:28:23,523 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [468164800] [2022-04-08 11:28:23,523 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 11:28:23,524 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:28:23,524 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:28:23,524 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 11:28:23,526 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 11:28:23,566 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 11:28:23,566 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:28:23,567 INFO L263 TraceCheckSpWp]: Trace formula consists of 176 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-08 11:28:23,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:28:23,576 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:28:23,774 INFO L272 TraceCheckUtils]: 0: Hoare triple {5433#true} call ULTIMATE.init(); {5433#true} is VALID [2022-04-08 11:28:23,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {5433#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(14, 2);call #Ultimate.allocInit(12, 3); {5433#true} is VALID [2022-04-08 11:28:23,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-08 11:28:23,774 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5433#true} {5433#true} #98#return; {5433#true} is VALID [2022-04-08 11:28:23,774 INFO L272 TraceCheckUtils]: 4: Hoare triple {5433#true} call #t~ret6 := main(); {5433#true} is VALID [2022-04-08 11:28:23,774 INFO L290 TraceCheckUtils]: 5: Hoare triple {5433#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5433#true} is VALID [2022-04-08 11:28:23,774 INFO L272 TraceCheckUtils]: 6: Hoare triple {5433#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {5433#true} is VALID [2022-04-08 11:28:23,774 INFO L290 TraceCheckUtils]: 7: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-08 11:28:23,774 INFO L290 TraceCheckUtils]: 8: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5433#true} {5433#true} #78#return; {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L290 TraceCheckUtils]: 11: Hoare triple {5433#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L272 TraceCheckUtils]: 12: Hoare triple {5433#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L290 TraceCheckUtils]: 13: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L290 TraceCheckUtils]: 14: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L290 TraceCheckUtils]: 15: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5433#true} {5433#true} #80#return; {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L272 TraceCheckUtils]: 17: Hoare triple {5433#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L290 TraceCheckUtils]: 18: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L290 TraceCheckUtils]: 19: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L290 TraceCheckUtils]: 20: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-08 11:28:23,775 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5433#true} {5433#true} #82#return; {5433#true} is VALID [2022-04-08 11:28:23,776 INFO L290 TraceCheckUtils]: 22: Hoare triple {5433#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {5433#true} is VALID [2022-04-08 11:28:23,776 INFO L290 TraceCheckUtils]: 23: Hoare triple {5433#true} assume !false; {5433#true} is VALID [2022-04-08 11:28:23,776 INFO L272 TraceCheckUtils]: 24: Hoare triple {5433#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5433#true} is VALID [2022-04-08 11:28:23,776 INFO L290 TraceCheckUtils]: 25: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-08 11:28:23,776 INFO L290 TraceCheckUtils]: 26: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-08 11:28:23,776 INFO L290 TraceCheckUtils]: 27: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-08 11:28:23,776 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5433#true} {5433#true} #84#return; {5433#true} is VALID [2022-04-08 11:28:23,776 INFO L272 TraceCheckUtils]: 29: Hoare triple {5433#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5433#true} is VALID [2022-04-08 11:28:23,776 INFO L290 TraceCheckUtils]: 30: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-08 11:28:23,776 INFO L290 TraceCheckUtils]: 31: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-08 11:28:23,776 INFO L290 TraceCheckUtils]: 32: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-08 11:28:23,776 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5433#true} {5433#true} #86#return; {5433#true} is VALID [2022-04-08 11:28:23,791 INFO L290 TraceCheckUtils]: 34: Hoare triple {5433#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {5540#(<= main_~b~0 main_~y~0)} is VALID [2022-04-08 11:28:23,791 INFO L290 TraceCheckUtils]: 35: Hoare triple {5540#(<= main_~b~0 main_~y~0)} assume !false; {5540#(<= main_~b~0 main_~y~0)} is VALID [2022-04-08 11:28:23,792 INFO L272 TraceCheckUtils]: 36: Hoare triple {5540#(<= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5433#true} is VALID [2022-04-08 11:28:23,792 INFO L290 TraceCheckUtils]: 37: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-08 11:28:23,792 INFO L290 TraceCheckUtils]: 38: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-08 11:28:23,792 INFO L290 TraceCheckUtils]: 39: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-08 11:28:23,792 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5433#true} {5540#(<= main_~b~0 main_~y~0)} #88#return; {5540#(<= main_~b~0 main_~y~0)} is VALID [2022-04-08 11:28:23,792 INFO L272 TraceCheckUtils]: 41: Hoare triple {5540#(<= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5433#true} is VALID [2022-04-08 11:28:23,792 INFO L290 TraceCheckUtils]: 42: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-08 11:28:23,792 INFO L290 TraceCheckUtils]: 43: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-08 11:28:23,793 INFO L290 TraceCheckUtils]: 44: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-08 11:28:23,793 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5433#true} {5540#(<= main_~b~0 main_~y~0)} #90#return; {5540#(<= main_~b~0 main_~y~0)} is VALID [2022-04-08 11:28:23,793 INFO L272 TraceCheckUtils]: 46: Hoare triple {5540#(<= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {5433#true} is VALID [2022-04-08 11:28:23,793 INFO L290 TraceCheckUtils]: 47: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-08 11:28:23,793 INFO L290 TraceCheckUtils]: 48: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-08 11:28:23,793 INFO L290 TraceCheckUtils]: 49: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-08 11:28:23,794 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5433#true} {5540#(<= main_~b~0 main_~y~0)} #92#return; {5540#(<= main_~b~0 main_~y~0)} is VALID [2022-04-08 11:28:23,794 INFO L290 TraceCheckUtils]: 51: Hoare triple {5540#(<= main_~b~0 main_~y~0)} assume !(~r~0 >= 2 * ~b~0); {5592#(and (not (<= (* main_~b~0 2) main_~r~0)) (<= main_~b~0 main_~y~0))} is VALID [2022-04-08 11:28:23,795 INFO L290 TraceCheckUtils]: 52: Hoare triple {5592#(and (not (<= (* main_~b~0 2) main_~r~0)) (<= main_~b~0 main_~y~0))} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {5596#(< main_~r~0 main_~y~0)} is VALID [2022-04-08 11:28:23,795 INFO L290 TraceCheckUtils]: 53: Hoare triple {5596#(< main_~r~0 main_~y~0)} assume !false; {5596#(< main_~r~0 main_~y~0)} is VALID [2022-04-08 11:28:23,795 INFO L272 TraceCheckUtils]: 54: Hoare triple {5596#(< main_~r~0 main_~y~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5433#true} is VALID [2022-04-08 11:28:23,795 INFO L290 TraceCheckUtils]: 55: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-08 11:28:23,795 INFO L290 TraceCheckUtils]: 56: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-08 11:28:23,795 INFO L290 TraceCheckUtils]: 57: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-08 11:28:23,796 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {5433#true} {5596#(< main_~r~0 main_~y~0)} #84#return; {5596#(< main_~r~0 main_~y~0)} is VALID [2022-04-08 11:28:23,796 INFO L272 TraceCheckUtils]: 59: Hoare triple {5596#(< main_~r~0 main_~y~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5433#true} is VALID [2022-04-08 11:28:23,796 INFO L290 TraceCheckUtils]: 60: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-08 11:28:23,796 INFO L290 TraceCheckUtils]: 61: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-08 11:28:23,796 INFO L290 TraceCheckUtils]: 62: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-08 11:28:23,796 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {5433#true} {5596#(< main_~r~0 main_~y~0)} #86#return; {5596#(< main_~r~0 main_~y~0)} is VALID [2022-04-08 11:28:23,797 INFO L290 TraceCheckUtils]: 64: Hoare triple {5596#(< main_~r~0 main_~y~0)} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {5434#false} is VALID [2022-04-08 11:28:23,797 INFO L290 TraceCheckUtils]: 65: Hoare triple {5434#false} assume !false; {5434#false} is VALID [2022-04-08 11:28:23,797 INFO L272 TraceCheckUtils]: 66: Hoare triple {5434#false} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5434#false} is VALID [2022-04-08 11:28:23,797 INFO L290 TraceCheckUtils]: 67: Hoare triple {5434#false} ~cond := #in~cond; {5434#false} is VALID [2022-04-08 11:28:23,797 INFO L290 TraceCheckUtils]: 68: Hoare triple {5434#false} assume !(0 == ~cond); {5434#false} is VALID [2022-04-08 11:28:23,797 INFO L290 TraceCheckUtils]: 69: Hoare triple {5434#false} assume true; {5434#false} is VALID [2022-04-08 11:28:23,797 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {5434#false} {5434#false} #88#return; {5434#false} is VALID [2022-04-08 11:28:23,797 INFO L272 TraceCheckUtils]: 71: Hoare triple {5434#false} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5434#false} is VALID [2022-04-08 11:28:23,797 INFO L290 TraceCheckUtils]: 72: Hoare triple {5434#false} ~cond := #in~cond; {5434#false} is VALID [2022-04-08 11:28:23,797 INFO L290 TraceCheckUtils]: 73: Hoare triple {5434#false} assume !(0 == ~cond); {5434#false} is VALID [2022-04-08 11:28:23,797 INFO L290 TraceCheckUtils]: 74: Hoare triple {5434#false} assume true; {5434#false} is VALID [2022-04-08 11:28:23,797 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5434#false} {5434#false} #90#return; {5434#false} is VALID [2022-04-08 11:28:23,797 INFO L272 TraceCheckUtils]: 76: Hoare triple {5434#false} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L290 TraceCheckUtils]: 77: Hoare triple {5434#false} ~cond := #in~cond; {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L290 TraceCheckUtils]: 78: Hoare triple {5434#false} assume !(0 == ~cond); {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L290 TraceCheckUtils]: 79: Hoare triple {5434#false} assume true; {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5434#false} {5434#false} #92#return; {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L290 TraceCheckUtils]: 81: Hoare triple {5434#false} assume !(~r~0 >= 2 * ~b~0); {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L290 TraceCheckUtils]: 82: Hoare triple {5434#false} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L290 TraceCheckUtils]: 83: Hoare triple {5434#false} assume !false; {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L272 TraceCheckUtils]: 84: Hoare triple {5434#false} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L290 TraceCheckUtils]: 85: Hoare triple {5434#false} ~cond := #in~cond; {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L290 TraceCheckUtils]: 86: Hoare triple {5434#false} assume !(0 == ~cond); {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L290 TraceCheckUtils]: 87: Hoare triple {5434#false} assume true; {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {5434#false} {5434#false} #84#return; {5434#false} is VALID [2022-04-08 11:28:23,798 INFO L272 TraceCheckUtils]: 89: Hoare triple {5434#false} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5434#false} is VALID [2022-04-08 11:28:23,799 INFO L290 TraceCheckUtils]: 90: Hoare triple {5434#false} ~cond := #in~cond; {5434#false} is VALID [2022-04-08 11:28:23,799 INFO L290 TraceCheckUtils]: 91: Hoare triple {5434#false} assume 0 == ~cond; {5434#false} is VALID [2022-04-08 11:28:23,799 INFO L290 TraceCheckUtils]: 92: Hoare triple {5434#false} assume !false; {5434#false} is VALID [2022-04-08 11:28:23,800 INFO L134 CoverageAnalysis]: Checked inductivity of 270 backedges. 142 proven. 0 refuted. 0 times theorem prover too weak. 128 trivial. 0 not checked. [2022-04-08 11:28:23,800 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 11:28:23,800 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:28:23,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1646408888] [2022-04-08 11:28:23,800 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:28:23,800 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [468164800] [2022-04-08 11:28:23,800 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [468164800] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:28:23,800 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:28:23,800 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 11:28:23,802 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:28:23,802 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1524163861] [2022-04-08 11:28:23,802 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1524163861] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:28:23,802 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:28:23,802 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 11:28:23,802 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [868082915] [2022-04-08 11:28:23,802 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:28:23,803 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) Word has length 93 [2022-04-08 11:28:23,803 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:28:23,803 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-08 11:28:23,838 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:28:23,838 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 11:28:23,838 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:28:23,838 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 11:28:23,838 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-08 11:28:23,840 INFO L87 Difference]: Start difference. First operand 121 states and 154 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-08 11:28:24,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:28:24,174 INFO L93 Difference]: Finished difference Result 185 states and 240 transitions. [2022-04-08 11:28:24,174 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 11:28:24,174 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) Word has length 93 [2022-04-08 11:28:24,174 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:28:24,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-08 11:28:24,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 90 transitions. [2022-04-08 11:28:24,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-08 11:28:24,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 90 transitions. [2022-04-08 11:28:24,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 90 transitions. [2022-04-08 11:28:24,239 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:28:24,241 INFO L225 Difference]: With dead ends: 185 [2022-04-08 11:28:24,241 INFO L226 Difference]: Without dead ends: 125 [2022-04-08 11:28:24,242 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 90 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-08 11:28:24,242 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 4 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 76 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 80 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 76 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 11:28:24,242 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 126 Invalid, 80 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 76 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 11:28:24,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-08 11:28:24,389 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 120. [2022-04-08 11:28:24,389 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:28:24,389 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 120 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 69 states have internal predecessors, (76), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 11:28:24,389 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 120 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 69 states have internal predecessors, (76), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 11:28:24,390 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 120 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 69 states have internal predecessors, (76), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 11:28:24,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:28:24,419 INFO L93 Difference]: Finished difference Result 125 states and 159 transitions. [2022-04-08 11:28:24,419 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 159 transitions. [2022-04-08 11:28:24,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:28:24,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:28:24,420 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 69 states have internal predecessors, (76), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 125 states. [2022-04-08 11:28:24,420 INFO L87 Difference]: Start difference. First operand has 120 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 69 states have internal predecessors, (76), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 125 states. [2022-04-08 11:28:24,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:28:24,424 INFO L93 Difference]: Finished difference Result 125 states and 159 transitions. [2022-04-08 11:28:24,424 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 159 transitions. [2022-04-08 11:28:24,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:28:24,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:28:24,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:28:24,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:28:24,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 69 states have internal predecessors, (76), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 11:28:24,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 152 transitions. [2022-04-08 11:28:24,429 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 152 transitions. Word has length 93 [2022-04-08 11:28:24,429 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:28:24,429 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 152 transitions. [2022-04-08 11:28:24,430 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-08 11:28:24,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 152 transitions. [2022-04-08 11:28:24,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:28:24,593 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 152 transitions. [2022-04-08 11:28:24,594 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-08 11:28:24,594 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:28:24,594 INFO L499 BasicCegarLoop]: trace histogram [15, 14, 14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:28:24,612 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 11:28:24,803 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 11:28:24,803 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:28:24,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:28:24,804 INFO L85 PathProgramCache]: Analyzing trace with hash -39671046, now seen corresponding path program 3 times [2022-04-08 11:28:24,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:28:24,804 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1257468523] [2022-04-08 11:28:24,804 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:28:24,804 INFO L85 PathProgramCache]: Analyzing trace with hash -39671046, now seen corresponding path program 4 times [2022-04-08 11:28:24,804 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:28:24,805 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1125686831] [2022-04-08 11:28:24,805 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:28:24,805 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:28:24,815 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:28:24,816 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1247426098] [2022-04-08 11:28:24,816 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 11:28:24,816 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:28:24,816 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:28:24,817 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 11:28:24,817 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 11:28:24,859 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 11:28:24,859 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:28:24,860 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 11:28:24,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:28:24,879 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:29:30,634 INFO L272 TraceCheckUtils]: 0: Hoare triple {6579#true} call ULTIMATE.init(); {6579#true} is VALID [2022-04-08 11:29:30,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {6579#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(14, 2);call #Ultimate.allocInit(12, 3); {6579#true} is VALID [2022-04-08 11:29:30,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6579#true} {6579#true} #98#return; {6579#true} is VALID [2022-04-08 11:29:30,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {6579#true} call #t~ret6 := main(); {6579#true} is VALID [2022-04-08 11:29:30,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {6579#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6579#true} is VALID [2022-04-08 11:29:30,635 INFO L272 TraceCheckUtils]: 6: Hoare triple {6579#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,635 INFO L290 TraceCheckUtils]: 7: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,635 INFO L290 TraceCheckUtils]: 8: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,635 INFO L290 TraceCheckUtils]: 9: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,635 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6579#true} {6579#true} #78#return; {6579#true} is VALID [2022-04-08 11:29:30,636 INFO L290 TraceCheckUtils]: 11: Hoare triple {6579#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6579#true} is VALID [2022-04-08 11:29:30,636 INFO L272 TraceCheckUtils]: 12: Hoare triple {6579#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,636 INFO L290 TraceCheckUtils]: 13: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,636 INFO L290 TraceCheckUtils]: 15: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,636 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6579#true} {6579#true} #80#return; {6579#true} is VALID [2022-04-08 11:29:30,636 INFO L272 TraceCheckUtils]: 17: Hoare triple {6579#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,636 INFO L290 TraceCheckUtils]: 18: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,636 INFO L290 TraceCheckUtils]: 19: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,636 INFO L290 TraceCheckUtils]: 20: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,636 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6579#true} {6579#true} #82#return; {6579#true} is VALID [2022-04-08 11:29:30,637 INFO L290 TraceCheckUtils]: 22: Hoare triple {6579#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,637 INFO L290 TraceCheckUtils]: 23: Hoare triple {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !false; {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,637 INFO L272 TraceCheckUtils]: 24: Hoare triple {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,637 INFO L290 TraceCheckUtils]: 25: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,637 INFO L290 TraceCheckUtils]: 26: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,637 INFO L290 TraceCheckUtils]: 27: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,638 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6579#true} {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #84#return; {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,638 INFO L272 TraceCheckUtils]: 29: Hoare triple {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,638 INFO L290 TraceCheckUtils]: 30: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,638 INFO L290 TraceCheckUtils]: 31: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,638 INFO L290 TraceCheckUtils]: 32: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,638 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6579#true} {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #86#return; {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,639 INFO L290 TraceCheckUtils]: 34: Hoare triple {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,639 INFO L290 TraceCheckUtils]: 35: Hoare triple {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,639 INFO L272 TraceCheckUtils]: 36: Hoare triple {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,647 INFO L290 TraceCheckUtils]: 37: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,647 INFO L290 TraceCheckUtils]: 38: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,647 INFO L290 TraceCheckUtils]: 39: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,648 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6579#true} {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,648 INFO L272 TraceCheckUtils]: 41: Hoare triple {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,648 INFO L290 TraceCheckUtils]: 42: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,648 INFO L290 TraceCheckUtils]: 43: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,648 INFO L290 TraceCheckUtils]: 44: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,649 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6579#true} {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #90#return; {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,649 INFO L272 TraceCheckUtils]: 46: Hoare triple {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,649 INFO L290 TraceCheckUtils]: 47: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,649 INFO L290 TraceCheckUtils]: 48: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,649 INFO L290 TraceCheckUtils]: 49: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,650 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6579#true} {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #92#return; {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,650 INFO L290 TraceCheckUtils]: 51: Hoare triple {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~r~0 >= 2 * ~b~0); {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,650 INFO L272 TraceCheckUtils]: 52: Hoare triple {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,650 INFO L290 TraceCheckUtils]: 53: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,650 INFO L290 TraceCheckUtils]: 54: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,650 INFO L290 TraceCheckUtils]: 55: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,651 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6579#true} {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #94#return; {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,652 INFO L290 TraceCheckUtils]: 57: Hoare triple {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {6757#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,652 INFO L290 TraceCheckUtils]: 58: Hoare triple {6757#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0))} assume !false; {6757#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,652 INFO L272 TraceCheckUtils]: 59: Hoare triple {6757#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,653 INFO L290 TraceCheckUtils]: 60: Hoare triple {6579#true} ~cond := #in~cond; {6767#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:29:30,653 INFO L290 TraceCheckUtils]: 61: Hoare triple {6767#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:29:30,653 INFO L290 TraceCheckUtils]: 62: Hoare triple {6771#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:29:30,654 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {6771#(not (= |__VERIFIER_assert_#in~cond| 0))} {6757#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0))} #88#return; {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-08 11:29:30,654 INFO L272 TraceCheckUtils]: 64: Hoare triple {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,654 INFO L290 TraceCheckUtils]: 65: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,654 INFO L290 TraceCheckUtils]: 66: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,655 INFO L290 TraceCheckUtils]: 67: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,655 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6579#true} {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} #90#return; {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-08 11:29:30,655 INFO L272 TraceCheckUtils]: 69: Hoare triple {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,655 INFO L290 TraceCheckUtils]: 70: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,655 INFO L290 TraceCheckUtils]: 71: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,656 INFO L290 TraceCheckUtils]: 72: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,656 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6579#true} {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} #92#return; {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-08 11:29:30,657 INFO L290 TraceCheckUtils]: 74: Hoare triple {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} assume !!(~r~0 >= 2 * ~b~0); {6812#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (* main_~b~0 2) main_~r~0) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-08 11:29:30,657 INFO L272 TraceCheckUtils]: 75: Hoare triple {6812#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (* main_~b~0 2) main_~r~0) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,657 INFO L290 TraceCheckUtils]: 76: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,657 INFO L290 TraceCheckUtils]: 77: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,657 INFO L290 TraceCheckUtils]: 78: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,658 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6579#true} {6812#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (* main_~b~0 2) main_~r~0) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} #94#return; {6812#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (* main_~b~0 2) main_~r~0) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-08 11:29:30,661 INFO L290 TraceCheckUtils]: 80: Hoare triple {6812#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (* main_~b~0 2) main_~r~0) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} is VALID [2022-04-08 11:29:30,662 INFO L290 TraceCheckUtils]: 81: Hoare triple {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} assume !false; {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} is VALID [2022-04-08 11:29:30,662 INFO L272 TraceCheckUtils]: 82: Hoare triple {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,662 INFO L290 TraceCheckUtils]: 83: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,662 INFO L290 TraceCheckUtils]: 84: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,662 INFO L290 TraceCheckUtils]: 85: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,662 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6579#true} {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} #88#return; {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} is VALID [2022-04-08 11:29:30,663 INFO L272 TraceCheckUtils]: 87: Hoare triple {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,663 INFO L290 TraceCheckUtils]: 88: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,663 INFO L290 TraceCheckUtils]: 89: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,663 INFO L290 TraceCheckUtils]: 90: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,663 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {6579#true} {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} #90#return; {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} is VALID [2022-04-08 11:29:30,663 INFO L272 TraceCheckUtils]: 92: Hoare triple {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,663 INFO L290 TraceCheckUtils]: 93: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,664 INFO L290 TraceCheckUtils]: 94: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,664 INFO L290 TraceCheckUtils]: 95: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,664 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {6579#true} {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} #92#return; {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} is VALID [2022-04-08 11:29:30,665 INFO L290 TraceCheckUtils]: 97: Hoare triple {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} assume !(~r~0 >= 2 * ~b~0); {6883#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= (* main_~y~0 2) (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) (< main_~r~0 (* main_~b~0 2)) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~b~0) (= main_~q~0 0))} is VALID [2022-04-08 11:29:30,668 INFO L290 TraceCheckUtils]: 98: Hoare triple {6883#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= (* main_~y~0 2) (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) (< main_~r~0 (* main_~b~0 2)) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~b~0) (= main_~q~0 0))} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} is VALID [2022-04-08 11:29:30,669 INFO L290 TraceCheckUtils]: 99: Hoare triple {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} assume !false; {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} is VALID [2022-04-08 11:29:30,669 INFO L272 TraceCheckUtils]: 100: Hoare triple {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6579#true} is VALID [2022-04-08 11:29:30,669 INFO L290 TraceCheckUtils]: 101: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-08 11:29:30,669 INFO L290 TraceCheckUtils]: 102: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-08 11:29:30,669 INFO L290 TraceCheckUtils]: 103: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-08 11:29:30,670 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {6579#true} {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} #84#return; {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} is VALID [2022-04-08 11:29:30,672 INFO L272 TraceCheckUtils]: 105: Hoare triple {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {6909#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:29:30,672 INFO L290 TraceCheckUtils]: 106: Hoare triple {6909#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6913#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:29:30,672 INFO L290 TraceCheckUtils]: 107: Hoare triple {6913#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6580#false} is VALID [2022-04-08 11:29:30,672 INFO L290 TraceCheckUtils]: 108: Hoare triple {6580#false} assume !false; {6580#false} is VALID [2022-04-08 11:29:30,673 INFO L134 CoverageAnalysis]: Checked inductivity of 424 backedges. 45 proven. 42 refuted. 0 times theorem prover too weak. 337 trivial. 0 not checked. [2022-04-08 11:29:30,673 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:29:43,497 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 11:30:21,674 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:30:21,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1125686831] [2022-04-08 11:30:21,674 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:30:21,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1247426098] [2022-04-08 11:30:21,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1247426098] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 11:30:21,675 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 11:30:21,675 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2022-04-08 11:30:21,675 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:30:21,675 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1257468523] [2022-04-08 11:30:21,675 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1257468523] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:30:21,675 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:30:21,675 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 11:30:21,675 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2075394675] [2022-04-08 11:30:21,675 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:30:21,676 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 109 [2022-04-08 11:30:21,676 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:30:21,676 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 11:30:21,739 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:30:21,740 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 11:30:21,740 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:30:21,740 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 11:30:21,740 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=112, Invalid=394, Unknown=0, NotChecked=0, Total=506 [2022-04-08 11:30:21,740 INFO L87 Difference]: Start difference. First operand 120 states and 152 transitions. Second operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 11:30:28,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:30:28,338 INFO L93 Difference]: Finished difference Result 164 states and 211 transitions. [2022-04-08 11:30:28,338 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 11:30:28,338 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 109 [2022-04-08 11:30:28,338 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:30:28,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 11:30:28,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 125 transitions. [2022-04-08 11:30:28,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 11:30:28,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 125 transitions. [2022-04-08 11:30:28,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 125 transitions. [2022-04-08 11:30:28,465 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:30:28,467 INFO L225 Difference]: With dead ends: 164 [2022-04-08 11:30:28,468 INFO L226 Difference]: Without dead ends: 161 [2022-04-08 11:30:28,468 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 162 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 163 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=125, Invalid=475, Unknown=0, NotChecked=0, Total=600 [2022-04-08 11:30:28,469 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 29 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 612 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 649 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 612 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.8s IncrementalHoareTripleChecker+Time [2022-04-08 11:30:28,469 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 235 Invalid, 649 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 612 Invalid, 0 Unknown, 0 Unchecked, 2.8s Time] [2022-04-08 11:30:28,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-08 11:30:28,701 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 156. [2022-04-08 11:30:28,702 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:30:28,702 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 156 states, 88 states have (on average 1.125) internal successors, (99), 89 states have internal predecessors, (99), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 50 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-08 11:30:28,702 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 156 states, 88 states have (on average 1.125) internal successors, (99), 89 states have internal predecessors, (99), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 50 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-08 11:30:28,703 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 156 states, 88 states have (on average 1.125) internal successors, (99), 89 states have internal predecessors, (99), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 50 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-08 11:30:28,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:30:28,706 INFO L93 Difference]: Finished difference Result 161 states and 207 transitions. [2022-04-08 11:30:28,706 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 207 transitions. [2022-04-08 11:30:28,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:30:28,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:30:28,712 INFO L74 IsIncluded]: Start isIncluded. First operand has 156 states, 88 states have (on average 1.125) internal successors, (99), 89 states have internal predecessors, (99), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 50 states have call predecessors, (50), 50 states have call successors, (50) Second operand 161 states. [2022-04-08 11:30:28,712 INFO L87 Difference]: Start difference. First operand has 156 states, 88 states have (on average 1.125) internal successors, (99), 89 states have internal predecessors, (99), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 50 states have call predecessors, (50), 50 states have call successors, (50) Second operand 161 states. [2022-04-08 11:30:28,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:30:28,716 INFO L93 Difference]: Finished difference Result 161 states and 207 transitions. [2022-04-08 11:30:28,716 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 207 transitions. [2022-04-08 11:30:28,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:30:28,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:30:28,717 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:30:28,717 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:30:28,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 156 states, 88 states have (on average 1.125) internal successors, (99), 89 states have internal predecessors, (99), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 50 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-08 11:30:28,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 156 states to 156 states and 201 transitions. [2022-04-08 11:30:28,730 INFO L78 Accepts]: Start accepts. Automaton has 156 states and 201 transitions. Word has length 109 [2022-04-08 11:30:28,731 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:30:28,731 INFO L478 AbstractCegarLoop]: Abstraction has 156 states and 201 transitions. [2022-04-08 11:30:28,731 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-08 11:30:28,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 156 states and 201 transitions. [2022-04-08 11:30:28,982 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 11:30:28,982 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 201 transitions. [2022-04-08 11:30:28,983 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-08 11:30:28,983 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 11:30:28,983 INFO L499 BasicCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 11:30:29,002 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 11:30:29,191 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 11:30:29,191 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 11:30:29,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 11:30:29,192 INFO L85 PathProgramCache]: Analyzing trace with hash 800180238, now seen corresponding path program 5 times [2022-04-08 11:30:29,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 11:30:29,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1345916918] [2022-04-08 11:30:29,192 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 11:30:29,192 INFO L85 PathProgramCache]: Analyzing trace with hash 800180238, now seen corresponding path program 6 times [2022-04-08 11:30:29,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 11:30:29,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [865592693] [2022-04-08 11:30:29,193 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 11:30:29,193 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 11:30:29,213 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 11:30:29,213 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1542756766] [2022-04-08 11:30:29,213 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 11:30:29,213 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 11:30:29,213 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 11:30:29,216 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 11:30:29,220 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 11:30:29,264 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 11:30:29,265 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 11:30:29,266 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 11:30:29,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 11:30:29,296 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 11:30:29,564 INFO L272 TraceCheckUtils]: 0: Hoare triple {8122#true} call ULTIMATE.init(); {8122#true} is VALID [2022-04-08 11:30:29,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {8122#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(14, 2);call #Ultimate.allocInit(12, 3); {8122#true} is VALID [2022-04-08 11:30:29,564 INFO L290 TraceCheckUtils]: 2: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,564 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8122#true} {8122#true} #98#return; {8122#true} is VALID [2022-04-08 11:30:29,564 INFO L272 TraceCheckUtils]: 4: Hoare triple {8122#true} call #t~ret6 := main(); {8122#true} is VALID [2022-04-08 11:30:29,564 INFO L290 TraceCheckUtils]: 5: Hoare triple {8122#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8122#true} is VALID [2022-04-08 11:30:29,564 INFO L272 TraceCheckUtils]: 6: Hoare triple {8122#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,564 INFO L290 TraceCheckUtils]: 7: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,564 INFO L290 TraceCheckUtils]: 8: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L290 TraceCheckUtils]: 9: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8122#true} {8122#true} #78#return; {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L290 TraceCheckUtils]: 11: Hoare triple {8122#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L272 TraceCheckUtils]: 12: Hoare triple {8122#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L290 TraceCheckUtils]: 13: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L290 TraceCheckUtils]: 14: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L290 TraceCheckUtils]: 15: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8122#true} {8122#true} #80#return; {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L272 TraceCheckUtils]: 17: Hoare triple {8122#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L290 TraceCheckUtils]: 18: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L290 TraceCheckUtils]: 19: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L290 TraceCheckUtils]: 20: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8122#true} {8122#true} #82#return; {8122#true} is VALID [2022-04-08 11:30:29,565 INFO L290 TraceCheckUtils]: 22: Hoare triple {8122#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L290 TraceCheckUtils]: 23: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L272 TraceCheckUtils]: 24: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L290 TraceCheckUtils]: 25: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L290 TraceCheckUtils]: 26: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L290 TraceCheckUtils]: 27: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8122#true} {8122#true} #84#return; {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L272 TraceCheckUtils]: 29: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L290 TraceCheckUtils]: 30: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L290 TraceCheckUtils]: 31: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L290 TraceCheckUtils]: 32: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8122#true} {8122#true} #86#return; {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L290 TraceCheckUtils]: 34: Hoare triple {8122#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L290 TraceCheckUtils]: 35: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-08 11:30:29,566 INFO L272 TraceCheckUtils]: 36: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L290 TraceCheckUtils]: 37: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L290 TraceCheckUtils]: 38: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L290 TraceCheckUtils]: 39: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8122#true} {8122#true} #88#return; {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L272 TraceCheckUtils]: 41: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L290 TraceCheckUtils]: 42: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L290 TraceCheckUtils]: 43: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L290 TraceCheckUtils]: 44: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8122#true} {8122#true} #90#return; {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L272 TraceCheckUtils]: 46: Hoare triple {8122#true} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L290 TraceCheckUtils]: 47: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L290 TraceCheckUtils]: 48: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L290 TraceCheckUtils]: 49: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,567 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8122#true} {8122#true} #92#return; {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L290 TraceCheckUtils]: 51: Hoare triple {8122#true} assume !!(~r~0 >= 2 * ~b~0); {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L272 TraceCheckUtils]: 52: Hoare triple {8122#true} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L290 TraceCheckUtils]: 53: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L290 TraceCheckUtils]: 54: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L290 TraceCheckUtils]: 55: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8122#true} {8122#true} #94#return; {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L290 TraceCheckUtils]: 57: Hoare triple {8122#true} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L290 TraceCheckUtils]: 58: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L272 TraceCheckUtils]: 59: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L290 TraceCheckUtils]: 60: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L290 TraceCheckUtils]: 61: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L290 TraceCheckUtils]: 62: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {8122#true} {8122#true} #88#return; {8122#true} is VALID [2022-04-08 11:30:29,568 INFO L272 TraceCheckUtils]: 64: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L290 TraceCheckUtils]: 65: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L290 TraceCheckUtils]: 66: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L290 TraceCheckUtils]: 67: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8122#true} {8122#true} #90#return; {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L272 TraceCheckUtils]: 69: Hoare triple {8122#true} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L290 TraceCheckUtils]: 70: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L290 TraceCheckUtils]: 71: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L290 TraceCheckUtils]: 72: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8122#true} {8122#true} #92#return; {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L290 TraceCheckUtils]: 74: Hoare triple {8122#true} assume !(~r~0 >= 2 * ~b~0); {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L290 TraceCheckUtils]: 75: Hoare triple {8122#true} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L290 TraceCheckUtils]: 76: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L272 TraceCheckUtils]: 77: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,569 INFO L290 TraceCheckUtils]: 78: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,570 INFO L290 TraceCheckUtils]: 79: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,570 INFO L290 TraceCheckUtils]: 80: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,570 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8122#true} {8122#true} #84#return; {8122#true} is VALID [2022-04-08 11:30:29,570 INFO L272 TraceCheckUtils]: 82: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,570 INFO L290 TraceCheckUtils]: 83: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,570 INFO L290 TraceCheckUtils]: 84: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,570 INFO L290 TraceCheckUtils]: 85: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,570 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8122#true} {8122#true} #86#return; {8122#true} is VALID [2022-04-08 11:30:29,570 INFO L290 TraceCheckUtils]: 87: Hoare triple {8122#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {8122#true} is VALID [2022-04-08 11:30:29,570 INFO L290 TraceCheckUtils]: 88: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-08 11:30:29,570 INFO L272 TraceCheckUtils]: 89: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,570 INFO L290 TraceCheckUtils]: 90: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,571 INFO L290 TraceCheckUtils]: 91: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,571 INFO L290 TraceCheckUtils]: 92: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,571 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {8122#true} {8122#true} #88#return; {8122#true} is VALID [2022-04-08 11:30:29,571 INFO L272 TraceCheckUtils]: 94: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,571 INFO L290 TraceCheckUtils]: 95: Hoare triple {8122#true} ~cond := #in~cond; {8412#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:30:29,572 INFO L290 TraceCheckUtils]: 96: Hoare triple {8412#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:30:29,572 INFO L290 TraceCheckUtils]: 97: Hoare triple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:30:29,572 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} {8122#true} #90#return; {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-08 11:30:29,572 INFO L272 TraceCheckUtils]: 99: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,573 INFO L290 TraceCheckUtils]: 100: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:29,573 INFO L290 TraceCheckUtils]: 101: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:29,573 INFO L290 TraceCheckUtils]: 102: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:29,573 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {8122#true} {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} #92#return; {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-08 11:30:29,573 INFO L290 TraceCheckUtils]: 104: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} assume !(~r~0 >= 2 * ~b~0); {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-08 11:30:29,582 INFO L290 TraceCheckUtils]: 105: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {8445#(= main_~r~0 (+ main_~x~0 (* (- 1) main_~b~0) (* main_~a~0 main_~y~0) (* (- 1) main_~q~0 main_~y~0)))} is VALID [2022-04-08 11:30:29,582 INFO L290 TraceCheckUtils]: 106: Hoare triple {8445#(= main_~r~0 (+ main_~x~0 (* (- 1) main_~b~0) (* main_~a~0 main_~y~0) (* (- 1) main_~q~0 main_~y~0)))} assume !false; {8445#(= main_~r~0 (+ main_~x~0 (* (- 1) main_~b~0) (* main_~a~0 main_~y~0) (* (- 1) main_~q~0 main_~y~0)))} is VALID [2022-04-08 11:30:29,583 INFO L272 TraceCheckUtils]: 107: Hoare triple {8445#(= main_~r~0 (+ main_~x~0 (* (- 1) main_~b~0) (* main_~a~0 main_~y~0) (* (- 1) main_~q~0 main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:29,583 INFO L290 TraceCheckUtils]: 108: Hoare triple {8122#true} ~cond := #in~cond; {8412#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:30:29,583 INFO L290 TraceCheckUtils]: 109: Hoare triple {8412#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:30:29,583 INFO L290 TraceCheckUtils]: 110: Hoare triple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:30:29,584 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} {8445#(= main_~r~0 (+ main_~x~0 (* (- 1) main_~b~0) (* main_~a~0 main_~y~0) (* (- 1) main_~q~0 main_~y~0)))} #84#return; {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-08 11:30:29,585 INFO L272 TraceCheckUtils]: 112: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8467#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:30:29,585 INFO L290 TraceCheckUtils]: 113: Hoare triple {8467#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8471#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:30:29,585 INFO L290 TraceCheckUtils]: 114: Hoare triple {8471#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8123#false} is VALID [2022-04-08 11:30:29,585 INFO L290 TraceCheckUtils]: 115: Hoare triple {8123#false} assume !false; {8123#false} is VALID [2022-04-08 11:30:29,586 INFO L134 CoverageAnalysis]: Checked inductivity of 488 backedges. 114 proven. 5 refuted. 0 times theorem prover too weak. 369 trivial. 0 not checked. [2022-04-08 11:30:29,586 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 11:30:44,384 INFO L290 TraceCheckUtils]: 115: Hoare triple {8123#false} assume !false; {8123#false} is VALID [2022-04-08 11:30:44,384 INFO L290 TraceCheckUtils]: 114: Hoare triple {8471#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8123#false} is VALID [2022-04-08 11:30:44,385 INFO L290 TraceCheckUtils]: 113: Hoare triple {8467#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8471#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 11:30:44,385 INFO L272 TraceCheckUtils]: 112: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8467#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 11:30:44,386 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} {8490#(or (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (not (= main_~b~0 (* main_~a~0 main_~y~0))))} #84#return; {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-08 11:30:44,386 INFO L290 TraceCheckUtils]: 110: Hoare triple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:30:44,386 INFO L290 TraceCheckUtils]: 109: Hoare triple {8500#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:30:44,387 INFO L290 TraceCheckUtils]: 108: Hoare triple {8122#true} ~cond := #in~cond; {8500#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 11:30:44,396 INFO L272 TraceCheckUtils]: 107: Hoare triple {8490#(or (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (not (= main_~b~0 (* main_~a~0 main_~y~0))))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,397 INFO L290 TraceCheckUtils]: 106: Hoare triple {8490#(or (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (not (= main_~b~0 (* main_~a~0 main_~y~0))))} assume !false; {8490#(or (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (not (= main_~b~0 (* main_~a~0 main_~y~0))))} is VALID [2022-04-08 11:30:44,401 INFO L290 TraceCheckUtils]: 105: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {8490#(or (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (not (= main_~b~0 (* main_~a~0 main_~y~0))))} is VALID [2022-04-08 11:30:44,402 INFO L290 TraceCheckUtils]: 104: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} assume !(~r~0 >= 2 * ~b~0); {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-08 11:30:44,402 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {8122#true} {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} #92#return; {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-08 11:30:44,402 INFO L290 TraceCheckUtils]: 102: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,402 INFO L290 TraceCheckUtils]: 101: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,402 INFO L290 TraceCheckUtils]: 100: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,402 INFO L272 TraceCheckUtils]: 99: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,403 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} {8122#true} #90#return; {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-08 11:30:44,403 INFO L290 TraceCheckUtils]: 97: Hoare triple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:30:44,403 INFO L290 TraceCheckUtils]: 96: Hoare triple {8500#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 11:30:44,404 INFO L290 TraceCheckUtils]: 95: Hoare triple {8122#true} ~cond := #in~cond; {8500#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 11:30:44,404 INFO L272 TraceCheckUtils]: 94: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,404 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {8122#true} {8122#true} #88#return; {8122#true} is VALID [2022-04-08 11:30:44,404 INFO L290 TraceCheckUtils]: 92: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,404 INFO L290 TraceCheckUtils]: 91: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,404 INFO L290 TraceCheckUtils]: 90: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,404 INFO L272 TraceCheckUtils]: 89: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,404 INFO L290 TraceCheckUtils]: 88: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-08 11:30:44,404 INFO L290 TraceCheckUtils]: 87: Hoare triple {8122#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {8122#true} is VALID [2022-04-08 11:30:44,404 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8122#true} {8122#true} #86#return; {8122#true} is VALID [2022-04-08 11:30:44,404 INFO L290 TraceCheckUtils]: 85: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,404 INFO L290 TraceCheckUtils]: 84: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L290 TraceCheckUtils]: 83: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L272 TraceCheckUtils]: 82: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8122#true} {8122#true} #84#return; {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L290 TraceCheckUtils]: 80: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L290 TraceCheckUtils]: 79: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L290 TraceCheckUtils]: 78: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L272 TraceCheckUtils]: 77: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L290 TraceCheckUtils]: 76: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L290 TraceCheckUtils]: 75: Hoare triple {8122#true} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L290 TraceCheckUtils]: 74: Hoare triple {8122#true} assume !(~r~0 >= 2 * ~b~0); {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8122#true} {8122#true} #92#return; {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L290 TraceCheckUtils]: 72: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L290 TraceCheckUtils]: 71: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,405 INFO L290 TraceCheckUtils]: 70: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L272 TraceCheckUtils]: 69: Hoare triple {8122#true} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8122#true} {8122#true} #90#return; {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L290 TraceCheckUtils]: 67: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L290 TraceCheckUtils]: 66: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L290 TraceCheckUtils]: 65: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L272 TraceCheckUtils]: 64: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {8122#true} {8122#true} #88#return; {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L290 TraceCheckUtils]: 62: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L290 TraceCheckUtils]: 61: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L290 TraceCheckUtils]: 60: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L272 TraceCheckUtils]: 59: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L290 TraceCheckUtils]: 58: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L290 TraceCheckUtils]: 57: Hoare triple {8122#true} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {8122#true} is VALID [2022-04-08 11:30:44,406 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8122#true} {8122#true} #94#return; {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L290 TraceCheckUtils]: 55: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L290 TraceCheckUtils]: 54: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L290 TraceCheckUtils]: 53: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L272 TraceCheckUtils]: 52: Hoare triple {8122#true} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L290 TraceCheckUtils]: 51: Hoare triple {8122#true} assume !!(~r~0 >= 2 * ~b~0); {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8122#true} {8122#true} #92#return; {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L290 TraceCheckUtils]: 49: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L290 TraceCheckUtils]: 48: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L290 TraceCheckUtils]: 47: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L272 TraceCheckUtils]: 46: Hoare triple {8122#true} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8122#true} {8122#true} #90#return; {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L290 TraceCheckUtils]: 44: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,407 INFO L290 TraceCheckUtils]: 43: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L290 TraceCheckUtils]: 42: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L272 TraceCheckUtils]: 41: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8122#true} {8122#true} #88#return; {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L290 TraceCheckUtils]: 39: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L290 TraceCheckUtils]: 38: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L290 TraceCheckUtils]: 37: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L272 TraceCheckUtils]: 36: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L290 TraceCheckUtils]: 35: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L290 TraceCheckUtils]: 34: Hoare triple {8122#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8122#true} {8122#true} #86#return; {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L290 TraceCheckUtils]: 32: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L290 TraceCheckUtils]: 31: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L290 TraceCheckUtils]: 30: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L272 TraceCheckUtils]: 29: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,408 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8122#true} {8122#true} #84#return; {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L290 TraceCheckUtils]: 27: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L290 TraceCheckUtils]: 26: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L290 TraceCheckUtils]: 25: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L272 TraceCheckUtils]: 24: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L290 TraceCheckUtils]: 23: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L290 TraceCheckUtils]: 22: Hoare triple {8122#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8122#true} {8122#true} #82#return; {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L290 TraceCheckUtils]: 20: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L290 TraceCheckUtils]: 19: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L290 TraceCheckUtils]: 18: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L272 TraceCheckUtils]: 17: Hoare triple {8122#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8122#true} {8122#true} #80#return; {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L290 TraceCheckUtils]: 15: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,409 INFO L290 TraceCheckUtils]: 14: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L290 TraceCheckUtils]: 13: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L272 TraceCheckUtils]: 12: Hoare triple {8122#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L290 TraceCheckUtils]: 11: Hoare triple {8122#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8122#true} {8122#true} #78#return; {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L290 TraceCheckUtils]: 9: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L290 TraceCheckUtils]: 8: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L290 TraceCheckUtils]: 7: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L272 TraceCheckUtils]: 6: Hoare triple {8122#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L290 TraceCheckUtils]: 5: Hoare triple {8122#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L272 TraceCheckUtils]: 4: Hoare triple {8122#true} call #t~ret6 := main(); {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8122#true} {8122#true} #98#return; {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L290 TraceCheckUtils]: 2: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L290 TraceCheckUtils]: 1: Hoare triple {8122#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(14, 2);call #Ultimate.allocInit(12, 3); {8122#true} is VALID [2022-04-08 11:30:44,410 INFO L272 TraceCheckUtils]: 0: Hoare triple {8122#true} call ULTIMATE.init(); {8122#true} is VALID [2022-04-08 11:30:44,411 INFO L134 CoverageAnalysis]: Checked inductivity of 488 backedges. 114 proven. 5 refuted. 0 times theorem prover too weak. 369 trivial. 0 not checked. [2022-04-08 11:30:44,411 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 11:30:44,411 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [865592693] [2022-04-08 11:30:44,411 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 11:30:44,411 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1542756766] [2022-04-08 11:30:44,411 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1542756766] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 11:30:44,411 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 11:30:44,411 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-08 11:30:44,412 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 11:30:44,412 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1345916918] [2022-04-08 11:30:44,412 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1345916918] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 11:30:44,412 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 11:30:44,412 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 11:30:44,412 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [10763739] [2022-04-08 11:30:44,412 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 11:30:44,412 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) Word has length 116 [2022-04-08 11:30:44,413 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 11:30:44,413 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-08 11:30:44,452 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 11:30:44,452 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 11:30:44,452 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 11:30:44,453 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 11:30:44,453 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-08 11:30:44,453 INFO L87 Difference]: Start difference. First operand 156 states and 201 transitions. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-08 11:30:45,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:30:45,014 INFO L93 Difference]: Finished difference Result 164 states and 207 transitions. [2022-04-08 11:30:45,014 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 11:30:45,015 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) Word has length 116 [2022-04-08 11:30:45,015 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 11:30:45,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-08 11:30:45,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-08 11:30:45,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-08 11:30:45,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-08 11:30:45,017 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 46 transitions. [2022-04-08 11:30:45,060 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 11:30:45,061 INFO L225 Difference]: With dead ends: 164 [2022-04-08 11:30:45,061 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 11:30:45,063 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 235 GetRequests, 221 SyntacticMatches, 3 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-08 11:30:45,064 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 17 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 134 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 11:30:45,064 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 129 Invalid, 134 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 11:30:45,064 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 11:30:45,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 11:30:45,064 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 11:30:45,064 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 11:30:45,065 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 11:30:45,065 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 11:30:45,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:30:45,065 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 11:30:45,065 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 11:30:45,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:30:45,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:30:45,065 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 11:30:45,065 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 11:30:45,065 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 11:30:45,065 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 11:30:45,065 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 11:30:45,065 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:30:45,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 11:30:45,065 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 11:30:45,065 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 11:30:45,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 11:30:45,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 11:30:45,066 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 116 [2022-04-08 11:30:45,066 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 11:30:45,066 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 11:30:45,066 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-08 11:30:45,066 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 11:30:45,066 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 11:30:45,066 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 11:30:45,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 11:30:45,068 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 11:30:45,085 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 11:30:45,280 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 11:30:45,282 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 11:30:52,416 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-08 11:30:52,417 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-08 11:30:52,417 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-08 11:30:52,417 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-08 11:30:52,417 INFO L878 garLoopResultBuilder]: At program point L12(line 12) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-08 11:30:52,417 INFO L878 garLoopResultBuilder]: At program point L12-2(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 11:30:52,417 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-08 11:30:52,417 INFO L885 garLoopResultBuilder]: At program point L64(line 64) the Hoare annotation is: true [2022-04-08 11:30:52,417 INFO L878 garLoopResultBuilder]: At program point L31(line 31) the Hoare annotation is: (and (<= 1 main_~y~0) (<= main_~y~0 50)) [2022-04-08 11:30:52,417 INFO L885 garLoopResultBuilder]: At program point L29(line 29) the Hoare annotation is: true [2022-04-08 11:30:52,417 INFO L878 garLoopResultBuilder]: At program point L29-1(line 29) the Hoare annotation is: (and (<= 0 main_~y~0) (<= main_~y~0 50)) [2022-04-08 11:30:52,417 INFO L885 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: true [2022-04-08 11:30:52,417 INFO L885 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: true [2022-04-08 11:30:52,417 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 22 66) the Hoare annotation is: true [2022-04-08 11:30:52,417 INFO L878 garLoopResultBuilder]: At program point L50(lines 47 59) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-08 11:30:52,417 INFO L878 garLoopResultBuilder]: At program point L48(line 48) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-08 11:30:52,418 INFO L878 garLoopResultBuilder]: At program point L48-1(line 48) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-08 11:30:52,418 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 22 66) the Hoare annotation is: true [2022-04-08 11:30:52,418 INFO L878 garLoopResultBuilder]: At program point L40(lines 38 62) the Hoare annotation is: (and (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (<= 1 main_~y~0) (= main_~b~0 (* main_~a~0 main_~y~0)) (<= main_~y~0 50)) [2022-04-08 11:30:52,418 INFO L878 garLoopResultBuilder]: At program point L38-2(lines 38 62) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-08 11:30:52,418 INFO L878 garLoopResultBuilder]: At program point L38-3(lines 38 62) the Hoare annotation is: (let ((.cse0 (<= 1 main_~y~0)) (.cse1 (= main_~b~0 (* main_~a~0 main_~y~0))) (.cse2 (<= main_~y~0 50))) (or (and (= main_~x~0 (+ main_~y~0 main_~r~0)) (= main_~q~0 1) .cse0 .cse1 .cse2) (and (= main_~x~0 main_~r~0) (= main_~q~0 0) .cse0 .cse2) (and (< main_~r~0 main_~y~0) (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) .cse0 .cse1 .cse2) (and (< main_~x~0 (* main_~b~0 2)) (= main_~x~0 (+ main_~b~0 main_~r~0)) (= main_~a~0 main_~q~0) (= main_~a~0 2) .cse0 .cse1 .cse2))) [2022-04-08 11:30:52,418 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 22 66) the Hoare annotation is: true [2022-04-08 11:30:52,418 INFO L878 garLoopResultBuilder]: At program point L55(line 55) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= (* 2 .cse0) main_~r~0) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-08 11:30:52,418 INFO L878 garLoopResultBuilder]: At program point L55-1(line 55) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= (* 2 .cse0) main_~r~0) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-08 11:30:52,418 INFO L878 garLoopResultBuilder]: At program point L49(line 49) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-08 11:30:52,418 INFO L878 garLoopResultBuilder]: At program point L47-2(lines 47 59) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-08 11:30:52,418 INFO L878 garLoopResultBuilder]: At program point L47-3(lines 47 59) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-08 11:30:52,418 INFO L878 garLoopResultBuilder]: At program point L39(line 39) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-08 11:30:52,418 INFO L878 garLoopResultBuilder]: At program point L39-1(line 39) the Hoare annotation is: (and (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (<= 1 main_~y~0) (= main_~b~0 (* main_~a~0 main_~y~0)) (<= main_~y~0 50)) [2022-04-08 11:30:52,418 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 11:30:52,418 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-08 11:30:52,419 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 11:30:52,419 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 11:30:52,419 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 11:30:52,419 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 11:30:52,419 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 11:30:52,419 INFO L878 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 11:30:52,419 INFO L878 garLoopResultBuilder]: At program point L15(lines 15 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 11:30:52,419 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-08 11:30:52,419 INFO L878 garLoopResultBuilder]: At program point L15-2(lines 14 20) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 11:30:52,419 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 14 20) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-08 11:30:52,419 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 11:30:52,421 INFO L719 BasicCegarLoop]: Path program histogram: [6, 4, 2, 2, 2, 2, 2, 2] [2022-04-08 11:30:52,422 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 11:30:52,424 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 11:30:52,430 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 11:30:52,450 INFO L163 areAnnotationChecker]: CFG has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-08 11:30:52,457 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 11:30:52 BoogieIcfgContainer [2022-04-08 11:30:52,457 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 11:30:52,458 INFO L158 Benchmark]: Toolchain (without parser) took 243085.74ms. Allocated memory was 184.5MB in the beginning and 244.3MB in the end (delta: 59.8MB). Free memory was 128.8MB in the beginning and 123.1MB in the end (delta: 5.7MB). Peak memory consumption was 120.2MB. Max. memory is 8.0GB. [2022-04-08 11:30:52,458 INFO L158 Benchmark]: CDTParser took 0.12ms. Allocated memory is still 184.5MB. Free memory is still 145.4MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 11:30:52,458 INFO L158 Benchmark]: CACSL2BoogieTranslator took 221.49ms. Allocated memory is still 184.5MB. Free memory was 128.7MB in the beginning and 155.3MB in the end (delta: -26.6MB). Peak memory consumption was 8.9MB. Max. memory is 8.0GB. [2022-04-08 11:30:52,458 INFO L158 Benchmark]: Boogie Preprocessor took 26.18ms. Allocated memory is still 184.5MB. Free memory was 155.3MB in the beginning and 154.2MB in the end (delta: 1.0MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-08 11:30:52,459 INFO L158 Benchmark]: RCFGBuilder took 257.38ms. Allocated memory is still 184.5MB. Free memory was 153.7MB in the beginning and 141.6MB in the end (delta: 12.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-08 11:30:52,459 INFO L158 Benchmark]: TraceAbstraction took 242568.93ms. Allocated memory was 184.5MB in the beginning and 244.3MB in the end (delta: 59.8MB). Free memory was 141.1MB in the beginning and 123.1MB in the end (delta: 18.0MB). Peak memory consumption was 131.2MB. Max. memory is 8.0GB. [2022-04-08 11:30:52,460 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.12ms. Allocated memory is still 184.5MB. Free memory is still 145.4MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 221.49ms. Allocated memory is still 184.5MB. Free memory was 128.7MB in the beginning and 155.3MB in the end (delta: -26.6MB). Peak memory consumption was 8.9MB. Max. memory is 8.0GB. * Boogie Preprocessor took 26.18ms. Allocated memory is still 184.5MB. Free memory was 155.3MB in the beginning and 154.2MB in the end (delta: 1.0MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 257.38ms. Allocated memory is still 184.5MB. Free memory was 153.7MB in the beginning and 141.6MB in the end (delta: 12.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 242568.93ms. Allocated memory was 184.5MB in the beginning and 244.3MB in the end (delta: 59.8MB). Free memory was 141.1MB in the beginning and 123.1MB in the end (delta: 18.0MB). Peak memory consumption was 131.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 17]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 42 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 242.5s, OverallIterations: 11, TraceHistogramMax: 16, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 12.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 7.1s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 261 SdHoareTripleChecker+Valid, 4.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 195 mSDsluCounter, 1790 SdHoareTripleChecker+Invalid, 4.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1337 mSDsCounter, 129 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2117 IncrementalHoareTripleChecker+Invalid, 2246 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 129 mSolverCounterUnsat, 453 mSDtfsCounter, 2117 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1062 GetRequests, 949 SyntacticMatches, 9 SemanticMatches, 104 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 330 ImplicationChecksByTransitivity, 1.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=156occurred in iteration=10, InterpolantAutomatonStates: 85, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.1s AutomataMinimizationTime, 11 MinimizatonAttempts, 49 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 39 LocationsWithAnnotation, 517 PreInvPairs, 756 NumberOfFragments, 487 HoareAnnotationTreeSize, 517 FomulaSimplifications, 541 FormulaSimplificationTreeSizeReduction, 0.6s HoareSimplificationTime, 39 FomulaSimplificationsInter, 10690 FormulaSimplificationTreeSizeReductionInter, 6.5s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 47]: Loop Invariant Derived loop invariant: (((q * y + b + r == x + a * y && 1 <= r) && 1 <= y) && b == a * y) && y <= 50 - InvariantResult [Line: 38]: Loop Invariant Derived loop invariant: ((q * y + b + r == x + a * y && 1 <= y) && b == a * y) && y <= 50 - ProcedureContractResult [Line: 11]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 22]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 14]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-08 11:30:52,519 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...