/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:18:03,645 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:18:03,647 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:18:03,682 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:18:03,693 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:18:03,695 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:18:03,701 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:18:03,703 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:18:03,705 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:18:03,709 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:18:03,710 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:18:03,712 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:18:03,712 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:18:03,713 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:18:03,713 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:18:03,714 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:18:03,714 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:18:03,715 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:18:03,716 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:18:03,717 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:18:03,717 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:18:03,721 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:18:03,722 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:18:03,723 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:18:03,724 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:18:03,729 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:18:03,729 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:18:03,729 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:18:03,730 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:18:03,730 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:18:03,731 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:18:03,731 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:18:03,732 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:18:03,732 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:18:03,733 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:18:03,733 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:18:03,734 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:18:03,734 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:18:03,734 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:18:03,734 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:18:03,735 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:18:03,737 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:18:03,738 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:18:03,747 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:18:03,747 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:18:03,748 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:18:03,748 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:18:03,748 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:18:03,748 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:18:03,748 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:18:03,749 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:18:03,749 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:18:03,749 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:18:03,749 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:18:03,750 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:18:03,750 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:18:03,750 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:18:03,750 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:18:03,750 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:18:03,750 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:18:03,750 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:18:03,750 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:18:03,750 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:18:03,750 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:18:03,750 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:18:03,750 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 12:18:03,958 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:18:03,983 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:18:03,985 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:18:03,986 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:18:03,992 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:18:03,992 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c [2022-04-28 12:18:04,046 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4c56ef727/e3a8aa5f44d7485887a798804979045b/FLAGce076a259 [2022-04-28 12:18:04,352 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:18:04,352 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c [2022-04-28 12:18:04,358 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4c56ef727/e3a8aa5f44d7485887a798804979045b/FLAGce076a259 [2022-04-28 12:18:04,777 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4c56ef727/e3a8aa5f44d7485887a798804979045b [2022-04-28 12:18:04,779 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:18:04,780 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:18:04,782 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:18:04,782 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:18:04,784 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:18:04,785 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:18:04" (1/1) ... [2022-04-28 12:18:04,786 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2ce2b74f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:04, skipping insertion in model container [2022-04-28 12:18:04,786 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:18:04" (1/1) ... [2022-04-28 12:18:04,791 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:18:04,801 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:18:04,915 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c[490,503] [2022-04-28 12:18:04,944 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:18:04,955 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:18:04,965 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound1.c[490,503] [2022-04-28 12:18:04,980 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:18:04,989 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:18:04,989 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:04 WrapperNode [2022-04-28 12:18:04,989 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:18:04,990 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:18:04,990 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:18:04,990 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:18:04,996 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:04" (1/1) ... [2022-04-28 12:18:04,996 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:04" (1/1) ... [2022-04-28 12:18:05,000 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:04" (1/1) ... [2022-04-28 12:18:05,000 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:04" (1/1) ... [2022-04-28 12:18:05,004 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:04" (1/1) ... [2022-04-28 12:18:05,009 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:04" (1/1) ... [2022-04-28 12:18:05,009 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:04" (1/1) ... [2022-04-28 12:18:05,010 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:18:05,011 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:18:05,011 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:18:05,011 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:18:05,013 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:04" (1/1) ... [2022-04-28 12:18:05,018 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:18:05,025 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:05,034 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 12:18:05,041 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 12:18:05,061 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:18:05,062 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:18:05,062 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:18:05,062 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:18:05,062 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:18:05,062 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:18:05,062 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:18:05,062 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:18:05,062 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:18:05,062 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:18:05,062 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:18:05,062 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:18:05,063 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:18:05,063 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:18:05,063 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:18:05,063 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:18:05,063 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:18:05,063 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:18:05,063 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:18:05,063 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:18:05,104 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:18:05,105 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:18:05,303 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:18:05,308 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:18:05,308 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 12:18:05,309 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:18:05 BoogieIcfgContainer [2022-04-28 12:18:05,309 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:18:05,310 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:18:05,310 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:18:05,312 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:18:05,313 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:18:04" (1/3) ... [2022-04-28 12:18:05,313 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2740dd1c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:18:05, skipping insertion in model container [2022-04-28 12:18:05,313 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:18:04" (2/3) ... [2022-04-28 12:18:05,313 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2740dd1c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:18:05, skipping insertion in model container [2022-04-28 12:18:05,313 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:18:05" (3/3) ... [2022-04-28 12:18:05,314 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound1.c [2022-04-28 12:18:05,322 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:18:05,323 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:18:05,349 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:18:05,373 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@7af2f54b, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@2afaad02 [2022-04-28 12:18:05,373 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:18:05,382 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:18:05,388 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 12:18:05,388 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:05,388 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:05,389 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:05,392 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:05,392 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 1 times [2022-04-28 12:18:05,398 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:05,399 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1723088557] [2022-04-28 12:18:05,411 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:05,411 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 2 times [2022-04-28 12:18:05,413 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:05,413 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1229406673] [2022-04-28 12:18:05,414 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:05,414 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:05,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:05,569 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:18:05,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:05,594 INFO L290 TraceCheckUtils]: 0: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-28 12:18:05,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 12:18:05,594 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-28 12:18:05,595 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:18:05,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:05,603 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:18:05,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:18:05,604 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:18:05,604 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-28 12:18:05,604 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:18:05,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:05,609 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:18:05,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:18:05,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:18:05,610 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-28 12:18:05,610 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:18:05,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:05,616 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:18:05,616 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:18:05,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:18:05,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-28 12:18:05,617 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 12:18:05,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:05,627 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:18:05,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:18:05,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:18:05,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-28 12:18:05,630 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 12:18:05,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:05,637 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:18:05,638 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:18:05,638 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:18:05,638 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-28 12:18:05,638 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-28 12:18:05,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:05,648 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:18:05,649 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:18:05,649 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:18:05,649 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-28 12:18:05,650 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:18:05,651 INFO L290 TraceCheckUtils]: 1: Hoare triple {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-28 12:18:05,651 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 12:18:05,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-28 12:18:05,651 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-28 12:18:05,651 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-28 12:18:05,652 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-28 12:18:05,652 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:18:05,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:18:05,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:18:05,653 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-28 12:18:05,654 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-28 12:18:05,654 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {43#true} is VALID [2022-04-28 12:18:05,654 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:18:05,655 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:18:05,655 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:18:05,655 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-28 12:18:05,656 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-28 12:18:05,656 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:18:05,656 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:18:05,657 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:18:05,660 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-28 12:18:05,661 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-28 12:18:05,661 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:18:05,661 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:18:05,661 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:18:05,662 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-28 12:18:05,662 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {44#false} is VALID [2022-04-28 12:18:05,662 INFO L272 TraceCheckUtils]: 28: Hoare triple {44#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-28 12:18:05,662 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:18:05,664 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:18:05,665 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:18:05,665 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-28 12:18:05,665 INFO L272 TraceCheckUtils]: 33: Hoare triple {44#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-28 12:18:05,665 INFO L290 TraceCheckUtils]: 34: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:18:05,667 INFO L290 TraceCheckUtils]: 35: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:18:05,667 INFO L290 TraceCheckUtils]: 36: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:18:05,667 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-28 12:18:05,668 INFO L290 TraceCheckUtils]: 38: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-04-28 12:18:05,668 INFO L272 TraceCheckUtils]: 39: Hoare triple {44#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {44#false} is VALID [2022-04-28 12:18:05,668 INFO L290 TraceCheckUtils]: 40: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-28 12:18:05,668 INFO L290 TraceCheckUtils]: 41: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-28 12:18:05,668 INFO L290 TraceCheckUtils]: 42: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-28 12:18:05,669 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-28 12:18:05,669 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:05,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1229406673] [2022-04-28 12:18:05,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1229406673] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:05,670 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:05,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:18:05,673 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:05,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1723088557] [2022-04-28 12:18:05,674 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1723088557] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:05,674 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:05,674 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:18:05,674 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1022882461] [2022-04-28 12:18:05,675 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:05,679 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-28 12:18:05,680 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:05,682 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:05,725 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:05,725 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:18:05,725 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:05,748 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:18:05,749 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:18:05,751 INFO L87 Difference]: Start difference. First operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:05,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:05,929 INFO L93 Difference]: Finished difference Result 73 states and 118 transitions. [2022-04-28 12:18:05,929 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:18:05,929 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-28 12:18:05,929 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:05,930 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:05,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-28 12:18:05,938 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:05,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-28 12:18:05,970 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 118 transitions. [2022-04-28 12:18:06,090 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:06,096 INFO L225 Difference]: With dead ends: 73 [2022-04-28 12:18:06,096 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 12:18:06,098 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:18:06,100 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:06,101 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 42 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:18:06,110 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 12:18:06,120 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-28 12:18:06,121 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:06,121 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:18:06,122 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:18:06,122 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:18:06,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:06,126 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-28 12:18:06,126 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 12:18:06,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:06,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:06,127 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-28 12:18:06,127 INFO L87 Difference]: Start difference. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-28 12:18:06,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:06,130 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-28 12:18:06,130 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 12:18:06,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:06,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:06,131 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:06,131 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:06,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:18:06,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 46 transitions. [2022-04-28 12:18:06,135 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 46 transitions. Word has length 43 [2022-04-28 12:18:06,135 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:06,135 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 46 transitions. [2022-04-28 12:18:06,135 INFO L496 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:06,135 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 46 transitions. [2022-04-28 12:18:06,178 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:06,179 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 12:18:06,180 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 12:18:06,180 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:06,180 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:06,180 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:18:06,180 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:06,181 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:06,181 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 1 times [2022-04-28 12:18:06,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:06,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2072201478] [2022-04-28 12:18:06,182 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:06,182 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 2 times [2022-04-28 12:18:06,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:06,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [153184993] [2022-04-28 12:18:06,182 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:06,182 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:06,200 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:06,201 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [55241330] [2022-04-28 12:18:06,201 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:06,201 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:06,201 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:06,202 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:18:06,237 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 12:18:06,262 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:18:06,262 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:06,264 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:18:06,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:06,279 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:06,477 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-28 12:18:06,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {361#true} is VALID [2022-04-28 12:18:06,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:18:06,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-28 12:18:06,478 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-28 12:18:06,478 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {361#true} is VALID [2022-04-28 12:18:06,478 INFO L272 TraceCheckUtils]: 6: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 12:18:06,479 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:18:06,479 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:18:06,479 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:18:06,479 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-28 12:18:06,479 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {361#true} is VALID [2022-04-28 12:18:06,479 INFO L272 TraceCheckUtils]: 12: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 12:18:06,479 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:18:06,480 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:18:06,480 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:18:06,480 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-28 12:18:06,480 INFO L272 TraceCheckUtils]: 17: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 12:18:06,480 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:18:06,481 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:18:06,481 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:18:06,481 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-28 12:18:06,481 INFO L272 TraceCheckUtils]: 22: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 12:18:06,482 INFO L290 TraceCheckUtils]: 23: Hoare triple {361#true} ~cond := #in~cond; {435#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:18:06,482 INFO L290 TraceCheckUtils]: 24: Hoare triple {435#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:06,483 INFO L290 TraceCheckUtils]: 25: Hoare triple {439#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:06,483 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {439#(not (= |assume_abort_if_not_#in~cond| 0))} {361#true} #85#return; {446#(<= 1 main_~y~0)} is VALID [2022-04-28 12:18:06,484 INFO L290 TraceCheckUtils]: 27: Hoare triple {446#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:06,484 INFO L272 TraceCheckUtils]: 28: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-28 12:18:06,484 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:18:06,486 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:18:06,487 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:18:06,488 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:06,488 INFO L272 TraceCheckUtils]: 33: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-28 12:18:06,488 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:18:06,488 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:18:06,488 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:18:06,491 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:06,491 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:06,491 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-28 12:18:06,492 INFO L272 TraceCheckUtils]: 40: Hoare triple {362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {362#false} is VALID [2022-04-28 12:18:06,492 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-28 12:18:06,492 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-28 12:18:06,492 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-28 12:18:06,493 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 12:18:06,493 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:06,757 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-28 12:18:06,757 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-28 12:18:06,757 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-28 12:18:06,757 INFO L272 TraceCheckUtils]: 40: Hoare triple {362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {362#false} is VALID [2022-04-28 12:18:06,759 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-28 12:18:06,759 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:06,759 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:06,760 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:18:06,760 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:18:06,760 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:18:06,760 INFO L272 TraceCheckUtils]: 33: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-28 12:18:06,767 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:06,768 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:18:06,768 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:18:06,768 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:18:06,768 INFO L272 TraceCheckUtils]: 28: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-28 12:18:06,769 INFO L290 TraceCheckUtils]: 27: Hoare triple {446#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:18:06,769 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {439#(not (= |assume_abort_if_not_#in~cond| 0))} {361#true} #85#return; {446#(<= 1 main_~y~0)} is VALID [2022-04-28 12:18:06,769 INFO L290 TraceCheckUtils]: 25: Hoare triple {439#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:06,770 INFO L290 TraceCheckUtils]: 24: Hoare triple {559#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:06,770 INFO L290 TraceCheckUtils]: 23: Hoare triple {361#true} ~cond := #in~cond; {559#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:18:06,770 INFO L272 TraceCheckUtils]: 22: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 12:18:06,771 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-28 12:18:06,771 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:18:06,771 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:18:06,771 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:18:06,771 INFO L272 TraceCheckUtils]: 17: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 12:18:06,771 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-28 12:18:06,771 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:18:06,771 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:18:06,771 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:18:06,771 INFO L272 TraceCheckUtils]: 12: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 12:18:06,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {361#true} is VALID [2022-04-28 12:18:06,772 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-28 12:18:06,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:18:06,772 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:18:06,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:18:06,772 INFO L272 TraceCheckUtils]: 6: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 12:18:06,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {361#true} is VALID [2022-04-28 12:18:06,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-28 12:18:06,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-28 12:18:06,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:18:06,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {361#true} is VALID [2022-04-28 12:18:06,773 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-28 12:18:06,773 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 12:18:06,773 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:06,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [153184993] [2022-04-28 12:18:06,773 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:06,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [55241330] [2022-04-28 12:18:06,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [55241330] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:18:06,773 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:18:06,774 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 12:18:06,774 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:06,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2072201478] [2022-04-28 12:18:06,774 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2072201478] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:06,774 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:06,775 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:18:06,775 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [259002562] [2022-04-28 12:18:06,775 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:06,775 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-28 12:18:06,776 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:06,776 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:06,799 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:06,800 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:18:06,800 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:06,800 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:18:06,801 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:18:06,801 INFO L87 Difference]: Start difference. First operand 35 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:07,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:07,083 INFO L93 Difference]: Finished difference Result 52 states and 69 transitions. [2022-04-28 12:18:07,083 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:18:07,083 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-28 12:18:07,084 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:07,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:07,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 12:18:07,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:07,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 12:18:07,088 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-28 12:18:07,133 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:07,135 INFO L225 Difference]: With dead ends: 52 [2022-04-28 12:18:07,135 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 12:18:07,135 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 81 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:18:07,136 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 19 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:07,136 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 128 Invalid, 101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:18:07,137 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 12:18:07,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-28 12:18:07,171 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:07,171 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:18:07,171 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:18:07,172 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:18:07,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:07,174 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-28 12:18:07,174 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-28 12:18:07,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:07,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:07,175 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-28 12:18:07,175 INFO L87 Difference]: Start difference. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-28 12:18:07,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:07,177 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-28 12:18:07,178 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-28 12:18:07,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:07,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:07,178 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:07,178 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:07,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:18:07,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-28 12:18:07,180 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 44 [2022-04-28 12:18:07,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:07,180 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-28 12:18:07,181 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:18:07,181 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 48 transitions. [2022-04-28 12:18:07,220 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:07,221 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-28 12:18:07,221 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 12:18:07,221 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:07,221 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:07,241 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-28 12:18:07,437 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:07,438 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:07,438 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:07,438 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 1 times [2022-04-28 12:18:07,438 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:07,438 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1197976900] [2022-04-28 12:18:07,439 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:07,439 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 2 times [2022-04-28 12:18:07,439 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:07,439 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1556378656] [2022-04-28 12:18:07,439 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:07,439 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:07,455 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:07,455 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [448431131] [2022-04-28 12:18:07,455 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:07,455 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:07,455 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:07,456 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:18:07,457 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 12:18:07,504 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:18:07,504 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:07,505 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 12:18:07,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:07,515 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:07,633 INFO L272 TraceCheckUtils]: 0: Hoare triple {901#true} call ULTIMATE.init(); {901#true} is VALID [2022-04-28 12:18:07,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {901#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {901#true} is VALID [2022-04-28 12:18:07,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:18:07,634 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {901#true} {901#true} #103#return; {901#true} is VALID [2022-04-28 12:18:07,634 INFO L272 TraceCheckUtils]: 4: Hoare triple {901#true} call #t~ret6 := main(); {901#true} is VALID [2022-04-28 12:18:07,634 INFO L290 TraceCheckUtils]: 5: Hoare triple {901#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {901#true} is VALID [2022-04-28 12:18:07,634 INFO L272 TraceCheckUtils]: 6: Hoare triple {901#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {901#true} is VALID [2022-04-28 12:18:07,634 INFO L290 TraceCheckUtils]: 7: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 12:18:07,634 INFO L290 TraceCheckUtils]: 8: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 12:18:07,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:18:07,634 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {901#true} {901#true} #79#return; {901#true} is VALID [2022-04-28 12:18:07,634 INFO L290 TraceCheckUtils]: 11: Hoare triple {901#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {901#true} is VALID [2022-04-28 12:18:07,634 INFO L272 TraceCheckUtils]: 12: Hoare triple {901#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {901#true} is VALID [2022-04-28 12:18:07,635 INFO L290 TraceCheckUtils]: 13: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 12:18:07,635 INFO L290 TraceCheckUtils]: 14: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 12:18:07,635 INFO L290 TraceCheckUtils]: 15: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:18:07,635 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {901#true} {901#true} #81#return; {901#true} is VALID [2022-04-28 12:18:07,636 INFO L272 TraceCheckUtils]: 17: Hoare triple {901#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {901#true} is VALID [2022-04-28 12:18:07,636 INFO L290 TraceCheckUtils]: 18: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 12:18:07,636 INFO L290 TraceCheckUtils]: 19: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 12:18:07,636 INFO L290 TraceCheckUtils]: 20: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:18:07,636 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {901#true} {901#true} #83#return; {901#true} is VALID [2022-04-28 12:18:07,636 INFO L272 TraceCheckUtils]: 22: Hoare triple {901#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {901#true} is VALID [2022-04-28 12:18:07,636 INFO L290 TraceCheckUtils]: 23: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 12:18:07,636 INFO L290 TraceCheckUtils]: 24: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 12:18:07,636 INFO L290 TraceCheckUtils]: 25: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:18:07,636 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {901#true} {901#true} #85#return; {901#true} is VALID [2022-04-28 12:18:07,636 INFO L290 TraceCheckUtils]: 27: Hoare triple {901#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {901#true} is VALID [2022-04-28 12:18:07,637 INFO L272 TraceCheckUtils]: 28: Hoare triple {901#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {901#true} is VALID [2022-04-28 12:18:07,639 INFO L290 TraceCheckUtils]: 29: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 12:18:07,639 INFO L290 TraceCheckUtils]: 30: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 12:18:07,639 INFO L290 TraceCheckUtils]: 31: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:18:07,640 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {901#true} {901#true} #87#return; {901#true} is VALID [2022-04-28 12:18:07,640 INFO L272 TraceCheckUtils]: 33: Hoare triple {901#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {901#true} is VALID [2022-04-28 12:18:07,640 INFO L290 TraceCheckUtils]: 34: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 12:18:07,640 INFO L290 TraceCheckUtils]: 35: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 12:18:07,640 INFO L290 TraceCheckUtils]: 36: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:18:07,640 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {901#true} {901#true} #89#return; {901#true} is VALID [2022-04-28 12:18:07,640 INFO L290 TraceCheckUtils]: 38: Hoare triple {901#true} assume !false; {901#true} is VALID [2022-04-28 12:18:07,641 INFO L290 TraceCheckUtils]: 39: Hoare triple {901#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:18:07,641 INFO L290 TraceCheckUtils]: 40: Hoare triple {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !false; {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:18:07,642 INFO L272 TraceCheckUtils]: 41: Hoare triple {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:07,642 INFO L290 TraceCheckUtils]: 42: Hoare triple {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:07,642 INFO L290 TraceCheckUtils]: 43: Hoare triple {1034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {902#false} is VALID [2022-04-28 12:18:07,642 INFO L290 TraceCheckUtils]: 44: Hoare triple {902#false} assume !false; {902#false} is VALID [2022-04-28 12:18:07,643 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-28 12:18:07,643 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:18:07,643 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:07,643 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1556378656] [2022-04-28 12:18:07,643 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:07,644 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [448431131] [2022-04-28 12:18:07,644 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [448431131] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:07,644 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:07,644 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:18:07,644 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:07,644 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1197976900] [2022-04-28 12:18:07,644 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1197976900] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:07,644 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:07,644 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:18:07,644 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [917697490] [2022-04-28 12:18:07,644 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:07,645 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-28 12:18:07,647 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:07,647 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 12:18:07,666 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:07,666 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:18:07,666 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:07,667 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:18:07,667 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:18:07,667 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 12:18:07,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:07,825 INFO L93 Difference]: Finished difference Result 50 states and 65 transitions. [2022-04-28 12:18:07,825 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:18:07,825 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-28 12:18:07,826 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:07,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 12:18:07,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 12:18:07,827 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 12:18:07,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 12:18:07,828 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-28 12:18:07,874 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:07,877 INFO L225 Difference]: With dead ends: 50 [2022-04-28 12:18:07,877 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 12:18:07,878 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:18:07,887 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 6 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:07,887 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 154 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:18:07,888 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 12:18:07,911 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 43. [2022-04-28 12:18:07,911 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:07,912 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:18:07,914 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:18:07,914 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:18:07,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:07,917 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-28 12:18:07,917 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-28 12:18:07,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:07,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:07,918 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 48 states. [2022-04-28 12:18:07,918 INFO L87 Difference]: Start difference. First operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 48 states. [2022-04-28 12:18:07,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:07,922 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-28 12:18:07,922 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-28 12:18:07,923 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:07,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:07,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:07,926 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:07,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:18:07,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 54 transitions. [2022-04-28 12:18:07,929 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 54 transitions. Word has length 45 [2022-04-28 12:18:07,929 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:07,929 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 54 transitions. [2022-04-28 12:18:07,930 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 12:18:07,930 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 54 transitions. [2022-04-28 12:18:07,976 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:07,977 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-28 12:18:07,978 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 12:18:07,978 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:07,978 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:07,996 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 12:18:08,191 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 12:18:08,192 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:08,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:08,192 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 1 times [2022-04-28 12:18:08,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:08,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [338264484] [2022-04-28 12:18:08,192 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:08,192 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 2 times [2022-04-28 12:18:08,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:08,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [624763931] [2022-04-28 12:18:08,193 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:08,193 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:08,211 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:08,211 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [221644575] [2022-04-28 12:18:08,211 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:08,212 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:08,212 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:08,230 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:18:08,232 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 12:18:08,270 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:18:08,270 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:08,271 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-28 12:18:08,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:08,282 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:08,963 INFO L272 TraceCheckUtils]: 0: Hoare triple {1324#true} call ULTIMATE.init(); {1324#true} is VALID [2022-04-28 12:18:08,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {1324#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1324#true} is VALID [2022-04-28 12:18:08,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:18:08,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1324#true} {1324#true} #103#return; {1324#true} is VALID [2022-04-28 12:18:08,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {1324#true} call #t~ret6 := main(); {1324#true} is VALID [2022-04-28 12:18:08,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {1324#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1324#true} is VALID [2022-04-28 12:18:08,964 INFO L272 TraceCheckUtils]: 6: Hoare triple {1324#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:18:08,964 INFO L290 TraceCheckUtils]: 7: Hoare triple {1324#true} ~cond := #in~cond; {1350#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:18:08,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {1350#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1354#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:08,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {1354#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1354#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:08,966 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1354#(not (= |assume_abort_if_not_#in~cond| 0))} {1324#true} #79#return; {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 12:18:08,966 INFO L290 TraceCheckUtils]: 11: Hoare triple {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 12:18:08,966 INFO L272 TraceCheckUtils]: 12: Hoare triple {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:18:08,966 INFO L290 TraceCheckUtils]: 13: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 12:18:08,966 INFO L290 TraceCheckUtils]: 14: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 12:18:08,967 INFO L290 TraceCheckUtils]: 15: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:18:08,967 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1324#true} {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 12:18:08,967 INFO L272 TraceCheckUtils]: 17: Hoare triple {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:18:08,967 INFO L290 TraceCheckUtils]: 18: Hoare triple {1324#true} ~cond := #in~cond; {1350#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:18:08,968 INFO L290 TraceCheckUtils]: 19: Hoare triple {1350#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1354#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:08,968 INFO L290 TraceCheckUtils]: 20: Hoare triple {1354#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1354#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:08,969 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1354#(not (= |assume_abort_if_not_#in~cond| 0))} {1361#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #83#return; {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 12:18:08,969 INFO L272 TraceCheckUtils]: 22: Hoare triple {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:18:08,969 INFO L290 TraceCheckUtils]: 23: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 12:18:08,969 INFO L290 TraceCheckUtils]: 24: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 12:18:08,969 INFO L290 TraceCheckUtils]: 25: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:18:08,969 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1324#true} {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} #85#return; {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 12:18:08,970 INFO L290 TraceCheckUtils]: 27: Hoare triple {1395#(and (<= 1 main_~x~0) (<= main_~x~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:08,970 INFO L272 TraceCheckUtils]: 28: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:18:08,970 INFO L290 TraceCheckUtils]: 29: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 12:18:08,970 INFO L290 TraceCheckUtils]: 30: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 12:18:08,970 INFO L290 TraceCheckUtils]: 31: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:18:08,971 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1324#true} {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:08,971 INFO L272 TraceCheckUtils]: 33: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:18:08,971 INFO L290 TraceCheckUtils]: 34: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 12:18:08,971 INFO L290 TraceCheckUtils]: 35: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 12:18:08,971 INFO L290 TraceCheckUtils]: 36: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:18:08,972 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1324#true} {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:08,972 INFO L290 TraceCheckUtils]: 38: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:08,973 INFO L290 TraceCheckUtils]: 39: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:08,973 INFO L290 TraceCheckUtils]: 40: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:08,973 INFO L272 TraceCheckUtils]: 41: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:18:08,973 INFO L290 TraceCheckUtils]: 42: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 12:18:08,974 INFO L290 TraceCheckUtils]: 43: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 12:18:08,974 INFO L290 TraceCheckUtils]: 44: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:18:08,974 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1324#true} {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:18:08,975 INFO L272 TraceCheckUtils]: 46: Hoare triple {1414#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~x~0 1) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1472#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:08,975 INFO L290 TraceCheckUtils]: 47: Hoare triple {1472#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1476#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:08,976 INFO L290 TraceCheckUtils]: 48: Hoare triple {1476#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1325#false} is VALID [2022-04-28 12:18:08,976 INFO L290 TraceCheckUtils]: 49: Hoare triple {1325#false} assume !false; {1325#false} is VALID [2022-04-28 12:18:08,976 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 5 proven. 21 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 12:18:08,976 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:18:45,567 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:18:45,567 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [624763931] [2022-04-28 12:18:45,568 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:18:45,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [221644575] [2022-04-28 12:18:45,568 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [221644575] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:18:45,568 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:18:45,568 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-28 12:18:45,568 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:18:45,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [338264484] [2022-04-28 12:18:45,568 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [338264484] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:18:45,568 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:18:45,568 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:18:45,568 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1558446244] [2022-04-28 12:18:45,568 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:18:45,592 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-28 12:18:45,593 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:18:45,593 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 12:18:45,653 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-28 12:18:45,653 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:18:45,654 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:45,654 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:18:45,654 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:18:45,654 INFO L87 Difference]: Start difference. First operand 43 states and 54 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 12:18:46,286 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:46,286 INFO L93 Difference]: Finished difference Result 58 states and 74 transitions. [2022-04-28 12:18:46,287 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:18:46,287 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-28 12:18:46,287 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:18:46,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 12:18:46,288 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-28 12:18:46,288 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 12:18:46,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-28 12:18:46,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-28 12:18:46,372 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:46,374 INFO L225 Difference]: With dead ends: 58 [2022-04-28 12:18:46,374 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 12:18:46,374 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 45 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:18:46,375 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 31 mSDsluCounter, 153 mSDsCounter, 0 mSdLazyCounter, 139 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 193 SdHoareTripleChecker+Invalid, 153 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 139 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:18:46,375 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [40 Valid, 193 Invalid, 153 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 139 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:18:46,375 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 12:18:46,465 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 55. [2022-04-28 12:18:46,466 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:18:46,466 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:18:46,466 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:18:46,466 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:18:46,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:46,468 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-28 12:18:46,468 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-28 12:18:46,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:46,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:46,469 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 56 states. [2022-04-28 12:18:46,469 INFO L87 Difference]: Start difference. First operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 56 states. [2022-04-28 12:18:46,471 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:18:46,471 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-28 12:18:46,471 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-28 12:18:46,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:18:46,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:18:46,471 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:18:46,471 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:18:46,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:18:46,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 71 transitions. [2022-04-28 12:18:46,473 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 71 transitions. Word has length 50 [2022-04-28 12:18:46,473 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:18:46,473 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 71 transitions. [2022-04-28 12:18:46,473 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 12:18:46,474 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 71 transitions. [2022-04-28 12:18:46,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:18:46,586 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 71 transitions. [2022-04-28 12:18:46,588 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 12:18:46,588 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:18:46,588 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:18:46,631 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-28 12:18:46,788 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:46,789 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:18:46,789 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:18:46,789 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 1 times [2022-04-28 12:18:46,789 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:18:46,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [639474504] [2022-04-28 12:18:46,789 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:18:46,789 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 2 times [2022-04-28 12:18:46,790 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:18:46,790 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1393825065] [2022-04-28 12:18:46,790 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:18:46,790 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:18:46,806 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:18:46,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1387655023] [2022-04-28 12:18:46,807 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:18:46,807 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:18:46,807 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:18:46,823 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:18:46,824 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 12:18:46,899 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:18:46,899 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:18:46,900 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:18:46,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:18:46,910 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:18:51,668 INFO L272 TraceCheckUtils]: 0: Hoare triple {1840#true} call ULTIMATE.init(); {1840#true} is VALID [2022-04-28 12:18:51,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {1840#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1840#true} is VALID [2022-04-28 12:18:51,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-28 12:18:51,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1840#true} {1840#true} #103#return; {1840#true} is VALID [2022-04-28 12:18:51,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {1840#true} call #t~ret6 := main(); {1840#true} is VALID [2022-04-28 12:18:51,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {1840#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1840#true} is VALID [2022-04-28 12:18:51,668 INFO L272 TraceCheckUtils]: 6: Hoare triple {1840#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1840#true} is VALID [2022-04-28 12:18:51,668 INFO L290 TraceCheckUtils]: 7: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-28 12:18:51,669 INFO L290 TraceCheckUtils]: 8: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-28 12:18:51,669 INFO L290 TraceCheckUtils]: 9: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-28 12:18:51,669 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1840#true} {1840#true} #79#return; {1840#true} is VALID [2022-04-28 12:18:51,669 INFO L290 TraceCheckUtils]: 11: Hoare triple {1840#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1840#true} is VALID [2022-04-28 12:18:51,669 INFO L272 TraceCheckUtils]: 12: Hoare triple {1840#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1840#true} is VALID [2022-04-28 12:18:51,674 INFO L290 TraceCheckUtils]: 13: Hoare triple {1840#true} ~cond := #in~cond; {1884#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:18:51,674 INFO L290 TraceCheckUtils]: 14: Hoare triple {1884#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1888#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:51,674 INFO L290 TraceCheckUtils]: 15: Hoare triple {1888#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1888#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:18:51,675 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1888#(not (= |assume_abort_if_not_#in~cond| 0))} {1840#true} #81#return; {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:18:51,675 INFO L272 TraceCheckUtils]: 17: Hoare triple {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1840#true} is VALID [2022-04-28 12:18:51,675 INFO L290 TraceCheckUtils]: 18: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-28 12:18:51,675 INFO L290 TraceCheckUtils]: 19: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-28 12:18:51,675 INFO L290 TraceCheckUtils]: 20: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-28 12:18:51,676 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1840#true} {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:18:51,676 INFO L272 TraceCheckUtils]: 22: Hoare triple {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1840#true} is VALID [2022-04-28 12:18:51,676 INFO L290 TraceCheckUtils]: 23: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-28 12:18:51,676 INFO L290 TraceCheckUtils]: 24: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-28 12:18:51,676 INFO L290 TraceCheckUtils]: 25: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-28 12:18:51,676 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1840#true} {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:18:51,678 INFO L290 TraceCheckUtils]: 27: Hoare triple {1895#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:18:51,678 INFO L272 TraceCheckUtils]: 28: Hoare triple {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1840#true} is VALID [2022-04-28 12:18:51,678 INFO L290 TraceCheckUtils]: 29: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-28 12:18:51,678 INFO L290 TraceCheckUtils]: 30: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-28 12:18:51,678 INFO L290 TraceCheckUtils]: 31: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-28 12:18:51,679 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1840#true} {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #87#return; {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:18:51,679 INFO L272 TraceCheckUtils]: 33: Hoare triple {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1840#true} is VALID [2022-04-28 12:18:51,679 INFO L290 TraceCheckUtils]: 34: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-28 12:18:51,679 INFO L290 TraceCheckUtils]: 35: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-28 12:18:51,679 INFO L290 TraceCheckUtils]: 36: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-28 12:18:51,680 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1840#true} {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #89#return; {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:18:51,680 INFO L290 TraceCheckUtils]: 38: Hoare triple {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:18:51,680 INFO L290 TraceCheckUtils]: 39: Hoare triple {1929#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:18:51,681 INFO L290 TraceCheckUtils]: 40: Hoare triple {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:18:51,681 INFO L272 TraceCheckUtils]: 41: Hoare triple {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1840#true} is VALID [2022-04-28 12:18:51,681 INFO L290 TraceCheckUtils]: 42: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-28 12:18:51,681 INFO L290 TraceCheckUtils]: 43: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-28 12:18:51,681 INFO L290 TraceCheckUtils]: 44: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-28 12:18:51,682 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1840#true} {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} #91#return; {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:18:51,682 INFO L272 TraceCheckUtils]: 46: Hoare triple {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1840#true} is VALID [2022-04-28 12:18:51,682 INFO L290 TraceCheckUtils]: 47: Hoare triple {1840#true} ~cond := #in~cond; {1840#true} is VALID [2022-04-28 12:18:51,682 INFO L290 TraceCheckUtils]: 48: Hoare triple {1840#true} assume !(0 == ~cond); {1840#true} is VALID [2022-04-28 12:18:51,682 INFO L290 TraceCheckUtils]: 49: Hoare triple {1840#true} assume true; {1840#true} is VALID [2022-04-28 12:18:51,683 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1840#true} {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} #93#return; {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:18:51,684 INFO L272 TraceCheckUtils]: 51: Hoare triple {1966#(and (<= 0 main_~y~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2003#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:18:51,685 INFO L290 TraceCheckUtils]: 52: Hoare triple {2003#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2007#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:18:51,685 INFO L290 TraceCheckUtils]: 53: Hoare triple {2007#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1841#false} is VALID [2022-04-28 12:18:51,685 INFO L290 TraceCheckUtils]: 54: Hoare triple {1841#false} assume !false; {1841#false} is VALID [2022-04-28 12:18:51,685 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 7 proven. 12 refuted. 0 times theorem prover too weak. 49 trivial. 0 not checked. [2022-04-28 12:18:51,685 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:19:25,043 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:19:25,043 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1393825065] [2022-04-28 12:19:25,043 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:19:25,043 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1387655023] [2022-04-28 12:19:25,043 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1387655023] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:19:25,043 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:19:25,043 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-28 12:19:25,043 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:19:25,043 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [639474504] [2022-04-28 12:19:25,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [639474504] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:19:25,044 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:19:25,044 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:19:25,044 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1716806455] [2022-04-28 12:19:25,044 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:19:25,044 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 55 [2022-04-28 12:19:25,044 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:19:25,044 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:19:25,075 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:25,075 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:19:25,075 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:25,075 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:19:25,075 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:19:25,076 INFO L87 Difference]: Start difference. First operand 55 states and 71 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:19:25,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:25,909 INFO L93 Difference]: Finished difference Result 62 states and 77 transitions. [2022-04-28 12:19:25,909 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:19:25,909 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 55 [2022-04-28 12:19:25,909 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:19:25,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:19:25,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-28 12:19:25,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:19:25,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-28 12:19:25,912 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-28 12:19:25,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:25,991 INFO L225 Difference]: With dead ends: 62 [2022-04-28 12:19:25,991 INFO L226 Difference]: Without dead ends: 60 [2022-04-28 12:19:25,992 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 50 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:19:25,992 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 22 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 169 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 169 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:19:25,992 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 180 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 169 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:19:25,992 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-28 12:19:26,101 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 59. [2022-04-28 12:19:26,102 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:19:26,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:19:26,102 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:19:26,102 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:19:26,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:26,106 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-28 12:19:26,106 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-28 12:19:26,106 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:26,106 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:26,106 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 60 states. [2022-04-28 12:19:26,107 INFO L87 Difference]: Start difference. First operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 60 states. [2022-04-28 12:19:26,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:19:26,110 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-28 12:19:26,110 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-28 12:19:26,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:19:26,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:19:26,116 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:19:26,116 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:19:26,116 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:19:26,119 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 74 transitions. [2022-04-28 12:19:26,125 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 74 transitions. Word has length 55 [2022-04-28 12:19:26,127 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:19:26,127 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 74 transitions. [2022-04-28 12:19:26,128 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:19:26,128 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 74 transitions. [2022-04-28 12:19:26,238 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:19:26,238 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 74 transitions. [2022-04-28 12:19:26,239 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-28 12:19:26,239 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:19:26,239 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:19:26,274 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 12:19:26,447 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:26,447 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:19:26,448 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:19:26,448 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 1 times [2022-04-28 12:19:26,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:19:26,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1607883730] [2022-04-28 12:19:26,448 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:19:26,448 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 2 times [2022-04-28 12:19:26,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:19:26,449 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [751007659] [2022-04-28 12:19:26,449 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:19:26,449 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:19:26,462 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:19:26,462 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1797822161] [2022-04-28 12:19:26,462 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:19:26,462 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:19:26,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:19:26,469 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:19:26,475 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 12:19:26,572 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:19:26,572 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:19:26,573 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 12:19:26,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:19:26,586 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:19:29,585 INFO L272 TraceCheckUtils]: 0: Hoare triple {2395#true} call ULTIMATE.init(); {2395#true} is VALID [2022-04-28 12:19:29,585 INFO L290 TraceCheckUtils]: 1: Hoare triple {2395#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2395#true} is VALID [2022-04-28 12:19:29,585 INFO L290 TraceCheckUtils]: 2: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-28 12:19:29,585 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2395#true} {2395#true} #103#return; {2395#true} is VALID [2022-04-28 12:19:29,585 INFO L272 TraceCheckUtils]: 4: Hoare triple {2395#true} call #t~ret6 := main(); {2395#true} is VALID [2022-04-28 12:19:29,585 INFO L290 TraceCheckUtils]: 5: Hoare triple {2395#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2395#true} is VALID [2022-04-28 12:19:29,585 INFO L272 TraceCheckUtils]: 6: Hoare triple {2395#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2395#true} is VALID [2022-04-28 12:19:29,586 INFO L290 TraceCheckUtils]: 7: Hoare triple {2395#true} ~cond := #in~cond; {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:19:29,586 INFO L290 TraceCheckUtils]: 8: Hoare triple {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:19:29,586 INFO L290 TraceCheckUtils]: 9: Hoare triple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:19:29,587 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} {2395#true} #79#return; {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 12:19:29,587 INFO L290 TraceCheckUtils]: 11: Hoare triple {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 12:19:29,587 INFO L272 TraceCheckUtils]: 12: Hoare triple {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2395#true} is VALID [2022-04-28 12:19:29,588 INFO L290 TraceCheckUtils]: 13: Hoare triple {2395#true} ~cond := #in~cond; {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:19:29,588 INFO L290 TraceCheckUtils]: 14: Hoare triple {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:19:29,588 INFO L290 TraceCheckUtils]: 15: Hoare triple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:19:29,589 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} {2432#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {2451#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-28 12:19:29,589 INFO L272 TraceCheckUtils]: 17: Hoare triple {2451#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2395#true} is VALID [2022-04-28 12:19:29,589 INFO L290 TraceCheckUtils]: 18: Hoare triple {2395#true} ~cond := #in~cond; {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:19:29,589 INFO L290 TraceCheckUtils]: 19: Hoare triple {2421#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:19:29,590 INFO L290 TraceCheckUtils]: 20: Hoare triple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2425#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:19:29,590 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2425#(not (= |assume_abort_if_not_#in~cond| 0))} {2451#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #83#return; {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-28 12:19:29,590 INFO L272 TraceCheckUtils]: 22: Hoare triple {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2395#true} is VALID [2022-04-28 12:19:29,590 INFO L290 TraceCheckUtils]: 23: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-28 12:19:29,590 INFO L290 TraceCheckUtils]: 24: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-28 12:19:29,591 INFO L290 TraceCheckUtils]: 25: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-28 12:19:29,591 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2395#true} {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #85#return; {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-28 12:19:29,591 INFO L290 TraceCheckUtils]: 27: Hoare triple {2467#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:19:29,592 INFO L272 TraceCheckUtils]: 28: Hoare triple {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2395#true} is VALID [2022-04-28 12:19:29,592 INFO L290 TraceCheckUtils]: 29: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-28 12:19:29,592 INFO L290 TraceCheckUtils]: 30: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-28 12:19:29,592 INFO L290 TraceCheckUtils]: 31: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-28 12:19:29,592 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2395#true} {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #87#return; {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:19:29,592 INFO L272 TraceCheckUtils]: 33: Hoare triple {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2395#true} is VALID [2022-04-28 12:19:29,592 INFO L290 TraceCheckUtils]: 34: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-28 12:19:29,593 INFO L290 TraceCheckUtils]: 35: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-28 12:19:29,593 INFO L290 TraceCheckUtils]: 36: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-28 12:19:29,593 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2395#true} {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #89#return; {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:19:29,593 INFO L290 TraceCheckUtils]: 38: Hoare triple {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:19:29,594 INFO L290 TraceCheckUtils]: 39: Hoare triple {2486#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:19:29,594 INFO L290 TraceCheckUtils]: 40: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:19:29,594 INFO L272 TraceCheckUtils]: 41: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2395#true} is VALID [2022-04-28 12:19:29,595 INFO L290 TraceCheckUtils]: 42: Hoare triple {2395#true} ~cond := #in~cond; {2395#true} is VALID [2022-04-28 12:19:29,595 INFO L290 TraceCheckUtils]: 43: Hoare triple {2395#true} assume !(0 == ~cond); {2395#true} is VALID [2022-04-28 12:19:29,595 INFO L290 TraceCheckUtils]: 44: Hoare triple {2395#true} assume true; {2395#true} is VALID [2022-04-28 12:19:29,595 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2395#true} {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #91#return; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:19:29,595 INFO L272 TraceCheckUtils]: 46: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2395#true} is VALID [2022-04-28 12:19:29,596 INFO L290 TraceCheckUtils]: 47: Hoare triple {2395#true} ~cond := #in~cond; {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:29,596 INFO L290 TraceCheckUtils]: 48: Hoare triple {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:29,596 INFO L290 TraceCheckUtils]: 49: Hoare triple {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:29,597 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #93#return; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:19:29,597 INFO L272 TraceCheckUtils]: 51: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2395#true} is VALID [2022-04-28 12:19:29,597 INFO L290 TraceCheckUtils]: 52: Hoare triple {2395#true} ~cond := #in~cond; {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:29,598 INFO L290 TraceCheckUtils]: 53: Hoare triple {2548#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:29,598 INFO L290 TraceCheckUtils]: 54: Hoare triple {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:19:29,598 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2552#(not (= |__VERIFIER_assert_#in~cond| 0))} {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} #95#return; {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:19:29,599 INFO L272 TraceCheckUtils]: 56: Hoare triple {2523#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2577#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:19:29,600 INFO L290 TraceCheckUtils]: 57: Hoare triple {2577#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2581#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:19:29,600 INFO L290 TraceCheckUtils]: 58: Hoare triple {2581#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2396#false} is VALID [2022-04-28 12:19:29,600 INFO L290 TraceCheckUtils]: 59: Hoare triple {2396#false} assume !false; {2396#false} is VALID [2022-04-28 12:19:29,600 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 29 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:19:29,600 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:08,254 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:08,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [751007659] [2022-04-28 12:20:08,254 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:08,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1797822161] [2022-04-28 12:20:08,254 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1797822161] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:20:08,254 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:20:08,254 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-28 12:20:08,254 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:08,254 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1607883730] [2022-04-28 12:20:08,254 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1607883730] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:08,254 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:08,255 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:20:08,255 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [130724496] [2022-04-28 12:20:08,255 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:08,255 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) Word has length 60 [2022-04-28 12:20:08,255 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:08,255 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 12:20:08,291 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:08,291 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:20:08,291 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:08,292 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:20:08,292 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:20:08,292 INFO L87 Difference]: Start difference. First operand 59 states and 74 transitions. Second operand has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 12:20:09,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:09,323 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2022-04-28 12:20:09,323 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:20:09,323 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) Word has length 60 [2022-04-28 12:20:09,323 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:09,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 12:20:09,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 67 transitions. [2022-04-28 12:20:09,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 12:20:09,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 67 transitions. [2022-04-28 12:20:09,326 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 67 transitions. [2022-04-28 12:20:09,512 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:09,514 INFO L225 Difference]: With dead ends: 68 [2022-04-28 12:20:09,514 INFO L226 Difference]: Without dead ends: 66 [2022-04-28 12:20:09,514 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 50 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:20:09,514 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 31 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 311 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 326 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 311 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:09,515 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 161 Invalid, 326 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 311 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:20:09,515 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-28 12:20:09,783 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 63. [2022-04-28 12:20:09,784 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:09,785 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:20:09,785 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:20:09,785 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:20:09,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:09,804 INFO L93 Difference]: Finished difference Result 66 states and 80 transitions. [2022-04-28 12:20:09,804 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-28 12:20:09,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:09,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:09,805 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 66 states. [2022-04-28 12:20:09,805 INFO L87 Difference]: Start difference. First operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 66 states. [2022-04-28 12:20:09,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:09,807 INFO L93 Difference]: Finished difference Result 66 states and 80 transitions. [2022-04-28 12:20:09,807 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 80 transitions. [2022-04-28 12:20:09,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:09,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:09,807 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:09,807 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:09,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:20:09,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-28 12:20:09,810 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 60 [2022-04-28 12:20:09,810 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:09,810 INFO L495 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-28 12:20:09,810 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 6 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 6 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-28 12:20:09,810 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-28 12:20:09,918 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:09,918 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-28 12:20:09,919 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-28 12:20:09,919 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:09,919 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 5, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:20:09,945 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 12:20:10,119 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:10,120 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:10,120 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:10,120 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 1 times [2022-04-28 12:20:10,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:10,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [333540609] [2022-04-28 12:20:10,120 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:10,120 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 2 times [2022-04-28 12:20:10,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:10,121 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1613882021] [2022-04-28 12:20:10,121 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:10,121 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:10,162 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:10,163 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1373293397] [2022-04-28 12:20:10,163 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:20:10,163 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:10,163 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:10,167 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:20:10,181 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 12:20:10,234 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:20:10,234 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:10,235 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:20:10,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:10,256 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:10,744 INFO L272 TraceCheckUtils]: 0: Hoare triple {3004#true} call ULTIMATE.init(); {3004#true} is VALID [2022-04-28 12:20:10,745 INFO L290 TraceCheckUtils]: 1: Hoare triple {3004#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3004#true} is VALID [2022-04-28 12:20:10,745 INFO L290 TraceCheckUtils]: 2: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:10,745 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3004#true} {3004#true} #103#return; {3004#true} is VALID [2022-04-28 12:20:10,745 INFO L272 TraceCheckUtils]: 4: Hoare triple {3004#true} call #t~ret6 := main(); {3004#true} is VALID [2022-04-28 12:20:10,754 INFO L290 TraceCheckUtils]: 5: Hoare triple {3004#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3004#true} is VALID [2022-04-28 12:20:10,754 INFO L272 TraceCheckUtils]: 6: Hoare triple {3004#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:10,754 INFO L290 TraceCheckUtils]: 7: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:10,755 INFO L290 TraceCheckUtils]: 8: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:10,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:10,758 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3004#true} {3004#true} #79#return; {3004#true} is VALID [2022-04-28 12:20:10,763 INFO L290 TraceCheckUtils]: 11: Hoare triple {3004#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3004#true} is VALID [2022-04-28 12:20:10,764 INFO L272 TraceCheckUtils]: 12: Hoare triple {3004#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:10,766 INFO L290 TraceCheckUtils]: 13: Hoare triple {3004#true} ~cond := #in~cond; {3048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:10,766 INFO L290 TraceCheckUtils]: 14: Hoare triple {3048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:10,767 INFO L290 TraceCheckUtils]: 15: Hoare triple {3052#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:10,767 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3052#(not (= |assume_abort_if_not_#in~cond| 0))} {3004#true} #81#return; {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:10,767 INFO L272 TraceCheckUtils]: 17: Hoare triple {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:10,767 INFO L290 TraceCheckUtils]: 18: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:10,768 INFO L290 TraceCheckUtils]: 19: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:10,768 INFO L290 TraceCheckUtils]: 20: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:10,768 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3004#true} {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:10,768 INFO L272 TraceCheckUtils]: 22: Hoare triple {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:10,768 INFO L290 TraceCheckUtils]: 23: Hoare triple {3004#true} ~cond := #in~cond; {3048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:10,769 INFO L290 TraceCheckUtils]: 24: Hoare triple {3048#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:10,769 INFO L290 TraceCheckUtils]: 25: Hoare triple {3052#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3052#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:10,770 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3052#(not (= |assume_abort_if_not_#in~cond| 0))} {3059#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {3090#(and (<= 1 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:10,770 INFO L290 TraceCheckUtils]: 27: Hoare triple {3090#(and (<= 1 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 12:20:10,770 INFO L272 TraceCheckUtils]: 28: Hoare triple {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:10,770 INFO L290 TraceCheckUtils]: 29: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:10,771 INFO L290 TraceCheckUtils]: 30: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:10,771 INFO L290 TraceCheckUtils]: 31: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:10,771 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3004#true} {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} #87#return; {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 12:20:10,771 INFO L272 TraceCheckUtils]: 33: Hoare triple {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:10,771 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:10,771 INFO L290 TraceCheckUtils]: 35: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:10,771 INFO L290 TraceCheckUtils]: 36: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:10,772 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3004#true} {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} #89#return; {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 12:20:10,772 INFO L290 TraceCheckUtils]: 38: Hoare triple {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} assume !false; {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 12:20:10,772 INFO L290 TraceCheckUtils]: 39: Hoare triple {3094#(and (<= main_~b~0 1) (<= 1 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 12:20:10,773 INFO L290 TraceCheckUtils]: 40: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} assume !false; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 12:20:10,773 INFO L272 TraceCheckUtils]: 41: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:10,773 INFO L290 TraceCheckUtils]: 42: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:10,773 INFO L290 TraceCheckUtils]: 43: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:10,773 INFO L290 TraceCheckUtils]: 44: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:10,774 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3004#true} {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} #91#return; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 12:20:10,774 INFO L272 TraceCheckUtils]: 46: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:10,774 INFO L290 TraceCheckUtils]: 47: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:10,774 INFO L290 TraceCheckUtils]: 48: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:10,774 INFO L290 TraceCheckUtils]: 49: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:10,774 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3004#true} {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} #93#return; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 12:20:10,775 INFO L272 TraceCheckUtils]: 51: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:10,775 INFO L290 TraceCheckUtils]: 52: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:10,775 INFO L290 TraceCheckUtils]: 53: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:10,775 INFO L290 TraceCheckUtils]: 54: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:10,775 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3004#true} {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} #95#return; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 12:20:10,776 INFO L272 TraceCheckUtils]: 56: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:10,776 INFO L290 TraceCheckUtils]: 57: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:10,776 INFO L290 TraceCheckUtils]: 58: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:10,776 INFO L290 TraceCheckUtils]: 59: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:10,776 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3004#true} {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} #97#return; {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} is VALID [2022-04-28 12:20:10,781 INFO L290 TraceCheckUtils]: 61: Hoare triple {3131#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (<= main_~b~0 1) (<= 1 main_~b~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {3198#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= main_~b~0 1) (= (+ (- 1) main_~k~0) 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:20:10,782 INFO L290 TraceCheckUtils]: 62: Hoare triple {3198#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= main_~b~0 1) (= (+ (- 1) main_~k~0) 0) (<= 1 main_~b~0))} assume !false; {3198#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= main_~b~0 1) (= (+ (- 1) main_~k~0) 0) (<= 1 main_~b~0))} is VALID [2022-04-28 12:20:10,783 INFO L272 TraceCheckUtils]: 63: Hoare triple {3198#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (<= main_~b~0 1) (= (+ (- 1) main_~k~0) 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:10,783 INFO L290 TraceCheckUtils]: 64: Hoare triple {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:10,783 INFO L290 TraceCheckUtils]: 65: Hoare triple {3209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3005#false} is VALID [2022-04-28 12:20:10,783 INFO L290 TraceCheckUtils]: 66: Hoare triple {3005#false} assume !false; {3005#false} is VALID [2022-04-28 12:20:10,784 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 17 proven. 17 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-28 12:20:10,784 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:11,117 INFO L290 TraceCheckUtils]: 66: Hoare triple {3005#false} assume !false; {3005#false} is VALID [2022-04-28 12:20:11,118 INFO L290 TraceCheckUtils]: 65: Hoare triple {3209#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3005#false} is VALID [2022-04-28 12:20:11,118 INFO L290 TraceCheckUtils]: 64: Hoare triple {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3209#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:11,119 INFO L272 TraceCheckUtils]: 63: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3205#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:11,119 INFO L290 TraceCheckUtils]: 62: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:20:11,120 INFO L290 TraceCheckUtils]: 61: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:20:11,121 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3004#true} {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #97#return; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:20:11,121 INFO L290 TraceCheckUtils]: 59: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:11,121 INFO L290 TraceCheckUtils]: 58: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:11,121 INFO L290 TraceCheckUtils]: 57: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:11,121 INFO L272 TraceCheckUtils]: 56: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:11,122 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3004#true} {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #95#return; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:20:11,122 INFO L290 TraceCheckUtils]: 54: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:11,122 INFO L290 TraceCheckUtils]: 53: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:11,122 INFO L290 TraceCheckUtils]: 52: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:11,122 INFO L272 TraceCheckUtils]: 51: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:11,123 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3004#true} {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #93#return; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:20:11,123 INFO L290 TraceCheckUtils]: 49: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:11,123 INFO L290 TraceCheckUtils]: 48: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:11,123 INFO L290 TraceCheckUtils]: 47: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:11,123 INFO L272 TraceCheckUtils]: 46: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:11,124 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3004#true} {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #91#return; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:20:11,124 INFO L290 TraceCheckUtils]: 44: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:11,124 INFO L290 TraceCheckUtils]: 43: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:11,124 INFO L290 TraceCheckUtils]: 42: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:11,124 INFO L272 TraceCheckUtils]: 41: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:11,124 INFO L290 TraceCheckUtils]: 40: Hoare triple {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:20:11,124 INFO L290 TraceCheckUtils]: 39: Hoare triple {3004#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3225#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:20:11,124 INFO L290 TraceCheckUtils]: 38: Hoare triple {3004#true} assume !false; {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3004#true} {3004#true} #89#return; {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L290 TraceCheckUtils]: 36: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L290 TraceCheckUtils]: 35: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L290 TraceCheckUtils]: 34: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L272 TraceCheckUtils]: 33: Hoare triple {3004#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3004#true} {3004#true} #87#return; {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L290 TraceCheckUtils]: 31: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L290 TraceCheckUtils]: 30: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L290 TraceCheckUtils]: 29: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L272 TraceCheckUtils]: 28: Hoare triple {3004#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L290 TraceCheckUtils]: 27: Hoare triple {3004#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3004#true} {3004#true} #85#return; {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L290 TraceCheckUtils]: 25: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L290 TraceCheckUtils]: 24: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L290 TraceCheckUtils]: 23: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L272 TraceCheckUtils]: 22: Hoare triple {3004#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:11,125 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3004#true} {3004#true} #83#return; {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L290 TraceCheckUtils]: 18: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L272 TraceCheckUtils]: 17: Hoare triple {3004#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3004#true} {3004#true} #81#return; {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L290 TraceCheckUtils]: 15: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L290 TraceCheckUtils]: 14: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L290 TraceCheckUtils]: 13: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L272 TraceCheckUtils]: 12: Hoare triple {3004#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L290 TraceCheckUtils]: 11: Hoare triple {3004#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3004#true} {3004#true} #79#return; {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L290 TraceCheckUtils]: 8: Hoare triple {3004#true} assume !(0 == ~cond); {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L290 TraceCheckUtils]: 7: Hoare triple {3004#true} ~cond := #in~cond; {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L272 TraceCheckUtils]: 6: Hoare triple {3004#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L290 TraceCheckUtils]: 5: Hoare triple {3004#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3004#true} is VALID [2022-04-28 12:20:11,126 INFO L272 TraceCheckUtils]: 4: Hoare triple {3004#true} call #t~ret6 := main(); {3004#true} is VALID [2022-04-28 12:20:11,127 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3004#true} {3004#true} #103#return; {3004#true} is VALID [2022-04-28 12:20:11,127 INFO L290 TraceCheckUtils]: 2: Hoare triple {3004#true} assume true; {3004#true} is VALID [2022-04-28 12:20:11,127 INFO L290 TraceCheckUtils]: 1: Hoare triple {3004#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3004#true} is VALID [2022-04-28 12:20:11,127 INFO L272 TraceCheckUtils]: 0: Hoare triple {3004#true} call ULTIMATE.init(); {3004#true} is VALID [2022-04-28 12:20:11,127 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 86 trivial. 0 not checked. [2022-04-28 12:20:11,127 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:11,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1613882021] [2022-04-28 12:20:11,127 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:11,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1373293397] [2022-04-28 12:20:11,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1373293397] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:20:11,127 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:20:11,127 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [11] total 12 [2022-04-28 12:20:11,128 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:11,128 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [333540609] [2022-04-28 12:20:11,128 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [333540609] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:11,128 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:11,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:20:11,128 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [978499899] [2022-04-28 12:20:11,128 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:11,128 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 67 [2022-04-28 12:20:11,128 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:11,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 12:20:11,156 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:11,156 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:20:11,156 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:11,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:20:11,157 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:20:11,157 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 12:20:11,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:11,369 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-28 12:20:11,369 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:20:11,369 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 67 [2022-04-28 12:20:11,369 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:11,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 12:20:11,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 12:20:11,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 12:20:11,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 12:20:11,371 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-28 12:20:11,407 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:11,408 INFO L225 Difference]: With dead ends: 69 [2022-04-28 12:20:11,408 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 12:20:11,408 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 121 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=126, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:20:11,409 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:11,409 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 137 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:20:11,409 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 12:20:11,481 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 59. [2022-04-28 12:20:11,482 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:11,482 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:20:11,482 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:20:11,482 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:20:11,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:11,484 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-28 12:20:11,484 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-28 12:20:11,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:11,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:11,484 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 12:20:11,484 INFO L87 Difference]: Start difference. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 12:20:11,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:11,486 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-28 12:20:11,486 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-28 12:20:11,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:11,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:11,486 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:11,486 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:11,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:20:11,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 71 transitions. [2022-04-28 12:20:11,488 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 71 transitions. Word has length 67 [2022-04-28 12:20:11,488 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:11,488 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 71 transitions. [2022-04-28 12:20:11,488 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 12:20:11,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 71 transitions. [2022-04-28 12:20:11,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:11,584 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 71 transitions. [2022-04-28 12:20:11,584 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 12:20:11,584 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:11,584 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:20:11,600 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 12:20:11,788 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:11,788 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:11,788 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:11,788 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 1 times [2022-04-28 12:20:11,788 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:11,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1339380949] [2022-04-28 12:20:11,789 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:11,789 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 2 times [2022-04-28 12:20:11,789 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:11,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1309721480] [2022-04-28 12:20:11,789 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:11,789 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:11,809 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:11,809 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1094385814] [2022-04-28 12:20:11,809 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:20:11,809 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:11,809 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:11,810 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:20:11,811 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 12:20:11,850 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:20:11,851 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:11,851 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:20:11,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:11,861 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:12,047 INFO L272 TraceCheckUtils]: 0: Hoare triple {3809#true} call ULTIMATE.init(); {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {3809#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3809#true} {3809#true} #103#return; {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L272 TraceCheckUtils]: 4: Hoare triple {3809#true} call #t~ret6 := main(); {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L290 TraceCheckUtils]: 5: Hoare triple {3809#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L272 TraceCheckUtils]: 6: Hoare triple {3809#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3809#true} {3809#true} #79#return; {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L290 TraceCheckUtils]: 11: Hoare triple {3809#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L272 TraceCheckUtils]: 12: Hoare triple {3809#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L290 TraceCheckUtils]: 13: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L290 TraceCheckUtils]: 14: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,048 INFO L290 TraceCheckUtils]: 15: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,049 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3809#true} {3809#true} #81#return; {3809#true} is VALID [2022-04-28 12:20:12,049 INFO L272 TraceCheckUtils]: 17: Hoare triple {3809#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,049 INFO L290 TraceCheckUtils]: 18: Hoare triple {3809#true} ~cond := #in~cond; {3868#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:12,049 INFO L290 TraceCheckUtils]: 19: Hoare triple {3868#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:12,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {3872#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:12,050 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3872#(not (= |assume_abort_if_not_#in~cond| 0))} {3809#true} #83#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-28 12:20:12,050 INFO L272 TraceCheckUtils]: 22: Hoare triple {3879#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,050 INFO L290 TraceCheckUtils]: 25: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,051 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3809#true} {3879#(<= 1 main_~x~0)} #85#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-28 12:20:12,051 INFO L290 TraceCheckUtils]: 27: Hoare triple {3879#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3898#(<= 1 main_~a~0)} is VALID [2022-04-28 12:20:12,051 INFO L272 TraceCheckUtils]: 28: Hoare triple {3898#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,051 INFO L290 TraceCheckUtils]: 29: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,051 INFO L290 TraceCheckUtils]: 30: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,051 INFO L290 TraceCheckUtils]: 31: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,052 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #87#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-28 12:20:12,052 INFO L272 TraceCheckUtils]: 33: Hoare triple {3898#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,052 INFO L290 TraceCheckUtils]: 34: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,052 INFO L290 TraceCheckUtils]: 35: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,052 INFO L290 TraceCheckUtils]: 36: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,052 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #89#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-28 12:20:12,053 INFO L290 TraceCheckUtils]: 38: Hoare triple {3898#(<= 1 main_~a~0)} assume !false; {3898#(<= 1 main_~a~0)} is VALID [2022-04-28 12:20:12,053 INFO L290 TraceCheckUtils]: 39: Hoare triple {3898#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,053 INFO L290 TraceCheckUtils]: 40: Hoare triple {3935#(<= 1 main_~c~0)} assume !false; {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,053 INFO L272 TraceCheckUtils]: 41: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,053 INFO L290 TraceCheckUtils]: 42: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,053 INFO L290 TraceCheckUtils]: 43: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,053 INFO L290 TraceCheckUtils]: 44: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,054 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #91#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,054 INFO L272 TraceCheckUtils]: 46: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,054 INFO L290 TraceCheckUtils]: 47: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,054 INFO L290 TraceCheckUtils]: 48: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,054 INFO L290 TraceCheckUtils]: 49: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,055 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #93#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,055 INFO L272 TraceCheckUtils]: 51: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,055 INFO L290 TraceCheckUtils]: 52: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,055 INFO L290 TraceCheckUtils]: 53: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,055 INFO L290 TraceCheckUtils]: 54: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,056 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #95#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,056 INFO L272 TraceCheckUtils]: 56: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,056 INFO L290 TraceCheckUtils]: 57: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,056 INFO L290 TraceCheckUtils]: 58: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,056 INFO L290 TraceCheckUtils]: 59: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,056 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #97#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,057 INFO L290 TraceCheckUtils]: 61: Hoare triple {3935#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,057 INFO L290 TraceCheckUtils]: 62: Hoare triple {3935#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4005#(<= 1 main_~b~0)} is VALID [2022-04-28 12:20:12,057 INFO L290 TraceCheckUtils]: 63: Hoare triple {4005#(<= 1 main_~b~0)} assume !false; {4005#(<= 1 main_~b~0)} is VALID [2022-04-28 12:20:12,058 INFO L290 TraceCheckUtils]: 64: Hoare triple {4005#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3810#false} is VALID [2022-04-28 12:20:12,058 INFO L272 TraceCheckUtils]: 65: Hoare triple {3810#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3810#false} is VALID [2022-04-28 12:20:12,058 INFO L290 TraceCheckUtils]: 66: Hoare triple {3810#false} ~cond := #in~cond; {3810#false} is VALID [2022-04-28 12:20:12,058 INFO L290 TraceCheckUtils]: 67: Hoare triple {3810#false} assume 0 == ~cond; {3810#false} is VALID [2022-04-28 12:20:12,058 INFO L290 TraceCheckUtils]: 68: Hoare triple {3810#false} assume !false; {3810#false} is VALID [2022-04-28 12:20:12,058 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-28 12:20:12,058 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:12,306 INFO L290 TraceCheckUtils]: 68: Hoare triple {3810#false} assume !false; {3810#false} is VALID [2022-04-28 12:20:12,306 INFO L290 TraceCheckUtils]: 67: Hoare triple {3810#false} assume 0 == ~cond; {3810#false} is VALID [2022-04-28 12:20:12,306 INFO L290 TraceCheckUtils]: 66: Hoare triple {3810#false} ~cond := #in~cond; {3810#false} is VALID [2022-04-28 12:20:12,306 INFO L272 TraceCheckUtils]: 65: Hoare triple {3810#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3810#false} is VALID [2022-04-28 12:20:12,307 INFO L290 TraceCheckUtils]: 64: Hoare triple {4005#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3810#false} is VALID [2022-04-28 12:20:12,307 INFO L290 TraceCheckUtils]: 63: Hoare triple {4005#(<= 1 main_~b~0)} assume !false; {4005#(<= 1 main_~b~0)} is VALID [2022-04-28 12:20:12,307 INFO L290 TraceCheckUtils]: 62: Hoare triple {3935#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4005#(<= 1 main_~b~0)} is VALID [2022-04-28 12:20:12,308 INFO L290 TraceCheckUtils]: 61: Hoare triple {3935#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,308 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #97#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,308 INFO L290 TraceCheckUtils]: 59: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,308 INFO L290 TraceCheckUtils]: 58: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,308 INFO L290 TraceCheckUtils]: 57: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,309 INFO L272 TraceCheckUtils]: 56: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,309 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #95#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,309 INFO L290 TraceCheckUtils]: 54: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,309 INFO L290 TraceCheckUtils]: 53: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,309 INFO L290 TraceCheckUtils]: 52: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,309 INFO L272 TraceCheckUtils]: 51: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,310 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #93#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,310 INFO L290 TraceCheckUtils]: 49: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,310 INFO L290 TraceCheckUtils]: 48: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,310 INFO L290 TraceCheckUtils]: 47: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,310 INFO L272 TraceCheckUtils]: 46: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,311 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3809#true} {3935#(<= 1 main_~c~0)} #91#return; {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,311 INFO L290 TraceCheckUtils]: 44: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,311 INFO L290 TraceCheckUtils]: 43: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,311 INFO L290 TraceCheckUtils]: 42: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,311 INFO L272 TraceCheckUtils]: 41: Hoare triple {3935#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,311 INFO L290 TraceCheckUtils]: 40: Hoare triple {3935#(<= 1 main_~c~0)} assume !false; {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,312 INFO L290 TraceCheckUtils]: 39: Hoare triple {3898#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3935#(<= 1 main_~c~0)} is VALID [2022-04-28 12:20:12,312 INFO L290 TraceCheckUtils]: 38: Hoare triple {3898#(<= 1 main_~a~0)} assume !false; {3898#(<= 1 main_~a~0)} is VALID [2022-04-28 12:20:12,312 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #89#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-28 12:20:12,312 INFO L290 TraceCheckUtils]: 36: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,312 INFO L290 TraceCheckUtils]: 35: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,312 INFO L290 TraceCheckUtils]: 34: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,312 INFO L272 TraceCheckUtils]: 33: Hoare triple {3898#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,313 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3809#true} {3898#(<= 1 main_~a~0)} #87#return; {3898#(<= 1 main_~a~0)} is VALID [2022-04-28 12:20:12,313 INFO L290 TraceCheckUtils]: 31: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,313 INFO L290 TraceCheckUtils]: 30: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,313 INFO L290 TraceCheckUtils]: 29: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,313 INFO L272 TraceCheckUtils]: 28: Hoare triple {3898#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,313 INFO L290 TraceCheckUtils]: 27: Hoare triple {3879#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3898#(<= 1 main_~a~0)} is VALID [2022-04-28 12:20:12,314 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3809#true} {3879#(<= 1 main_~x~0)} #85#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-28 12:20:12,314 INFO L290 TraceCheckUtils]: 25: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,314 INFO L290 TraceCheckUtils]: 24: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,314 INFO L290 TraceCheckUtils]: 23: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,314 INFO L272 TraceCheckUtils]: 22: Hoare triple {3879#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,314 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3872#(not (= |assume_abort_if_not_#in~cond| 0))} {3809#true} #83#return; {3879#(<= 1 main_~x~0)} is VALID [2022-04-28 12:20:12,314 INFO L290 TraceCheckUtils]: 20: Hoare triple {3872#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:12,315 INFO L290 TraceCheckUtils]: 19: Hoare triple {4174#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3872#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:12,315 INFO L290 TraceCheckUtils]: 18: Hoare triple {3809#true} ~cond := #in~cond; {4174#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:20:12,315 INFO L272 TraceCheckUtils]: 17: Hoare triple {3809#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,315 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3809#true} {3809#true} #81#return; {3809#true} is VALID [2022-04-28 12:20:12,315 INFO L290 TraceCheckUtils]: 15: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,315 INFO L290 TraceCheckUtils]: 14: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,315 INFO L290 TraceCheckUtils]: 13: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,315 INFO L272 TraceCheckUtils]: 12: Hoare triple {3809#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L290 TraceCheckUtils]: 11: Hoare triple {3809#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3809#true} {3809#true} #79#return; {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {3809#true} assume !(0 == ~cond); {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L290 TraceCheckUtils]: 7: Hoare triple {3809#true} ~cond := #in~cond; {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L272 TraceCheckUtils]: 6: Hoare triple {3809#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L290 TraceCheckUtils]: 5: Hoare triple {3809#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L272 TraceCheckUtils]: 4: Hoare triple {3809#true} call #t~ret6 := main(); {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3809#true} {3809#true} #103#return; {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L290 TraceCheckUtils]: 2: Hoare triple {3809#true} assume true; {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L290 TraceCheckUtils]: 1: Hoare triple {3809#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L272 TraceCheckUtils]: 0: Hoare triple {3809#true} call ULTIMATE.init(); {3809#true} is VALID [2022-04-28 12:20:12,316 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-28 12:20:12,316 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:12,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1309721480] [2022-04-28 12:20:12,317 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:12,317 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1094385814] [2022-04-28 12:20:12,317 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1094385814] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:20:12,317 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:20:12,317 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:20:12,317 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:12,317 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1339380949] [2022-04-28 12:20:12,317 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1339380949] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:12,317 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:12,317 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:20:12,317 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [517563034] [2022-04-28 12:20:12,317 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:12,317 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-28 12:20:12,318 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:12,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:20:12,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:12,345 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:20:12,345 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:12,346 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:20:12,346 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:20:12,346 INFO L87 Difference]: Start difference. First operand 59 states and 71 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:20:13,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:13,064 INFO L93 Difference]: Finished difference Result 106 states and 146 transitions. [2022-04-28 12:20:13,064 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:20:13,064 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-28 12:20:13,064 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:13,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:20:13,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-28 12:20:13,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:20:13,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-28 12:20:13,068 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 110 transitions. [2022-04-28 12:20:13,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:13,193 INFO L225 Difference]: With dead ends: 106 [2022-04-28 12:20:13,193 INFO L226 Difference]: Without dead ends: 98 [2022-04-28 12:20:13,193 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 129 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:20:13,194 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 30 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:13,194 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 259 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:20:13,194 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-28 12:20:13,386 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-04-28 12:20:13,386 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:13,387 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 12:20:13,387 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 12:20:13,387 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 12:20:13,391 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:13,391 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-28 12:20:13,391 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-28 12:20:13,391 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:13,391 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:13,392 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-28 12:20:13,392 INFO L87 Difference]: Start difference. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-28 12:20:13,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:13,395 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-28 12:20:13,395 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-28 12:20:13,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:13,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:13,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:13,396 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:13,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 12:20:13,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 122 transitions. [2022-04-28 12:20:13,399 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 122 transitions. Word has length 69 [2022-04-28 12:20:13,399 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:13,399 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 122 transitions. [2022-04-28 12:20:13,400 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:20:13,400 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 122 transitions. [2022-04-28 12:20:13,557 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:13,557 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 122 transitions. [2022-04-28 12:20:13,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 12:20:13,557 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:13,558 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:20:13,574 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-28 12:20:13,758 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:13,758 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:13,758 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:13,758 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 1 times [2022-04-28 12:20:13,759 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:13,759 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [893755990] [2022-04-28 12:20:13,759 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:13,759 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 2 times [2022-04-28 12:20:13,759 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:13,759 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2108850989] [2022-04-28 12:20:13,759 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:13,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:13,774 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:13,774 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1420841051] [2022-04-28 12:20:13,774 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:20:13,774 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:13,774 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:13,775 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:20:13,776 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 12:20:13,820 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:20:13,820 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:13,821 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:20:13,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:13,830 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:14,064 INFO L272 TraceCheckUtils]: 0: Hoare triple {4827#true} call ULTIMATE.init(); {4827#true} is VALID [2022-04-28 12:20:14,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {4827#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {4827#true} is VALID [2022-04-28 12:20:14,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,065 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4827#true} {4827#true} #103#return; {4827#true} is VALID [2022-04-28 12:20:14,065 INFO L272 TraceCheckUtils]: 4: Hoare triple {4827#true} call #t~ret6 := main(); {4827#true} is VALID [2022-04-28 12:20:14,065 INFO L290 TraceCheckUtils]: 5: Hoare triple {4827#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4827#true} is VALID [2022-04-28 12:20:14,065 INFO L272 TraceCheckUtils]: 6: Hoare triple {4827#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,065 INFO L290 TraceCheckUtils]: 7: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,065 INFO L290 TraceCheckUtils]: 8: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,065 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4827#true} {4827#true} #79#return; {4827#true} is VALID [2022-04-28 12:20:14,065 INFO L290 TraceCheckUtils]: 11: Hoare triple {4827#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4827#true} is VALID [2022-04-28 12:20:14,065 INFO L272 TraceCheckUtils]: 12: Hoare triple {4827#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,076 INFO L290 TraceCheckUtils]: 13: Hoare triple {4827#true} ~cond := #in~cond; {4871#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:14,076 INFO L290 TraceCheckUtils]: 14: Hoare triple {4871#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:14,076 INFO L290 TraceCheckUtils]: 15: Hoare triple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:14,077 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} {4827#true} #81#return; {4882#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:14,077 INFO L272 TraceCheckUtils]: 17: Hoare triple {4882#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,077 INFO L290 TraceCheckUtils]: 18: Hoare triple {4827#true} ~cond := #in~cond; {4871#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:14,078 INFO L290 TraceCheckUtils]: 19: Hoare triple {4871#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:14,078 INFO L290 TraceCheckUtils]: 20: Hoare triple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:14,078 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} {4882#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:14,078 INFO L272 TraceCheckUtils]: 22: Hoare triple {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,078 INFO L290 TraceCheckUtils]: 23: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,078 INFO L290 TraceCheckUtils]: 24: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,079 INFO L290 TraceCheckUtils]: 25: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,079 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4827#true} {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} #85#return; {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:14,079 INFO L290 TraceCheckUtils]: 27: Hoare triple {4898#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-28 12:20:14,079 INFO L272 TraceCheckUtils]: 28: Hoare triple {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,079 INFO L290 TraceCheckUtils]: 29: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,079 INFO L290 TraceCheckUtils]: 30: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,079 INFO L290 TraceCheckUtils]: 31: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,080 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4827#true} {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} #87#return; {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-28 12:20:14,080 INFO L272 TraceCheckUtils]: 33: Hoare triple {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,080 INFO L290 TraceCheckUtils]: 34: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,080 INFO L290 TraceCheckUtils]: 35: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,080 INFO L290 TraceCheckUtils]: 36: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,080 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4827#true} {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} #89#return; {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-28 12:20:14,081 INFO L290 TraceCheckUtils]: 38: Hoare triple {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !false; {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-28 12:20:14,081 INFO L290 TraceCheckUtils]: 39: Hoare triple {4917#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-28 12:20:14,081 INFO L290 TraceCheckUtils]: 40: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !false; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-28 12:20:14,081 INFO L272 TraceCheckUtils]: 41: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,081 INFO L290 TraceCheckUtils]: 42: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,081 INFO L290 TraceCheckUtils]: 43: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,081 INFO L290 TraceCheckUtils]: 44: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,082 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4827#true} {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #91#return; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-28 12:20:14,082 INFO L272 TraceCheckUtils]: 46: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,082 INFO L290 TraceCheckUtils]: 47: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,082 INFO L290 TraceCheckUtils]: 48: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,082 INFO L290 TraceCheckUtils]: 49: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,082 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4827#true} {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #93#return; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-28 12:20:14,082 INFO L272 TraceCheckUtils]: 51: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,082 INFO L290 TraceCheckUtils]: 52: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,083 INFO L290 TraceCheckUtils]: 53: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,083 INFO L290 TraceCheckUtils]: 54: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,083 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4827#true} {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #95#return; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-28 12:20:14,083 INFO L272 TraceCheckUtils]: 56: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,083 INFO L290 TraceCheckUtils]: 57: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,083 INFO L290 TraceCheckUtils]: 58: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,083 INFO L290 TraceCheckUtils]: 59: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,084 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4827#true} {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} #97#return; {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-28 12:20:14,084 INFO L290 TraceCheckUtils]: 61: Hoare triple {4954#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !(~c~0 >= ~b~0); {4828#false} is VALID [2022-04-28 12:20:14,084 INFO L290 TraceCheckUtils]: 62: Hoare triple {4828#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4828#false} is VALID [2022-04-28 12:20:14,084 INFO L290 TraceCheckUtils]: 63: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-28 12:20:14,084 INFO L290 TraceCheckUtils]: 64: Hoare triple {4828#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4828#false} is VALID [2022-04-28 12:20:14,084 INFO L290 TraceCheckUtils]: 65: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-28 12:20:14,084 INFO L272 TraceCheckUtils]: 66: Hoare triple {4828#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4828#false} is VALID [2022-04-28 12:20:14,084 INFO L290 TraceCheckUtils]: 67: Hoare triple {4828#false} ~cond := #in~cond; {4828#false} is VALID [2022-04-28 12:20:14,084 INFO L290 TraceCheckUtils]: 68: Hoare triple {4828#false} assume !(0 == ~cond); {4828#false} is VALID [2022-04-28 12:20:14,084 INFO L290 TraceCheckUtils]: 69: Hoare triple {4828#false} assume true; {4828#false} is VALID [2022-04-28 12:20:14,085 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4828#false} {4828#false} #91#return; {4828#false} is VALID [2022-04-28 12:20:14,085 INFO L272 TraceCheckUtils]: 71: Hoare triple {4828#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4828#false} is VALID [2022-04-28 12:20:14,085 INFO L290 TraceCheckUtils]: 72: Hoare triple {4828#false} ~cond := #in~cond; {4828#false} is VALID [2022-04-28 12:20:14,085 INFO L290 TraceCheckUtils]: 73: Hoare triple {4828#false} assume 0 == ~cond; {4828#false} is VALID [2022-04-28 12:20:14,085 INFO L290 TraceCheckUtils]: 74: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-28 12:20:14,085 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 35 proven. 18 refuted. 0 times theorem prover too weak. 62 trivial. 0 not checked. [2022-04-28 12:20:14,085 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:14,419 INFO L290 TraceCheckUtils]: 74: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-28 12:20:14,420 INFO L290 TraceCheckUtils]: 73: Hoare triple {4828#false} assume 0 == ~cond; {4828#false} is VALID [2022-04-28 12:20:14,420 INFO L290 TraceCheckUtils]: 72: Hoare triple {4828#false} ~cond := #in~cond; {4828#false} is VALID [2022-04-28 12:20:14,420 INFO L272 TraceCheckUtils]: 71: Hoare triple {4828#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4828#false} is VALID [2022-04-28 12:20:14,420 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4827#true} {4828#false} #91#return; {4828#false} is VALID [2022-04-28 12:20:14,420 INFO L290 TraceCheckUtils]: 69: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,420 INFO L290 TraceCheckUtils]: 68: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,420 INFO L290 TraceCheckUtils]: 67: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,420 INFO L272 TraceCheckUtils]: 66: Hoare triple {4828#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,420 INFO L290 TraceCheckUtils]: 65: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-28 12:20:14,420 INFO L290 TraceCheckUtils]: 64: Hoare triple {4828#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4828#false} is VALID [2022-04-28 12:20:14,420 INFO L290 TraceCheckUtils]: 63: Hoare triple {4828#false} assume !false; {4828#false} is VALID [2022-04-28 12:20:14,420 INFO L290 TraceCheckUtils]: 62: Hoare triple {4828#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4828#false} is VALID [2022-04-28 12:20:14,421 INFO L290 TraceCheckUtils]: 61: Hoare triple {5099#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4828#false} is VALID [2022-04-28 12:20:14,421 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4827#true} {5099#(<= main_~b~0 main_~c~0)} #97#return; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:20:14,421 INFO L290 TraceCheckUtils]: 59: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,421 INFO L290 TraceCheckUtils]: 58: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,421 INFO L290 TraceCheckUtils]: 57: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,421 INFO L272 TraceCheckUtils]: 56: Hoare triple {5099#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,422 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4827#true} {5099#(<= main_~b~0 main_~c~0)} #95#return; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:20:14,422 INFO L290 TraceCheckUtils]: 54: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,422 INFO L290 TraceCheckUtils]: 53: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,422 INFO L290 TraceCheckUtils]: 52: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,422 INFO L272 TraceCheckUtils]: 51: Hoare triple {5099#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,423 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4827#true} {5099#(<= main_~b~0 main_~c~0)} #93#return; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:20:14,423 INFO L290 TraceCheckUtils]: 49: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,423 INFO L290 TraceCheckUtils]: 48: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,423 INFO L290 TraceCheckUtils]: 47: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,423 INFO L272 TraceCheckUtils]: 46: Hoare triple {5099#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,424 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4827#true} {5099#(<= main_~b~0 main_~c~0)} #91#return; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:20:14,424 INFO L290 TraceCheckUtils]: 44: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,424 INFO L290 TraceCheckUtils]: 43: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,424 INFO L290 TraceCheckUtils]: 42: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,424 INFO L272 TraceCheckUtils]: 41: Hoare triple {5099#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,424 INFO L290 TraceCheckUtils]: 40: Hoare triple {5099#(<= main_~b~0 main_~c~0)} assume !false; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:20:14,425 INFO L290 TraceCheckUtils]: 39: Hoare triple {5166#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5099#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:20:14,425 INFO L290 TraceCheckUtils]: 38: Hoare triple {5166#(<= main_~b~0 main_~a~0)} assume !false; {5166#(<= main_~b~0 main_~a~0)} is VALID [2022-04-28 12:20:14,425 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4827#true} {5166#(<= main_~b~0 main_~a~0)} #89#return; {5166#(<= main_~b~0 main_~a~0)} is VALID [2022-04-28 12:20:14,425 INFO L290 TraceCheckUtils]: 36: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,426 INFO L290 TraceCheckUtils]: 35: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,426 INFO L290 TraceCheckUtils]: 34: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,426 INFO L272 TraceCheckUtils]: 33: Hoare triple {5166#(<= main_~b~0 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,426 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4827#true} {5166#(<= main_~b~0 main_~a~0)} #87#return; {5166#(<= main_~b~0 main_~a~0)} is VALID [2022-04-28 12:20:14,426 INFO L290 TraceCheckUtils]: 31: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,426 INFO L290 TraceCheckUtils]: 30: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,426 INFO L290 TraceCheckUtils]: 29: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,426 INFO L272 TraceCheckUtils]: 28: Hoare triple {5166#(<= main_~b~0 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,427 INFO L290 TraceCheckUtils]: 27: Hoare triple {5203#(<= main_~y~0 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5166#(<= main_~b~0 main_~a~0)} is VALID [2022-04-28 12:20:14,427 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4827#true} {5203#(<= main_~y~0 main_~x~0)} #85#return; {5203#(<= main_~y~0 main_~x~0)} is VALID [2022-04-28 12:20:14,427 INFO L290 TraceCheckUtils]: 25: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,427 INFO L290 TraceCheckUtils]: 24: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,428 INFO L290 TraceCheckUtils]: 23: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,428 INFO L272 TraceCheckUtils]: 22: Hoare triple {5203#(<= main_~y~0 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,428 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} {5222#(<= main_~y~0 1)} #83#return; {5203#(<= main_~y~0 main_~x~0)} is VALID [2022-04-28 12:20:14,429 INFO L290 TraceCheckUtils]: 20: Hoare triple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:14,429 INFO L290 TraceCheckUtils]: 19: Hoare triple {5232#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:14,429 INFO L290 TraceCheckUtils]: 18: Hoare triple {4827#true} ~cond := #in~cond; {5232#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:20:14,429 INFO L272 TraceCheckUtils]: 17: Hoare triple {5222#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,430 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} {4827#true} #81#return; {5222#(<= main_~y~0 1)} is VALID [2022-04-28 12:20:14,430 INFO L290 TraceCheckUtils]: 15: Hoare triple {4875#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:14,430 INFO L290 TraceCheckUtils]: 14: Hoare triple {5232#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4875#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:14,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {4827#true} ~cond := #in~cond; {5232#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:20:14,431 INFO L272 TraceCheckUtils]: 12: Hoare triple {4827#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,431 INFO L290 TraceCheckUtils]: 11: Hoare triple {4827#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4827#true} is VALID [2022-04-28 12:20:14,431 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4827#true} {4827#true} #79#return; {4827#true} is VALID [2022-04-28 12:20:14,431 INFO L290 TraceCheckUtils]: 9: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,431 INFO L290 TraceCheckUtils]: 8: Hoare triple {4827#true} assume !(0 == ~cond); {4827#true} is VALID [2022-04-28 12:20:14,431 INFO L290 TraceCheckUtils]: 7: Hoare triple {4827#true} ~cond := #in~cond; {4827#true} is VALID [2022-04-28 12:20:14,431 INFO L272 TraceCheckUtils]: 6: Hoare triple {4827#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4827#true} is VALID [2022-04-28 12:20:14,431 INFO L290 TraceCheckUtils]: 5: Hoare triple {4827#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4827#true} is VALID [2022-04-28 12:20:14,431 INFO L272 TraceCheckUtils]: 4: Hoare triple {4827#true} call #t~ret6 := main(); {4827#true} is VALID [2022-04-28 12:20:14,431 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4827#true} {4827#true} #103#return; {4827#true} is VALID [2022-04-28 12:20:14,431 INFO L290 TraceCheckUtils]: 2: Hoare triple {4827#true} assume true; {4827#true} is VALID [2022-04-28 12:20:14,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {4827#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {4827#true} is VALID [2022-04-28 12:20:14,431 INFO L272 TraceCheckUtils]: 0: Hoare triple {4827#true} call ULTIMATE.init(); {4827#true} is VALID [2022-04-28 12:20:14,432 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 21 proven. 18 refuted. 0 times theorem prover too weak. 76 trivial. 0 not checked. [2022-04-28 12:20:14,432 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:14,432 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2108850989] [2022-04-28 12:20:14,432 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:14,432 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1420841051] [2022-04-28 12:20:14,432 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1420841051] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:20:14,432 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:20:14,432 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-28 12:20:14,432 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:14,432 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [893755990] [2022-04-28 12:20:14,432 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [893755990] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:14,432 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:14,432 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:20:14,432 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1302319885] [2022-04-28 12:20:14,433 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:14,433 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) Word has length 75 [2022-04-28 12:20:14,433 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:14,433 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:20:14,493 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:14,494 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:20:14,494 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:14,494 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:20:14,494 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:20:14,494 INFO L87 Difference]: Start difference. First operand 89 states and 122 transitions. Second operand has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:20:14,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:14,951 INFO L93 Difference]: Finished difference Result 111 states and 149 transitions. [2022-04-28 12:20:14,951 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:20:14,952 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) Word has length 75 [2022-04-28 12:20:14,952 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:14,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:20:14,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 94 transitions. [2022-04-28 12:20:14,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:20:14,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 94 transitions. [2022-04-28 12:20:14,955 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 94 transitions. [2022-04-28 12:20:15,039 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:15,040 INFO L225 Difference]: With dead ends: 111 [2022-04-28 12:20:15,040 INFO L226 Difference]: Without dead ends: 66 [2022-04-28 12:20:15,041 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 138 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:20:15,041 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 21 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 129 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 129 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:15,042 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 178 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 129 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:20:15,042 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-28 12:20:15,164 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 65. [2022-04-28 12:20:15,164 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:15,164 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:20:15,164 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:20:15,165 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:20:15,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:15,166 INFO L93 Difference]: Finished difference Result 66 states and 82 transitions. [2022-04-28 12:20:15,166 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 82 transitions. [2022-04-28 12:20:15,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:15,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:15,167 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 66 states. [2022-04-28 12:20:15,167 INFO L87 Difference]: Start difference. First operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 66 states. [2022-04-28 12:20:15,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:15,168 INFO L93 Difference]: Finished difference Result 66 states and 82 transitions. [2022-04-28 12:20:15,168 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 82 transitions. [2022-04-28 12:20:15,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:15,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:15,169 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:15,169 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:15,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 36 states have internal predecessors, (39), 22 states have call successors, (22), 8 states have call predecessors, (22), 7 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:20:15,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 81 transitions. [2022-04-28 12:20:15,170 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 81 transitions. Word has length 75 [2022-04-28 12:20:15,170 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:15,170 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 81 transitions. [2022-04-28 12:20:15,171 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-04-28 12:20:15,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 81 transitions. [2022-04-28 12:20:15,288 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:15,288 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 81 transitions. [2022-04-28 12:20:15,288 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 12:20:15,288 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:15,289 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:20:15,306 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-28 12:20:15,507 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 12:20:15,507 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:15,507 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:15,508 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 1 times [2022-04-28 12:20:15,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:15,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [490322042] [2022-04-28 12:20:15,508 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:15,508 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 2 times [2022-04-28 12:20:15,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:15,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1745306879] [2022-04-28 12:20:15,508 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:15,508 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:15,543 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:15,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1968401467] [2022-04-28 12:20:15,543 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:20:15,543 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:15,543 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:15,550 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:20:15,550 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 12:20:15,608 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:20:15,608 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:15,609 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 12:20:15,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:15,668 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:17,500 INFO L272 TraceCheckUtils]: 0: Hoare triple {5779#true} call ULTIMATE.init(); {5779#true} is VALID [2022-04-28 12:20:17,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {5779#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {5779#true} is VALID [2022-04-28 12:20:17,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,501 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5779#true} {5779#true} #103#return; {5779#true} is VALID [2022-04-28 12:20:17,501 INFO L272 TraceCheckUtils]: 4: Hoare triple {5779#true} call #t~ret6 := main(); {5779#true} is VALID [2022-04-28 12:20:17,501 INFO L290 TraceCheckUtils]: 5: Hoare triple {5779#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5779#true} is VALID [2022-04-28 12:20:17,501 INFO L272 TraceCheckUtils]: 6: Hoare triple {5779#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,501 INFO L290 TraceCheckUtils]: 7: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,501 INFO L290 TraceCheckUtils]: 8: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,501 INFO L290 TraceCheckUtils]: 9: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,501 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5779#true} {5779#true} #79#return; {5779#true} is VALID [2022-04-28 12:20:17,501 INFO L290 TraceCheckUtils]: 11: Hoare triple {5779#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5779#true} is VALID [2022-04-28 12:20:17,501 INFO L272 TraceCheckUtils]: 12: Hoare triple {5779#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,503 INFO L290 TraceCheckUtils]: 13: Hoare triple {5779#true} ~cond := #in~cond; {5823#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:17,504 INFO L290 TraceCheckUtils]: 14: Hoare triple {5823#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5827#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:17,504 INFO L290 TraceCheckUtils]: 15: Hoare triple {5827#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5827#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:17,504 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5827#(not (= |assume_abort_if_not_#in~cond| 0))} {5779#true} #81#return; {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:17,504 INFO L272 TraceCheckUtils]: 17: Hoare triple {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,505 INFO L290 TraceCheckUtils]: 18: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,505 INFO L290 TraceCheckUtils]: 19: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,505 INFO L290 TraceCheckUtils]: 20: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,505 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5779#true} {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:17,505 INFO L272 TraceCheckUtils]: 22: Hoare triple {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,505 INFO L290 TraceCheckUtils]: 23: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,505 INFO L290 TraceCheckUtils]: 24: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,505 INFO L290 TraceCheckUtils]: 25: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,505 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5779#true} {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:17,519 INFO L290 TraceCheckUtils]: 27: Hoare triple {5834#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,520 INFO L272 TraceCheckUtils]: 28: Hoare triple {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,520 INFO L290 TraceCheckUtils]: 29: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,520 INFO L290 TraceCheckUtils]: 30: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,520 INFO L290 TraceCheckUtils]: 31: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,520 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5779#true} {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #87#return; {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,521 INFO L272 TraceCheckUtils]: 33: Hoare triple {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,521 INFO L290 TraceCheckUtils]: 34: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,521 INFO L290 TraceCheckUtils]: 35: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,521 INFO L290 TraceCheckUtils]: 36: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,521 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5779#true} {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #89#return; {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,522 INFO L290 TraceCheckUtils]: 38: Hoare triple {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,523 INFO L290 TraceCheckUtils]: 39: Hoare triple {5868#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,523 INFO L290 TraceCheckUtils]: 40: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,523 INFO L272 TraceCheckUtils]: 41: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,523 INFO L290 TraceCheckUtils]: 42: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,523 INFO L290 TraceCheckUtils]: 43: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,523 INFO L290 TraceCheckUtils]: 44: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,524 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5779#true} {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #91#return; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,524 INFO L272 TraceCheckUtils]: 46: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,524 INFO L290 TraceCheckUtils]: 47: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,524 INFO L290 TraceCheckUtils]: 48: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,524 INFO L290 TraceCheckUtils]: 49: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,525 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5779#true} {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #93#return; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,525 INFO L272 TraceCheckUtils]: 51: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,525 INFO L290 TraceCheckUtils]: 52: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,525 INFO L290 TraceCheckUtils]: 53: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,525 INFO L290 TraceCheckUtils]: 54: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,525 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5779#true} {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #95#return; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,525 INFO L272 TraceCheckUtils]: 56: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,525 INFO L290 TraceCheckUtils]: 57: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,526 INFO L290 TraceCheckUtils]: 58: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,526 INFO L290 TraceCheckUtils]: 59: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,526 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5779#true} {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} #97#return; {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,527 INFO L290 TraceCheckUtils]: 61: Hoare triple {5905#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,527 INFO L290 TraceCheckUtils]: 62: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,527 INFO L272 TraceCheckUtils]: 63: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,527 INFO L290 TraceCheckUtils]: 64: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,527 INFO L290 TraceCheckUtils]: 65: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,527 INFO L290 TraceCheckUtils]: 66: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,528 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5779#true} {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #91#return; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,528 INFO L272 TraceCheckUtils]: 68: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,528 INFO L290 TraceCheckUtils]: 69: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,528 INFO L290 TraceCheckUtils]: 70: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,528 INFO L290 TraceCheckUtils]: 71: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,529 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5779#true} {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #93#return; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,529 INFO L272 TraceCheckUtils]: 73: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,529 INFO L290 TraceCheckUtils]: 74: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,529 INFO L290 TraceCheckUtils]: 75: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,529 INFO L290 TraceCheckUtils]: 76: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,530 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5779#true} {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #95#return; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,530 INFO L272 TraceCheckUtils]: 78: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:17,530 INFO L290 TraceCheckUtils]: 79: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:17,530 INFO L290 TraceCheckUtils]: 80: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:17,530 INFO L290 TraceCheckUtils]: 81: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:17,530 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {5779#true} {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} #97#return; {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,531 INFO L290 TraceCheckUtils]: 83: Hoare triple {5972#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {6039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:20:17,532 INFO L290 TraceCheckUtils]: 84: Hoare triple {6039#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~k~0 1) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:17,532 INFO L290 TraceCheckUtils]: 85: Hoare triple {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} assume !false; {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:17,533 INFO L290 TraceCheckUtils]: 86: Hoare triple {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} assume !(0 != ~b~0); {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:17,533 INFO L272 TraceCheckUtils]: 87: Hoare triple {6043#(and (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~y~0 1)) (< (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)) (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:17,534 INFO L290 TraceCheckUtils]: 88: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:17,534 INFO L290 TraceCheckUtils]: 89: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5780#false} is VALID [2022-04-28 12:20:17,534 INFO L290 TraceCheckUtils]: 90: Hoare triple {5780#false} assume !false; {5780#false} is VALID [2022-04-28 12:20:17,534 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 19 proven. 20 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2022-04-28 12:20:17,534 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:19,049 INFO L290 TraceCheckUtils]: 90: Hoare triple {5780#false} assume !false; {5780#false} is VALID [2022-04-28 12:20:19,050 INFO L290 TraceCheckUtils]: 89: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5780#false} is VALID [2022-04-28 12:20:19,050 INFO L290 TraceCheckUtils]: 88: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:19,051 INFO L272 TraceCheckUtils]: 87: Hoare triple {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:19,051 INFO L290 TraceCheckUtils]: 86: Hoare triple {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} assume !(0 != ~b~0); {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 12:20:19,051 INFO L290 TraceCheckUtils]: 85: Hoare triple {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} assume !false; {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 12:20:21,053 WARN L290 TraceCheckUtils]: 84: Hoare triple {6083#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6073#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is UNKNOWN [2022-04-28 12:20:21,053 INFO L290 TraceCheckUtils]: 83: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {6083#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0)} is VALID [2022-04-28 12:20:21,054 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {5779#true} {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #97#return; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:20:21,054 INFO L290 TraceCheckUtils]: 81: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,054 INFO L290 TraceCheckUtils]: 80: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,054 INFO L290 TraceCheckUtils]: 79: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,054 INFO L272 TraceCheckUtils]: 78: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,055 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {5779#true} {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #95#return; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:20:21,055 INFO L290 TraceCheckUtils]: 76: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,055 INFO L290 TraceCheckUtils]: 75: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,055 INFO L290 TraceCheckUtils]: 74: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,055 INFO L272 TraceCheckUtils]: 73: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,056 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {5779#true} {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #93#return; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:20:21,056 INFO L290 TraceCheckUtils]: 71: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,056 INFO L290 TraceCheckUtils]: 70: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,056 INFO L290 TraceCheckUtils]: 69: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,056 INFO L272 TraceCheckUtils]: 68: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,057 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5779#true} {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #91#return; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:20:21,057 INFO L290 TraceCheckUtils]: 66: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,057 INFO L290 TraceCheckUtils]: 65: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,057 INFO L290 TraceCheckUtils]: 64: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,057 INFO L272 TraceCheckUtils]: 63: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,057 INFO L290 TraceCheckUtils]: 62: Hoare triple {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !false; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:20:21,258 INFO L290 TraceCheckUtils]: 61: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {6087#(or (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:20:21,259 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5779#true} {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #97#return; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:20:21,259 INFO L290 TraceCheckUtils]: 59: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,260 INFO L290 TraceCheckUtils]: 58: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,260 INFO L290 TraceCheckUtils]: 57: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,260 INFO L272 TraceCheckUtils]: 56: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,260 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5779#true} {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #95#return; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:20:21,260 INFO L290 TraceCheckUtils]: 54: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,260 INFO L290 TraceCheckUtils]: 53: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,260 INFO L290 TraceCheckUtils]: 52: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,261 INFO L272 TraceCheckUtils]: 51: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,261 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5779#true} {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #93#return; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:20:21,261 INFO L290 TraceCheckUtils]: 49: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,261 INFO L290 TraceCheckUtils]: 48: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,261 INFO L290 TraceCheckUtils]: 47: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,261 INFO L272 TraceCheckUtils]: 46: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,262 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5779#true} {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} #91#return; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:20:21,262 INFO L290 TraceCheckUtils]: 44: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,262 INFO L290 TraceCheckUtils]: 43: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,262 INFO L290 TraceCheckUtils]: 42: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,262 INFO L272 TraceCheckUtils]: 41: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,263 INFO L290 TraceCheckUtils]: 40: Hoare triple {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} assume !false; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:20:21,263 INFO L290 TraceCheckUtils]: 39: Hoare triple {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6154#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) 0))} is VALID [2022-04-28 12:20:21,264 INFO L290 TraceCheckUtils]: 38: Hoare triple {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} assume !false; {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-28 12:20:21,264 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5779#true} {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} #89#return; {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-28 12:20:21,264 INFO L290 TraceCheckUtils]: 36: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,265 INFO L290 TraceCheckUtils]: 35: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,265 INFO L290 TraceCheckUtils]: 34: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,265 INFO L272 TraceCheckUtils]: 33: Hoare triple {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,265 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5779#true} {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} #87#return; {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-28 12:20:21,265 INFO L290 TraceCheckUtils]: 31: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,265 INFO L290 TraceCheckUtils]: 30: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,265 INFO L290 TraceCheckUtils]: 29: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,265 INFO L272 TraceCheckUtils]: 28: Hoare triple {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,266 INFO L290 TraceCheckUtils]: 27: Hoare triple {6258#(<= main_~y~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6221#(or (not (<= main_~b~0 main_~a~0)) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) 0) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-28 12:20:21,267 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5779#true} {6258#(<= main_~y~0 1)} #85#return; {6258#(<= main_~y~0 1)} is VALID [2022-04-28 12:20:21,267 INFO L290 TraceCheckUtils]: 25: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,267 INFO L290 TraceCheckUtils]: 24: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,267 INFO L290 TraceCheckUtils]: 23: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,267 INFO L272 TraceCheckUtils]: 22: Hoare triple {6258#(<= main_~y~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,267 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5779#true} {6258#(<= main_~y~0 1)} #83#return; {6258#(<= main_~y~0 1)} is VALID [2022-04-28 12:20:21,267 INFO L290 TraceCheckUtils]: 20: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,267 INFO L290 TraceCheckUtils]: 19: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,267 INFO L290 TraceCheckUtils]: 18: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,267 INFO L272 TraceCheckUtils]: 17: Hoare triple {6258#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,268 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5827#(not (= |assume_abort_if_not_#in~cond| 0))} {5779#true} #81#return; {6258#(<= main_~y~0 1)} is VALID [2022-04-28 12:20:21,268 INFO L290 TraceCheckUtils]: 15: Hoare triple {5827#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5827#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:21,268 INFO L290 TraceCheckUtils]: 14: Hoare triple {6301#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {5827#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:21,269 INFO L290 TraceCheckUtils]: 13: Hoare triple {5779#true} ~cond := #in~cond; {6301#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:20:21,269 INFO L272 TraceCheckUtils]: 12: Hoare triple {5779#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,269 INFO L290 TraceCheckUtils]: 11: Hoare triple {5779#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5779#true} is VALID [2022-04-28 12:20:21,269 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5779#true} {5779#true} #79#return; {5779#true} is VALID [2022-04-28 12:20:21,269 INFO L290 TraceCheckUtils]: 9: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,269 INFO L290 TraceCheckUtils]: 8: Hoare triple {5779#true} assume !(0 == ~cond); {5779#true} is VALID [2022-04-28 12:20:21,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {5779#true} ~cond := #in~cond; {5779#true} is VALID [2022-04-28 12:20:21,269 INFO L272 TraceCheckUtils]: 6: Hoare triple {5779#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {5779#true} is VALID [2022-04-28 12:20:21,269 INFO L290 TraceCheckUtils]: 5: Hoare triple {5779#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5779#true} is VALID [2022-04-28 12:20:21,269 INFO L272 TraceCheckUtils]: 4: Hoare triple {5779#true} call #t~ret6 := main(); {5779#true} is VALID [2022-04-28 12:20:21,269 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5779#true} {5779#true} #103#return; {5779#true} is VALID [2022-04-28 12:20:21,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {5779#true} assume true; {5779#true} is VALID [2022-04-28 12:20:21,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {5779#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {5779#true} is VALID [2022-04-28 12:20:21,269 INFO L272 TraceCheckUtils]: 0: Hoare triple {5779#true} call ULTIMATE.init(); {5779#true} is VALID [2022-04-28 12:20:21,270 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 19 proven. 20 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2022-04-28 12:20:21,270 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:21,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1745306879] [2022-04-28 12:20:21,270 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:21,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1968401467] [2022-04-28 12:20:21,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1968401467] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:20:21,270 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:20:21,270 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-28 12:20:21,270 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:21,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [490322042] [2022-04-28 12:20:21,271 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [490322042] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:21,271 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:21,271 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:20:21,271 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1314561342] [2022-04-28 12:20:21,271 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:21,271 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) Word has length 91 [2022-04-28 12:20:21,271 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:21,271 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 12:20:21,324 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:21,324 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:20:21,324 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:21,325 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:20:21,325 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=286, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:20:21,325 INFO L87 Difference]: Start difference. First operand 65 states and 81 transitions. Second operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 12:20:23,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:23,389 INFO L93 Difference]: Finished difference Result 94 states and 120 transitions. [2022-04-28 12:20:23,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:20:23,389 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) Word has length 91 [2022-04-28 12:20:23,389 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:23,389 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 12:20:23,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 105 transitions. [2022-04-28 12:20:23,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 12:20:23,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 105 transitions. [2022-04-28 12:20:23,404 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 105 transitions. [2022-04-28 12:20:23,576 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:23,578 INFO L225 Difference]: With dead ends: 94 [2022-04-28 12:20:23,578 INFO L226 Difference]: Without dead ends: 92 [2022-04-28 12:20:23,578 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 163 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=92, Invalid=460, Unknown=0, NotChecked=0, Total=552 [2022-04-28 12:20:23,579 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 30 mSDsluCounter, 258 mSDsCounter, 0 mSdLazyCounter, 458 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 316 SdHoareTripleChecker+Invalid, 477 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 458 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:23,579 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 316 Invalid, 477 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 458 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 12:20:23,579 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-28 12:20:23,821 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 83. [2022-04-28 12:20:23,822 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:23,823 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:20:23,823 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:20:23,824 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:20:23,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:23,833 INFO L93 Difference]: Finished difference Result 92 states and 118 transitions. [2022-04-28 12:20:23,833 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 118 transitions. [2022-04-28 12:20:23,835 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:23,835 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:23,835 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 92 states. [2022-04-28 12:20:23,835 INFO L87 Difference]: Start difference. First operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 92 states. [2022-04-28 12:20:23,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:23,841 INFO L93 Difference]: Finished difference Result 92 states and 118 transitions. [2022-04-28 12:20:23,841 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 118 transitions. [2022-04-28 12:20:23,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:23,841 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:23,841 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:23,841 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:23,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 46 states have (on average 1.1304347826086956) internal successors, (52), 48 states have internal predecessors, (52), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:20:23,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 104 transitions. [2022-04-28 12:20:23,843 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 104 transitions. Word has length 91 [2022-04-28 12:20:23,843 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:23,843 INFO L495 AbstractCegarLoop]: Abstraction has 83 states and 104 transitions. [2022-04-28 12:20:23,843 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-28 12:20:23,843 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 104 transitions. [2022-04-28 12:20:23,978 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:23,978 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 104 transitions. [2022-04-28 12:20:23,984 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 97 [2022-04-28 12:20:23,984 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:23,984 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 6, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:20:24,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-28 12:20:24,190 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 12:20:24,190 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:24,190 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:24,191 INFO L85 PathProgramCache]: Analyzing trace with hash -2082914122, now seen corresponding path program 1 times [2022-04-28 12:20:24,191 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:24,191 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1625379512] [2022-04-28 12:20:24,191 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:24,191 INFO L85 PathProgramCache]: Analyzing trace with hash -2082914122, now seen corresponding path program 2 times [2022-04-28 12:20:24,191 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:24,191 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [685283594] [2022-04-28 12:20:24,191 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:24,191 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:24,221 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:24,221 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1261559433] [2022-04-28 12:20:24,221 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:20:24,221 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:24,221 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:24,225 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:20:24,230 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 12:20:24,288 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:20:24,288 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:24,289 INFO L263 TraceCheckSpWp]: Trace formula consists of 242 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 12:20:24,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:24,309 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:25,401 INFO L272 TraceCheckUtils]: 0: Hoare triple {6891#true} call ULTIMATE.init(); {6891#true} is VALID [2022-04-28 12:20:25,401 INFO L290 TraceCheckUtils]: 1: Hoare triple {6891#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {6891#true} is VALID [2022-04-28 12:20:25,401 INFO L290 TraceCheckUtils]: 2: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,401 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6891#true} {6891#true} #103#return; {6891#true} is VALID [2022-04-28 12:20:25,401 INFO L272 TraceCheckUtils]: 4: Hoare triple {6891#true} call #t~ret6 := main(); {6891#true} is VALID [2022-04-28 12:20:25,401 INFO L290 TraceCheckUtils]: 5: Hoare triple {6891#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6891#true} is VALID [2022-04-28 12:20:25,401 INFO L272 TraceCheckUtils]: 6: Hoare triple {6891#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,401 INFO L290 TraceCheckUtils]: 7: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,401 INFO L290 TraceCheckUtils]: 8: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,401 INFO L290 TraceCheckUtils]: 9: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,401 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6891#true} {6891#true} #79#return; {6891#true} is VALID [2022-04-28 12:20:25,401 INFO L290 TraceCheckUtils]: 11: Hoare triple {6891#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6891#true} is VALID [2022-04-28 12:20:25,401 INFO L272 TraceCheckUtils]: 12: Hoare triple {6891#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,402 INFO L290 TraceCheckUtils]: 13: Hoare triple {6891#true} ~cond := #in~cond; {6935#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:25,402 INFO L290 TraceCheckUtils]: 14: Hoare triple {6935#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6939#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:25,402 INFO L290 TraceCheckUtils]: 15: Hoare triple {6939#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6939#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:25,402 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6939#(not (= |assume_abort_if_not_#in~cond| 0))} {6891#true} #81#return; {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,403 INFO L272 TraceCheckUtils]: 17: Hoare triple {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,403 INFO L290 TraceCheckUtils]: 18: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,403 INFO L290 TraceCheckUtils]: 19: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,403 INFO L290 TraceCheckUtils]: 20: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,403 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6891#true} {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,403 INFO L272 TraceCheckUtils]: 22: Hoare triple {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,403 INFO L290 TraceCheckUtils]: 23: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,403 INFO L290 TraceCheckUtils]: 24: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,403 INFO L290 TraceCheckUtils]: 25: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,403 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6891#true} {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,404 INFO L290 TraceCheckUtils]: 27: Hoare triple {6946#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,404 INFO L272 TraceCheckUtils]: 28: Hoare triple {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,404 INFO L290 TraceCheckUtils]: 29: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,404 INFO L290 TraceCheckUtils]: 30: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,404 INFO L290 TraceCheckUtils]: 31: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,404 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6891#true} {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} #87#return; {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,405 INFO L272 TraceCheckUtils]: 33: Hoare triple {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,405 INFO L290 TraceCheckUtils]: 34: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,405 INFO L290 TraceCheckUtils]: 35: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,405 INFO L290 TraceCheckUtils]: 36: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,405 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6891#true} {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} #89#return; {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,407 INFO L290 TraceCheckUtils]: 38: Hoare triple {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} assume !false; {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,409 INFO L290 TraceCheckUtils]: 39: Hoare triple {6980#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,410 INFO L290 TraceCheckUtils]: 40: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} assume !false; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,410 INFO L272 TraceCheckUtils]: 41: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,410 INFO L290 TraceCheckUtils]: 42: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,410 INFO L290 TraceCheckUtils]: 43: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,410 INFO L290 TraceCheckUtils]: 44: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,410 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6891#true} {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} #91#return; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,410 INFO L272 TraceCheckUtils]: 46: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,410 INFO L290 TraceCheckUtils]: 47: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,410 INFO L290 TraceCheckUtils]: 48: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,410 INFO L290 TraceCheckUtils]: 49: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,423 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6891#true} {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} #93#return; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,423 INFO L272 TraceCheckUtils]: 51: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,423 INFO L290 TraceCheckUtils]: 52: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,424 INFO L290 TraceCheckUtils]: 53: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,424 INFO L290 TraceCheckUtils]: 54: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,424 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6891#true} {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} #95#return; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,424 INFO L272 TraceCheckUtils]: 56: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,424 INFO L290 TraceCheckUtils]: 57: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,424 INFO L290 TraceCheckUtils]: 58: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,424 INFO L290 TraceCheckUtils]: 59: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,425 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {6891#true} {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} #97#return; {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,425 INFO L290 TraceCheckUtils]: 61: Hoare triple {7017#(and (<= 0 main_~y~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (<= main_~y~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,425 INFO L290 TraceCheckUtils]: 62: Hoare triple {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} assume !false; {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,425 INFO L272 TraceCheckUtils]: 63: Hoare triple {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,426 INFO L290 TraceCheckUtils]: 64: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,426 INFO L290 TraceCheckUtils]: 65: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,426 INFO L290 TraceCheckUtils]: 66: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,426 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6891#true} {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #91#return; {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,426 INFO L272 TraceCheckUtils]: 68: Hoare triple {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,426 INFO L290 TraceCheckUtils]: 69: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,426 INFO L290 TraceCheckUtils]: 70: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,426 INFO L290 TraceCheckUtils]: 71: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,427 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6891#true} {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #93#return; {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,427 INFO L272 TraceCheckUtils]: 73: Hoare triple {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,427 INFO L290 TraceCheckUtils]: 74: Hoare triple {6891#true} ~cond := #in~cond; {7124#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:25,427 INFO L290 TraceCheckUtils]: 75: Hoare triple {7124#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:25,427 INFO L290 TraceCheckUtils]: 76: Hoare triple {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:25,428 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} {7084#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1))} #95#return; {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,428 INFO L272 TraceCheckUtils]: 78: Hoare triple {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,428 INFO L290 TraceCheckUtils]: 79: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,428 INFO L290 TraceCheckUtils]: 80: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,428 INFO L290 TraceCheckUtils]: 81: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,429 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {6891#true} {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} #97#return; {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,429 INFO L290 TraceCheckUtils]: 83: Hoare triple {7135#(and (<= main_~x~0 (+ main_~c~0 main_~b~0)) (<= 0 main_~y~0) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} assume !(~c~0 >= ~b~0); {7154#(and (< main_~x~0 (* main_~b~0 2)) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,430 INFO L290 TraceCheckUtils]: 84: Hoare triple {7154#(and (< main_~x~0 (* main_~b~0 2)) (<= main_~b~0 main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (<= main_~y~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,431 INFO L290 TraceCheckUtils]: 85: Hoare triple {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} assume !false; {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,431 INFO L290 TraceCheckUtils]: 86: Hoare triple {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} assume !(0 != ~b~0); {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,431 INFO L272 TraceCheckUtils]: 87: Hoare triple {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:25,431 INFO L290 TraceCheckUtils]: 88: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:25,431 INFO L290 TraceCheckUtils]: 89: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:25,431 INFO L290 TraceCheckUtils]: 90: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:25,432 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {6891#true} {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} #99#return; {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:25,432 INFO L272 TraceCheckUtils]: 92: Hoare triple {7158#(and (< main_~x~0 (* main_~a~0 2)) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (<= main_~a~0 main_~x~0) (<= main_~y~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:25,433 INFO L290 TraceCheckUtils]: 93: Hoare triple {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7187#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:25,433 INFO L290 TraceCheckUtils]: 94: Hoare triple {7187#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6892#false} is VALID [2022-04-28 12:20:25,433 INFO L290 TraceCheckUtils]: 95: Hoare triple {6892#false} assume !false; {6892#false} is VALID [2022-04-28 12:20:25,433 INFO L134 CoverageAnalysis]: Checked inductivity of 230 backedges. 38 proven. 27 refuted. 0 times theorem prover too weak. 165 trivial. 0 not checked. [2022-04-28 12:20:25,433 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:37,498 INFO L290 TraceCheckUtils]: 95: Hoare triple {6892#false} assume !false; {6892#false} is VALID [2022-04-28 12:20:37,498 INFO L290 TraceCheckUtils]: 94: Hoare triple {7187#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6892#false} is VALID [2022-04-28 12:20:37,498 INFO L290 TraceCheckUtils]: 93: Hoare triple {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7187#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:37,499 INFO L272 TraceCheckUtils]: 92: Hoare triple {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {7183#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:37,499 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {6891#true} {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:37,499 INFO L290 TraceCheckUtils]: 90: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,499 INFO L290 TraceCheckUtils]: 89: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,500 INFO L290 TraceCheckUtils]: 88: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,500 INFO L272 TraceCheckUtils]: 87: Hoare triple {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,500 INFO L290 TraceCheckUtils]: 86: Hoare triple {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:37,500 INFO L290 TraceCheckUtils]: 85: Hoare triple {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:37,500 INFO L290 TraceCheckUtils]: 84: Hoare triple {7228#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7203#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:20:37,501 INFO L290 TraceCheckUtils]: 83: Hoare triple {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {7228#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:20:37,501 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {6891#true} {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} #97#return; {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:20:37,501 INFO L290 TraceCheckUtils]: 81: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,501 INFO L290 TraceCheckUtils]: 80: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,501 INFO L290 TraceCheckUtils]: 79: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,501 INFO L272 TraceCheckUtils]: 78: Hoare triple {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,502 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} {6891#true} #95#return; {7232#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:20:37,502 INFO L290 TraceCheckUtils]: 76: Hoare triple {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:37,502 INFO L290 TraceCheckUtils]: 75: Hoare triple {7260#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7128#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:20:37,503 INFO L290 TraceCheckUtils]: 74: Hoare triple {6891#true} ~cond := #in~cond; {7260#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:20:37,503 INFO L272 TraceCheckUtils]: 73: Hoare triple {6891#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6891#true} {6891#true} #93#return; {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L290 TraceCheckUtils]: 71: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L290 TraceCheckUtils]: 70: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L290 TraceCheckUtils]: 69: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L272 TraceCheckUtils]: 68: Hoare triple {6891#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6891#true} {6891#true} #91#return; {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L290 TraceCheckUtils]: 66: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L290 TraceCheckUtils]: 65: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L290 TraceCheckUtils]: 64: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L272 TraceCheckUtils]: 63: Hoare triple {6891#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L290 TraceCheckUtils]: 62: Hoare triple {6891#true} assume !false; {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L290 TraceCheckUtils]: 61: Hoare triple {6891#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {6891#true} {6891#true} #97#return; {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L290 TraceCheckUtils]: 59: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,503 INFO L290 TraceCheckUtils]: 58: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L290 TraceCheckUtils]: 57: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L272 TraceCheckUtils]: 56: Hoare triple {6891#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6891#true} {6891#true} #95#return; {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L290 TraceCheckUtils]: 54: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L290 TraceCheckUtils]: 53: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L290 TraceCheckUtils]: 52: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L272 TraceCheckUtils]: 51: Hoare triple {6891#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6891#true} {6891#true} #93#return; {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L290 TraceCheckUtils]: 49: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L290 TraceCheckUtils]: 48: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L290 TraceCheckUtils]: 47: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L272 TraceCheckUtils]: 46: Hoare triple {6891#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6891#true} {6891#true} #91#return; {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L290 TraceCheckUtils]: 44: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L290 TraceCheckUtils]: 43: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L290 TraceCheckUtils]: 42: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L272 TraceCheckUtils]: 41: Hoare triple {6891#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L290 TraceCheckUtils]: 40: Hoare triple {6891#true} assume !false; {6891#true} is VALID [2022-04-28 12:20:37,504 INFO L290 TraceCheckUtils]: 39: Hoare triple {6891#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L290 TraceCheckUtils]: 38: Hoare triple {6891#true} assume !false; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6891#true} {6891#true} #89#return; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L290 TraceCheckUtils]: 36: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L290 TraceCheckUtils]: 35: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L290 TraceCheckUtils]: 34: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L272 TraceCheckUtils]: 33: Hoare triple {6891#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6891#true} {6891#true} #87#return; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L290 TraceCheckUtils]: 31: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L290 TraceCheckUtils]: 30: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L290 TraceCheckUtils]: 29: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L272 TraceCheckUtils]: 28: Hoare triple {6891#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L290 TraceCheckUtils]: 27: Hoare triple {6891#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6891#true} {6891#true} #85#return; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L290 TraceCheckUtils]: 25: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L290 TraceCheckUtils]: 24: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L290 TraceCheckUtils]: 23: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L272 TraceCheckUtils]: 22: Hoare triple {6891#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6891#true} {6891#true} #83#return; {6891#true} is VALID [2022-04-28 12:20:37,505 INFO L290 TraceCheckUtils]: 20: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L290 TraceCheckUtils]: 19: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L290 TraceCheckUtils]: 18: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L272 TraceCheckUtils]: 17: Hoare triple {6891#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6891#true} {6891#true} #81#return; {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L290 TraceCheckUtils]: 15: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L290 TraceCheckUtils]: 14: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L290 TraceCheckUtils]: 13: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L272 TraceCheckUtils]: 12: Hoare triple {6891#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L290 TraceCheckUtils]: 11: Hoare triple {6891#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6891#true} {6891#true} #79#return; {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L290 TraceCheckUtils]: 9: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L290 TraceCheckUtils]: 8: Hoare triple {6891#true} assume !(0 == ~cond); {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L290 TraceCheckUtils]: 7: Hoare triple {6891#true} ~cond := #in~cond; {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L272 TraceCheckUtils]: 6: Hoare triple {6891#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L290 TraceCheckUtils]: 5: Hoare triple {6891#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L272 TraceCheckUtils]: 4: Hoare triple {6891#true} call #t~ret6 := main(); {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6891#true} {6891#true} #103#return; {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {6891#true} assume true; {6891#true} is VALID [2022-04-28 12:20:37,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {6891#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {6891#true} is VALID [2022-04-28 12:20:37,507 INFO L272 TraceCheckUtils]: 0: Hoare triple {6891#true} call ULTIMATE.init(); {6891#true} is VALID [2022-04-28 12:20:37,507 INFO L134 CoverageAnalysis]: Checked inductivity of 230 backedges. 39 proven. 7 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-28 12:20:37,507 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:37,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [685283594] [2022-04-28 12:20:37,507 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:37,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1261559433] [2022-04-28 12:20:37,507 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1261559433] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:20:37,507 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:20:37,507 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9] total 19 [2022-04-28 12:20:37,507 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:37,508 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1625379512] [2022-04-28 12:20:37,508 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1625379512] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:37,508 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:37,508 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 12:20:37,508 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1381102477] [2022-04-28 12:20:37,508 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:37,508 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 96 [2022-04-28 12:20:37,509 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:37,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 12:20:37,564 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:37,564 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 12:20:37,565 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:37,565 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 12:20:37,565 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=289, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:20:37,565 INFO L87 Difference]: Start difference. First operand 83 states and 104 transitions. Second operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 12:20:39,701 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:39,701 INFO L93 Difference]: Finished difference Result 98 states and 123 transitions. [2022-04-28 12:20:39,701 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:20:39,701 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 96 [2022-04-28 12:20:39,702 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:39,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 12:20:39,709 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 105 transitions. [2022-04-28 12:20:39,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 12:20:39,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 105 transitions. [2022-04-28 12:20:39,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 105 transitions. [2022-04-28 12:20:39,788 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:39,789 INFO L225 Difference]: With dead ends: 98 [2022-04-28 12:20:39,789 INFO L226 Difference]: Without dead ends: 90 [2022-04-28 12:20:39,790 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 198 GetRequests, 173 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 104 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=101, Invalid=549, Unknown=0, NotChecked=0, Total=650 [2022-04-28 12:20:39,790 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 35 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 633 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 246 SdHoareTripleChecker+Invalid, 653 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 633 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:39,790 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 246 Invalid, 653 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 633 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 12:20:39,790 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 90 states. [2022-04-28 12:20:39,913 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 90 to 88. [2022-04-28 12:20:39,913 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:39,913 INFO L82 GeneralOperation]: Start isEquivalent. First operand 90 states. Second operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:20:39,914 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:20:39,914 INFO L87 Difference]: Start difference. First operand 90 states. Second operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:20:39,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:39,916 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-28 12:20:39,916 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 114 transitions. [2022-04-28 12:20:39,916 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:39,916 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:39,916 INFO L74 IsIncluded]: Start isIncluded. First operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) Second operand 90 states. [2022-04-28 12:20:39,917 INFO L87 Difference]: Start difference. First operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) Second operand 90 states. [2022-04-28 12:20:39,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:39,918 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-28 12:20:39,918 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 114 transitions. [2022-04-28 12:20:39,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:39,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:39,919 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:39,919 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:39,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 88 states, 48 states have (on average 1.125) internal successors, (54), 49 states have internal predecessors, (54), 30 states have call successors, (30), 10 states have call predecessors, (30), 9 states have return successors, (28), 28 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:20:39,920 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 112 transitions. [2022-04-28 12:20:39,920 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 112 transitions. Word has length 96 [2022-04-28 12:20:39,920 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:39,920 INFO L495 AbstractCegarLoop]: Abstraction has 88 states and 112 transitions. [2022-04-28 12:20:39,921 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 12 states have internal predecessors, (29), 7 states have call successors, (18), 2 states have call predecessors, (18), 3 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-28 12:20:39,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 88 states and 112 transitions. [2022-04-28 12:20:40,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:40,071 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 112 transitions. [2022-04-28 12:20:40,071 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-28 12:20:40,071 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:40,071 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 6, 6, 6, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:20:40,090 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-28 12:20:40,287 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 12:20:40,288 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:40,288 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:40,288 INFO L85 PathProgramCache]: Analyzing trace with hash 948121191, now seen corresponding path program 1 times [2022-04-28 12:20:40,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:40,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [934236085] [2022-04-28 12:20:40,289 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:40,289 INFO L85 PathProgramCache]: Analyzing trace with hash 948121191, now seen corresponding path program 2 times [2022-04-28 12:20:40,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:40,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1977880790] [2022-04-28 12:20:40,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:40,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:40,301 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:40,301 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2108123373] [2022-04-28 12:20:40,301 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:20:40,302 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:40,302 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:40,307 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:20:40,308 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 12:20:40,356 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:20:40,357 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:40,357 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 12:20:40,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:40,370 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:40,691 INFO L272 TraceCheckUtils]: 0: Hoare triple {8051#true} call ULTIMATE.init(); {8051#true} is VALID [2022-04-28 12:20:40,691 INFO L290 TraceCheckUtils]: 1: Hoare triple {8051#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {8051#true} is VALID [2022-04-28 12:20:40,691 INFO L290 TraceCheckUtils]: 2: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,692 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8051#true} {8051#true} #103#return; {8051#true} is VALID [2022-04-28 12:20:40,692 INFO L272 TraceCheckUtils]: 4: Hoare triple {8051#true} call #t~ret6 := main(); {8051#true} is VALID [2022-04-28 12:20:40,692 INFO L290 TraceCheckUtils]: 5: Hoare triple {8051#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8051#true} is VALID [2022-04-28 12:20:40,692 INFO L272 TraceCheckUtils]: 6: Hoare triple {8051#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,692 INFO L290 TraceCheckUtils]: 7: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,692 INFO L290 TraceCheckUtils]: 8: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,692 INFO L290 TraceCheckUtils]: 9: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,692 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8051#true} {8051#true} #79#return; {8051#true} is VALID [2022-04-28 12:20:40,692 INFO L290 TraceCheckUtils]: 11: Hoare triple {8051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8051#true} is VALID [2022-04-28 12:20:40,692 INFO L272 TraceCheckUtils]: 12: Hoare triple {8051#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,692 INFO L290 TraceCheckUtils]: 13: Hoare triple {8051#true} ~cond := #in~cond; {8095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:40,692 INFO L290 TraceCheckUtils]: 14: Hoare triple {8095#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:40,693 INFO L290 TraceCheckUtils]: 15: Hoare triple {8099#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:40,693 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8099#(not (= |assume_abort_if_not_#in~cond| 0))} {8051#true} #81#return; {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:40,693 INFO L272 TraceCheckUtils]: 17: Hoare triple {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,693 INFO L290 TraceCheckUtils]: 18: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,693 INFO L290 TraceCheckUtils]: 19: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,693 INFO L290 TraceCheckUtils]: 20: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,693 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8051#true} {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #83#return; {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:40,693 INFO L272 TraceCheckUtils]: 22: Hoare triple {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,693 INFO L290 TraceCheckUtils]: 23: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,694 INFO L290 TraceCheckUtils]: 24: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,694 INFO L290 TraceCheckUtils]: 25: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,694 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8051#true} {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #85#return; {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 12:20:40,694 INFO L290 TraceCheckUtils]: 27: Hoare triple {8106#(and (<= 0 main_~y~0) (<= main_~y~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:40,694 INFO L272 TraceCheckUtils]: 28: Hoare triple {8140#(<= main_~b~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,694 INFO L290 TraceCheckUtils]: 29: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,694 INFO L290 TraceCheckUtils]: 30: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,694 INFO L290 TraceCheckUtils]: 31: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,695 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #87#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:40,695 INFO L272 TraceCheckUtils]: 33: Hoare triple {8140#(<= main_~b~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,695 INFO L290 TraceCheckUtils]: 34: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,695 INFO L290 TraceCheckUtils]: 35: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,695 INFO L290 TraceCheckUtils]: 36: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,695 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #89#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:40,696 INFO L290 TraceCheckUtils]: 38: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:40,696 INFO L290 TraceCheckUtils]: 39: Hoare triple {8140#(<= main_~b~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:40,696 INFO L290 TraceCheckUtils]: 40: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:40,696 INFO L272 TraceCheckUtils]: 41: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,696 INFO L290 TraceCheckUtils]: 42: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,696 INFO L290 TraceCheckUtils]: 43: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,696 INFO L290 TraceCheckUtils]: 44: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,696 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #91#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:40,696 INFO L272 TraceCheckUtils]: 46: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,697 INFO L290 TraceCheckUtils]: 47: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,697 INFO L290 TraceCheckUtils]: 48: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,697 INFO L290 TraceCheckUtils]: 49: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,697 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #93#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:40,697 INFO L272 TraceCheckUtils]: 51: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,697 INFO L290 TraceCheckUtils]: 52: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,697 INFO L290 TraceCheckUtils]: 53: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,697 INFO L290 TraceCheckUtils]: 54: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,697 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #95#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:40,698 INFO L272 TraceCheckUtils]: 56: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,698 INFO L290 TraceCheckUtils]: 57: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,698 INFO L290 TraceCheckUtils]: 58: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,698 INFO L290 TraceCheckUtils]: 59: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,698 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #97#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:40,699 INFO L290 TraceCheckUtils]: 61: Hoare triple {8140#(<= main_~b~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 12:20:40,699 INFO L290 TraceCheckUtils]: 62: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} assume !false; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 12:20:40,699 INFO L272 TraceCheckUtils]: 63: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,699 INFO L290 TraceCheckUtils]: 64: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,699 INFO L290 TraceCheckUtils]: 65: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,699 INFO L290 TraceCheckUtils]: 66: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,699 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8051#true} {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} #91#return; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 12:20:40,699 INFO L272 TraceCheckUtils]: 68: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,699 INFO L290 TraceCheckUtils]: 69: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,699 INFO L290 TraceCheckUtils]: 70: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,700 INFO L290 TraceCheckUtils]: 71: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,700 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8051#true} {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} #93#return; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 12:20:40,700 INFO L272 TraceCheckUtils]: 73: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,700 INFO L290 TraceCheckUtils]: 74: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,700 INFO L290 TraceCheckUtils]: 75: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,700 INFO L290 TraceCheckUtils]: 76: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,700 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8051#true} {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} #95#return; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 12:20:40,700 INFO L272 TraceCheckUtils]: 78: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:40,701 INFO L290 TraceCheckUtils]: 79: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:40,701 INFO L290 TraceCheckUtils]: 80: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:40,701 INFO L290 TraceCheckUtils]: 81: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:40,701 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8051#true} {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} #97#return; {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 12:20:40,701 INFO L290 TraceCheckUtils]: 83: Hoare triple {8243#(and (<= main_~b~0 1) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {8310#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 12:20:40,702 INFO L290 TraceCheckUtils]: 84: Hoare triple {8310#(and (< main_~c~0 1) (<= 0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-28 12:20:40,702 INFO L290 TraceCheckUtils]: 85: Hoare triple {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-28 12:20:40,702 INFO L290 TraceCheckUtils]: 86: Hoare triple {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8052#false} is VALID [2022-04-28 12:20:40,702 INFO L290 TraceCheckUtils]: 87: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-28 12:20:40,702 INFO L272 TraceCheckUtils]: 88: Hoare triple {8052#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8052#false} is VALID [2022-04-28 12:20:40,702 INFO L290 TraceCheckUtils]: 89: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L290 TraceCheckUtils]: 90: Hoare triple {8052#false} assume !(0 == ~cond); {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L290 TraceCheckUtils]: 91: Hoare triple {8052#false} assume true; {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8052#false} {8052#false} #91#return; {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L272 TraceCheckUtils]: 93: Hoare triple {8052#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L290 TraceCheckUtils]: 94: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L290 TraceCheckUtils]: 95: Hoare triple {8052#false} assume !(0 == ~cond); {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L290 TraceCheckUtils]: 96: Hoare triple {8052#false} assume true; {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8052#false} {8052#false} #93#return; {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L272 TraceCheckUtils]: 98: Hoare triple {8052#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L290 TraceCheckUtils]: 99: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L290 TraceCheckUtils]: 100: Hoare triple {8052#false} assume 0 == ~cond; {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L290 TraceCheckUtils]: 101: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-28 12:20:40,703 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 99 proven. 12 refuted. 0 times theorem prover too weak. 165 trivial. 0 not checked. [2022-04-28 12:20:40,703 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:41,155 INFO L290 TraceCheckUtils]: 101: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-28 12:20:41,155 INFO L290 TraceCheckUtils]: 100: Hoare triple {8052#false} assume 0 == ~cond; {8052#false} is VALID [2022-04-28 12:20:41,155 INFO L290 TraceCheckUtils]: 99: Hoare triple {8052#false} ~cond := #in~cond; {8052#false} is VALID [2022-04-28 12:20:41,155 INFO L272 TraceCheckUtils]: 98: Hoare triple {8052#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8052#false} is VALID [2022-04-28 12:20:41,155 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8051#true} {8052#false} #93#return; {8052#false} is VALID [2022-04-28 12:20:41,155 INFO L290 TraceCheckUtils]: 96: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,155 INFO L290 TraceCheckUtils]: 95: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,155 INFO L290 TraceCheckUtils]: 94: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,155 INFO L272 TraceCheckUtils]: 93: Hoare triple {8052#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,155 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8051#true} {8052#false} #91#return; {8052#false} is VALID [2022-04-28 12:20:41,156 INFO L290 TraceCheckUtils]: 91: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,156 INFO L290 TraceCheckUtils]: 90: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,156 INFO L290 TraceCheckUtils]: 89: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,156 INFO L272 TraceCheckUtils]: 88: Hoare triple {8052#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,156 INFO L290 TraceCheckUtils]: 87: Hoare triple {8052#false} assume !false; {8052#false} is VALID [2022-04-28 12:20:41,156 INFO L290 TraceCheckUtils]: 86: Hoare triple {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8052#false} is VALID [2022-04-28 12:20:41,156 INFO L290 TraceCheckUtils]: 85: Hoare triple {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-28 12:20:41,157 INFO L290 TraceCheckUtils]: 84: Hoare triple {8310#(and (< main_~c~0 1) (<= 0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8314#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-28 12:20:41,157 INFO L290 TraceCheckUtils]: 83: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} assume !(~c~0 >= ~b~0); {8310#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 12:20:41,158 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8051#true} {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} #97#return; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-28 12:20:41,158 INFO L290 TraceCheckUtils]: 81: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,158 INFO L290 TraceCheckUtils]: 80: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,158 INFO L290 TraceCheckUtils]: 79: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,158 INFO L272 TraceCheckUtils]: 78: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,159 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8051#true} {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} #95#return; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-28 12:20:41,159 INFO L290 TraceCheckUtils]: 76: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,159 INFO L290 TraceCheckUtils]: 75: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,159 INFO L290 TraceCheckUtils]: 74: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,159 INFO L272 TraceCheckUtils]: 73: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,160 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8051#true} {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} #93#return; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-28 12:20:41,160 INFO L290 TraceCheckUtils]: 71: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,160 INFO L290 TraceCheckUtils]: 70: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,160 INFO L290 TraceCheckUtils]: 69: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,160 INFO L272 TraceCheckUtils]: 68: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,160 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8051#true} {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} #91#return; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-28 12:20:41,160 INFO L290 TraceCheckUtils]: 66: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,160 INFO L290 TraceCheckUtils]: 65: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,160 INFO L290 TraceCheckUtils]: 64: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,160 INFO L272 TraceCheckUtils]: 63: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,161 INFO L290 TraceCheckUtils]: 62: Hoare triple {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} assume !false; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-28 12:20:41,161 INFO L290 TraceCheckUtils]: 61: Hoare triple {8140#(<= main_~b~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8420#(or (<= main_~b~0 main_~c~0) (and (< main_~c~0 1) (<= 0 main_~c~0)))} is VALID [2022-04-28 12:20:41,162 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #97#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:41,162 INFO L290 TraceCheckUtils]: 59: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,162 INFO L290 TraceCheckUtils]: 58: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,162 INFO L290 TraceCheckUtils]: 57: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,162 INFO L272 TraceCheckUtils]: 56: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,163 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #95#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:41,163 INFO L290 TraceCheckUtils]: 54: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,163 INFO L290 TraceCheckUtils]: 53: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,163 INFO L290 TraceCheckUtils]: 52: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,163 INFO L272 TraceCheckUtils]: 51: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,164 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #93#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:41,164 INFO L290 TraceCheckUtils]: 49: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,164 INFO L290 TraceCheckUtils]: 48: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,164 INFO L290 TraceCheckUtils]: 47: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,164 INFO L272 TraceCheckUtils]: 46: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,164 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #91#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:41,164 INFO L290 TraceCheckUtils]: 44: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,164 INFO L290 TraceCheckUtils]: 43: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,164 INFO L290 TraceCheckUtils]: 42: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,165 INFO L272 TraceCheckUtils]: 41: Hoare triple {8140#(<= main_~b~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,165 INFO L290 TraceCheckUtils]: 40: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:41,165 INFO L290 TraceCheckUtils]: 39: Hoare triple {8140#(<= main_~b~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:41,165 INFO L290 TraceCheckUtils]: 38: Hoare triple {8140#(<= main_~b~0 1)} assume !false; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:41,166 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #89#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:41,166 INFO L290 TraceCheckUtils]: 36: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,166 INFO L290 TraceCheckUtils]: 35: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,166 INFO L290 TraceCheckUtils]: 34: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,166 INFO L272 TraceCheckUtils]: 33: Hoare triple {8140#(<= main_~b~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,166 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8051#true} {8140#(<= main_~b~0 1)} #87#return; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:41,166 INFO L290 TraceCheckUtils]: 31: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,166 INFO L290 TraceCheckUtils]: 30: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,167 INFO L290 TraceCheckUtils]: 29: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,167 INFO L272 TraceCheckUtils]: 28: Hoare triple {8140#(<= main_~b~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,167 INFO L290 TraceCheckUtils]: 27: Hoare triple {8589#(<= main_~y~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8140#(<= main_~b~0 1)} is VALID [2022-04-28 12:20:41,167 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8051#true} {8589#(<= main_~y~0 1)} #85#return; {8589#(<= main_~y~0 1)} is VALID [2022-04-28 12:20:41,167 INFO L290 TraceCheckUtils]: 25: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,167 INFO L290 TraceCheckUtils]: 24: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,168 INFO L290 TraceCheckUtils]: 23: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,168 INFO L272 TraceCheckUtils]: 22: Hoare triple {8589#(<= main_~y~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,168 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8051#true} {8589#(<= main_~y~0 1)} #83#return; {8589#(<= main_~y~0 1)} is VALID [2022-04-28 12:20:41,168 INFO L290 TraceCheckUtils]: 20: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,168 INFO L290 TraceCheckUtils]: 19: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,168 INFO L272 TraceCheckUtils]: 17: Hoare triple {8589#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,169 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8099#(not (= |assume_abort_if_not_#in~cond| 0))} {8051#true} #81#return; {8589#(<= main_~y~0 1)} is VALID [2022-04-28 12:20:41,169 INFO L290 TraceCheckUtils]: 15: Hoare triple {8099#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:41,169 INFO L290 TraceCheckUtils]: 14: Hoare triple {8632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {8099#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:41,170 INFO L290 TraceCheckUtils]: 13: Hoare triple {8051#true} ~cond := #in~cond; {8632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:20:41,170 INFO L272 TraceCheckUtils]: 12: Hoare triple {8051#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,170 INFO L290 TraceCheckUtils]: 11: Hoare triple {8051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8051#true} is VALID [2022-04-28 12:20:41,170 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8051#true} {8051#true} #79#return; {8051#true} is VALID [2022-04-28 12:20:41,170 INFO L290 TraceCheckUtils]: 9: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,170 INFO L290 TraceCheckUtils]: 8: Hoare triple {8051#true} assume !(0 == ~cond); {8051#true} is VALID [2022-04-28 12:20:41,170 INFO L290 TraceCheckUtils]: 7: Hoare triple {8051#true} ~cond := #in~cond; {8051#true} is VALID [2022-04-28 12:20:41,170 INFO L272 TraceCheckUtils]: 6: Hoare triple {8051#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {8051#true} is VALID [2022-04-28 12:20:41,170 INFO L290 TraceCheckUtils]: 5: Hoare triple {8051#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8051#true} is VALID [2022-04-28 12:20:41,170 INFO L272 TraceCheckUtils]: 4: Hoare triple {8051#true} call #t~ret6 := main(); {8051#true} is VALID [2022-04-28 12:20:41,170 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8051#true} {8051#true} #103#return; {8051#true} is VALID [2022-04-28 12:20:41,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {8051#true} assume true; {8051#true} is VALID [2022-04-28 12:20:41,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {8051#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {8051#true} is VALID [2022-04-28 12:20:41,170 INFO L272 TraceCheckUtils]: 0: Hoare triple {8051#true} call ULTIMATE.init(); {8051#true} is VALID [2022-04-28 12:20:41,171 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 33 proven. 18 refuted. 0 times theorem prover too weak. 225 trivial. 0 not checked. [2022-04-28 12:20:41,171 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:41,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1977880790] [2022-04-28 12:20:41,171 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:41,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2108123373] [2022-04-28 12:20:41,171 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2108123373] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:20:41,171 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:20:41,171 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-04-28 12:20:41,171 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:41,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [934236085] [2022-04-28 12:20:41,171 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [934236085] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:41,171 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:41,171 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:20:41,171 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1717030229] [2022-04-28 12:20:41,171 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:41,172 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 102 [2022-04-28 12:20:41,172 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:41,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:20:41,221 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:41,221 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:20:41,221 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:41,221 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:20:41,222 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:20:41,222 INFO L87 Difference]: Start difference. First operand 88 states and 112 transitions. Second operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:20:41,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:41,688 INFO L93 Difference]: Finished difference Result 103 states and 127 transitions. [2022-04-28 12:20:41,688 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:20:41,688 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 102 [2022-04-28 12:20:41,688 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:41,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:20:41,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-28 12:20:41,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:20:41,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-28 12:20:41,691 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-28 12:20:41,772 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:41,773 INFO L225 Difference]: With dead ends: 103 [2022-04-28 12:20:41,773 INFO L226 Difference]: Without dead ends: 69 [2022-04-28 12:20:41,773 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 208 GetRequests, 192 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=68, Invalid=204, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:20:41,774 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 17 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 150 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:41,774 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 155 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 150 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:20:41,774 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-28 12:20:41,923 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 69. [2022-04-28 12:20:41,923 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:41,923 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:20:41,923 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:20:41,924 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:20:41,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:41,926 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-28 12:20:41,926 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-28 12:20:41,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:41,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:41,926 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 69 states. [2022-04-28 12:20:41,927 INFO L87 Difference]: Start difference. First operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 69 states. [2022-04-28 12:20:41,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:41,928 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-28 12:20:41,928 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-28 12:20:41,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:41,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:41,928 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:41,928 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:41,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 38 states have (on average 1.0526315789473684) internal successors, (40), 39 states have internal predecessors, (40), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-28 12:20:41,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 82 transitions. [2022-04-28 12:20:41,929 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 82 transitions. Word has length 102 [2022-04-28 12:20:41,929 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:41,929 INFO L495 AbstractCegarLoop]: Abstraction has 69 states and 82 transitions. [2022-04-28 12:20:41,930 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.2222222222222223) internal successors, (29), 8 states have internal predecessors, (29), 5 states have call successors, (19), 2 states have call predecessors, (19), 3 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 12:20:41,930 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 69 states and 82 transitions. [2022-04-28 12:20:42,018 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:42,018 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 82 transitions. [2022-04-28 12:20:42,019 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-28 12:20:42,019 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:42,019 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 6, 6, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:20:42,037 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 12:20:42,234 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 12:20:42,234 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:42,235 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:42,235 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 3 times [2022-04-28 12:20:42,235 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:42,235 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2074132803] [2022-04-28 12:20:42,235 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:42,235 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 4 times [2022-04-28 12:20:42,235 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:42,235 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2129255828] [2022-04-28 12:20:42,236 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:42,236 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:42,248 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:42,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1837609604] [2022-04-28 12:20:42,248 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:20:42,248 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:42,248 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:42,249 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:20:42,253 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 12:20:42,302 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:20:42,302 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:42,303 INFO L263 TraceCheckSpWp]: Trace formula consists of 236 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:20:42,322 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:42,324 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:42,631 INFO L272 TraceCheckUtils]: 0: Hoare triple {9166#true} call ULTIMATE.init(); {9166#true} is VALID [2022-04-28 12:20:42,631 INFO L290 TraceCheckUtils]: 1: Hoare triple {9166#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {9166#true} is VALID [2022-04-28 12:20:42,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9166#true} {9166#true} #103#return; {9166#true} is VALID [2022-04-28 12:20:42,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {9166#true} call #t~ret6 := main(); {9166#true} is VALID [2022-04-28 12:20:42,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {9166#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9166#true} is VALID [2022-04-28 12:20:42,635 INFO L272 TraceCheckUtils]: 6: Hoare triple {9166#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,636 INFO L290 TraceCheckUtils]: 7: Hoare triple {9166#true} ~cond := #in~cond; {9192#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:42,636 INFO L290 TraceCheckUtils]: 8: Hoare triple {9192#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:42,636 INFO L290 TraceCheckUtils]: 9: Hoare triple {9196#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:42,636 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9196#(not (= |assume_abort_if_not_#in~cond| 0))} {9166#true} #79#return; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 12:20:42,637 INFO L290 TraceCheckUtils]: 11: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 12:20:42,637 INFO L272 TraceCheckUtils]: 12: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,637 INFO L290 TraceCheckUtils]: 13: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,637 INFO L290 TraceCheckUtils]: 14: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,637 INFO L290 TraceCheckUtils]: 15: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,637 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9166#true} {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #81#return; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 12:20:42,637 INFO L272 TraceCheckUtils]: 17: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,637 INFO L290 TraceCheckUtils]: 18: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,637 INFO L290 TraceCheckUtils]: 19: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,637 INFO L290 TraceCheckUtils]: 20: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,637 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9166#true} {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #83#return; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 12:20:42,637 INFO L272 TraceCheckUtils]: 22: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,638 INFO L290 TraceCheckUtils]: 23: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,638 INFO L290 TraceCheckUtils]: 24: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,638 INFO L290 TraceCheckUtils]: 25: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,638 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9166#true} {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #85#return; {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 12:20:42,638 INFO L290 TraceCheckUtils]: 27: Hoare triple {9203#(and (<= 0 main_~x~0) (<= main_~x~0 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {9255#(<= main_~a~0 1)} is VALID [2022-04-28 12:20:42,638 INFO L272 TraceCheckUtils]: 28: Hoare triple {9255#(<= main_~a~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,638 INFO L290 TraceCheckUtils]: 29: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,638 INFO L290 TraceCheckUtils]: 30: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,638 INFO L290 TraceCheckUtils]: 31: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,639 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #87#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-28 12:20:42,639 INFO L272 TraceCheckUtils]: 33: Hoare triple {9255#(<= main_~a~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,639 INFO L290 TraceCheckUtils]: 34: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,639 INFO L290 TraceCheckUtils]: 35: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,639 INFO L290 TraceCheckUtils]: 36: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,639 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #89#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-28 12:20:42,640 INFO L290 TraceCheckUtils]: 38: Hoare triple {9255#(<= main_~a~0 1)} assume !false; {9255#(<= main_~a~0 1)} is VALID [2022-04-28 12:20:42,640 INFO L290 TraceCheckUtils]: 39: Hoare triple {9255#(<= main_~a~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9292#(<= main_~c~0 1)} is VALID [2022-04-28 12:20:42,640 INFO L290 TraceCheckUtils]: 40: Hoare triple {9292#(<= main_~c~0 1)} assume !false; {9292#(<= main_~c~0 1)} is VALID [2022-04-28 12:20:42,640 INFO L272 TraceCheckUtils]: 41: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,640 INFO L290 TraceCheckUtils]: 42: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,640 INFO L290 TraceCheckUtils]: 43: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,640 INFO L290 TraceCheckUtils]: 44: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,640 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #91#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-28 12:20:42,640 INFO L272 TraceCheckUtils]: 46: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,641 INFO L290 TraceCheckUtils]: 47: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,641 INFO L290 TraceCheckUtils]: 48: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,641 INFO L290 TraceCheckUtils]: 49: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,641 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #93#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-28 12:20:42,641 INFO L272 TraceCheckUtils]: 51: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,641 INFO L290 TraceCheckUtils]: 52: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,641 INFO L290 TraceCheckUtils]: 53: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,641 INFO L290 TraceCheckUtils]: 54: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,641 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #95#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-28 12:20:42,642 INFO L272 TraceCheckUtils]: 56: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,642 INFO L290 TraceCheckUtils]: 57: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,642 INFO L290 TraceCheckUtils]: 58: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,642 INFO L290 TraceCheckUtils]: 59: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,642 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #97#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-28 12:20:42,643 INFO L290 TraceCheckUtils]: 61: Hoare triple {9292#(<= main_~c~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-28 12:20:42,643 INFO L290 TraceCheckUtils]: 62: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} assume !false; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-28 12:20:42,643 INFO L272 TraceCheckUtils]: 63: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,643 INFO L290 TraceCheckUtils]: 64: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,643 INFO L290 TraceCheckUtils]: 65: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,643 INFO L290 TraceCheckUtils]: 66: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,643 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9166#true} {9359#(<= (+ main_~c~0 main_~b~0) 1)} #91#return; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-28 12:20:42,643 INFO L272 TraceCheckUtils]: 68: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,644 INFO L290 TraceCheckUtils]: 69: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,644 INFO L290 TraceCheckUtils]: 70: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,644 INFO L290 TraceCheckUtils]: 71: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,644 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9166#true} {9359#(<= (+ main_~c~0 main_~b~0) 1)} #93#return; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-28 12:20:42,644 INFO L272 TraceCheckUtils]: 73: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,644 INFO L290 TraceCheckUtils]: 74: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,644 INFO L290 TraceCheckUtils]: 75: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,644 INFO L290 TraceCheckUtils]: 76: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,644 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {9166#true} {9359#(<= (+ main_~c~0 main_~b~0) 1)} #95#return; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-28 12:20:42,645 INFO L272 TraceCheckUtils]: 78: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,645 INFO L290 TraceCheckUtils]: 79: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,645 INFO L290 TraceCheckUtils]: 80: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,645 INFO L290 TraceCheckUtils]: 81: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,645 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {9166#true} {9359#(<= (+ main_~c~0 main_~b~0) 1)} #97#return; {9359#(<= (+ main_~c~0 main_~b~0) 1)} is VALID [2022-04-28 12:20:42,646 INFO L290 TraceCheckUtils]: 83: Hoare triple {9359#(<= (+ main_~c~0 main_~b~0) 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-28 12:20:42,647 INFO L290 TraceCheckUtils]: 84: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} assume !false; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-28 12:20:42,647 INFO L272 TraceCheckUtils]: 85: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,647 INFO L290 TraceCheckUtils]: 86: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,647 INFO L290 TraceCheckUtils]: 87: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,647 INFO L290 TraceCheckUtils]: 88: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,648 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {9166#true} {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} #91#return; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-28 12:20:42,648 INFO L272 TraceCheckUtils]: 90: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,648 INFO L290 TraceCheckUtils]: 91: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,648 INFO L290 TraceCheckUtils]: 92: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,648 INFO L290 TraceCheckUtils]: 93: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,648 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {9166#true} {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} #93#return; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-28 12:20:42,648 INFO L272 TraceCheckUtils]: 95: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,648 INFO L290 TraceCheckUtils]: 96: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,648 INFO L290 TraceCheckUtils]: 97: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,648 INFO L290 TraceCheckUtils]: 98: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,649 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {9166#true} {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} #95#return; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-28 12:20:42,649 INFO L272 TraceCheckUtils]: 100: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,649 INFO L290 TraceCheckUtils]: 101: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,649 INFO L290 TraceCheckUtils]: 102: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,649 INFO L290 TraceCheckUtils]: 103: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,649 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {9166#true} {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} #97#return; {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} is VALID [2022-04-28 12:20:42,650 INFO L290 TraceCheckUtils]: 105: Hoare triple {9426#(and (<= 0 main_~c~0) (<= (* main_~b~0 2) 1))} assume !(~c~0 >= ~b~0); {9167#false} is VALID [2022-04-28 12:20:42,650 INFO L290 TraceCheckUtils]: 106: Hoare triple {9167#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {9167#false} is VALID [2022-04-28 12:20:42,650 INFO L290 TraceCheckUtils]: 107: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-28 12:20:42,650 INFO L290 TraceCheckUtils]: 108: Hoare triple {9167#false} assume !(0 != ~b~0); {9167#false} is VALID [2022-04-28 12:20:42,650 INFO L272 TraceCheckUtils]: 109: Hoare triple {9167#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {9167#false} is VALID [2022-04-28 12:20:42,650 INFO L290 TraceCheckUtils]: 110: Hoare triple {9167#false} ~cond := #in~cond; {9167#false} is VALID [2022-04-28 12:20:42,650 INFO L290 TraceCheckUtils]: 111: Hoare triple {9167#false} assume 0 == ~cond; {9167#false} is VALID [2022-04-28 12:20:42,650 INFO L290 TraceCheckUtils]: 112: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-28 12:20:42,650 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 33 refuted. 0 times theorem prover too weak. 309 trivial. 0 not checked. [2022-04-28 12:20:42,651 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:42,969 INFO L290 TraceCheckUtils]: 112: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-28 12:20:42,970 INFO L290 TraceCheckUtils]: 111: Hoare triple {9167#false} assume 0 == ~cond; {9167#false} is VALID [2022-04-28 12:20:42,970 INFO L290 TraceCheckUtils]: 110: Hoare triple {9167#false} ~cond := #in~cond; {9167#false} is VALID [2022-04-28 12:20:42,970 INFO L272 TraceCheckUtils]: 109: Hoare triple {9167#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {9167#false} is VALID [2022-04-28 12:20:42,970 INFO L290 TraceCheckUtils]: 108: Hoare triple {9167#false} assume !(0 != ~b~0); {9167#false} is VALID [2022-04-28 12:20:42,970 INFO L290 TraceCheckUtils]: 107: Hoare triple {9167#false} assume !false; {9167#false} is VALID [2022-04-28 12:20:42,970 INFO L290 TraceCheckUtils]: 106: Hoare triple {9167#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {9167#false} is VALID [2022-04-28 12:20:42,970 INFO L290 TraceCheckUtils]: 105: Hoare triple {9535#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {9167#false} is VALID [2022-04-28 12:20:42,971 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {9166#true} {9535#(<= main_~b~0 main_~c~0)} #97#return; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:20:42,971 INFO L290 TraceCheckUtils]: 103: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,971 INFO L290 TraceCheckUtils]: 102: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,971 INFO L290 TraceCheckUtils]: 101: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,971 INFO L272 TraceCheckUtils]: 100: Hoare triple {9535#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,971 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {9166#true} {9535#(<= main_~b~0 main_~c~0)} #95#return; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:20:42,971 INFO L290 TraceCheckUtils]: 98: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,971 INFO L290 TraceCheckUtils]: 97: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,972 INFO L290 TraceCheckUtils]: 96: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,972 INFO L272 TraceCheckUtils]: 95: Hoare triple {9535#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,972 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {9166#true} {9535#(<= main_~b~0 main_~c~0)} #93#return; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:20:42,972 INFO L290 TraceCheckUtils]: 93: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,972 INFO L290 TraceCheckUtils]: 92: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,972 INFO L290 TraceCheckUtils]: 91: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,972 INFO L272 TraceCheckUtils]: 90: Hoare triple {9535#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,973 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {9166#true} {9535#(<= main_~b~0 main_~c~0)} #91#return; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:20:42,973 INFO L290 TraceCheckUtils]: 88: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,973 INFO L290 TraceCheckUtils]: 87: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,973 INFO L290 TraceCheckUtils]: 86: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,973 INFO L272 TraceCheckUtils]: 85: Hoare triple {9535#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,973 INFO L290 TraceCheckUtils]: 84: Hoare triple {9535#(<= main_~b~0 main_~c~0)} assume !false; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:20:42,974 INFO L290 TraceCheckUtils]: 83: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9535#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:20:42,974 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {9166#true} {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #97#return; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:20:42,974 INFO L290 TraceCheckUtils]: 81: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,975 INFO L290 TraceCheckUtils]: 80: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,975 INFO L290 TraceCheckUtils]: 79: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,975 INFO L272 TraceCheckUtils]: 78: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,975 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {9166#true} {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #95#return; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:20:42,975 INFO L290 TraceCheckUtils]: 76: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,975 INFO L290 TraceCheckUtils]: 75: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,975 INFO L290 TraceCheckUtils]: 74: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,975 INFO L272 TraceCheckUtils]: 73: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,976 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9166#true} {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #93#return; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:20:42,976 INFO L290 TraceCheckUtils]: 71: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,976 INFO L290 TraceCheckUtils]: 70: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,976 INFO L290 TraceCheckUtils]: 69: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,976 INFO L272 TraceCheckUtils]: 68: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,976 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9166#true} {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #91#return; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:20:42,977 INFO L290 TraceCheckUtils]: 66: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,977 INFO L290 TraceCheckUtils]: 65: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,977 INFO L290 TraceCheckUtils]: 64: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,977 INFO L272 TraceCheckUtils]: 63: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,977 INFO L290 TraceCheckUtils]: 62: Hoare triple {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !false; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:20:42,977 INFO L290 TraceCheckUtils]: 61: Hoare triple {9292#(<= main_~c~0 1)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {9602#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:20:42,978 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #97#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-28 12:20:42,978 INFO L290 TraceCheckUtils]: 59: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,978 INFO L290 TraceCheckUtils]: 58: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,978 INFO L290 TraceCheckUtils]: 57: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,978 INFO L272 TraceCheckUtils]: 56: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,979 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #95#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-28 12:20:42,979 INFO L290 TraceCheckUtils]: 54: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,979 INFO L290 TraceCheckUtils]: 53: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,979 INFO L290 TraceCheckUtils]: 52: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,979 INFO L272 TraceCheckUtils]: 51: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,979 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #93#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-28 12:20:42,979 INFO L290 TraceCheckUtils]: 49: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,980 INFO L290 TraceCheckUtils]: 48: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,980 INFO L290 TraceCheckUtils]: 47: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,980 INFO L272 TraceCheckUtils]: 46: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,980 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9166#true} {9292#(<= main_~c~0 1)} #91#return; {9292#(<= main_~c~0 1)} is VALID [2022-04-28 12:20:42,980 INFO L290 TraceCheckUtils]: 44: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,981 INFO L290 TraceCheckUtils]: 43: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,981 INFO L290 TraceCheckUtils]: 42: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,981 INFO L272 TraceCheckUtils]: 41: Hoare triple {9292#(<= main_~c~0 1)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,981 INFO L290 TraceCheckUtils]: 40: Hoare triple {9292#(<= main_~c~0 1)} assume !false; {9292#(<= main_~c~0 1)} is VALID [2022-04-28 12:20:42,981 INFO L290 TraceCheckUtils]: 39: Hoare triple {9255#(<= main_~a~0 1)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9292#(<= main_~c~0 1)} is VALID [2022-04-28 12:20:42,981 INFO L290 TraceCheckUtils]: 38: Hoare triple {9255#(<= main_~a~0 1)} assume !false; {9255#(<= main_~a~0 1)} is VALID [2022-04-28 12:20:42,982 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #89#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-28 12:20:42,982 INFO L290 TraceCheckUtils]: 36: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,982 INFO L290 TraceCheckUtils]: 35: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,982 INFO L290 TraceCheckUtils]: 34: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,982 INFO L272 TraceCheckUtils]: 33: Hoare triple {9255#(<= main_~a~0 1)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,982 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9166#true} {9255#(<= main_~a~0 1)} #87#return; {9255#(<= main_~a~0 1)} is VALID [2022-04-28 12:20:42,982 INFO L290 TraceCheckUtils]: 31: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,982 INFO L290 TraceCheckUtils]: 30: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,982 INFO L290 TraceCheckUtils]: 29: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,982 INFO L272 TraceCheckUtils]: 28: Hoare triple {9255#(<= main_~a~0 1)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,983 INFO L290 TraceCheckUtils]: 27: Hoare triple {9771#(<= main_~x~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {9255#(<= main_~a~0 1)} is VALID [2022-04-28 12:20:42,983 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9166#true} {9771#(<= main_~x~0 1)} #85#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-28 12:20:42,983 INFO L290 TraceCheckUtils]: 25: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,983 INFO L290 TraceCheckUtils]: 24: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,983 INFO L290 TraceCheckUtils]: 23: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,983 INFO L272 TraceCheckUtils]: 22: Hoare triple {9771#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,984 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9166#true} {9771#(<= main_~x~0 1)} #83#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-28 12:20:42,984 INFO L290 TraceCheckUtils]: 20: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,984 INFO L290 TraceCheckUtils]: 19: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,984 INFO L290 TraceCheckUtils]: 18: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,984 INFO L272 TraceCheckUtils]: 17: Hoare triple {9771#(<= main_~x~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,984 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9166#true} {9771#(<= main_~x~0 1)} #81#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-28 12:20:42,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,984 INFO L290 TraceCheckUtils]: 14: Hoare triple {9166#true} assume !(0 == ~cond); {9166#true} is VALID [2022-04-28 12:20:42,984 INFO L290 TraceCheckUtils]: 13: Hoare triple {9166#true} ~cond := #in~cond; {9166#true} is VALID [2022-04-28 12:20:42,984 INFO L272 TraceCheckUtils]: 12: Hoare triple {9771#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,985 INFO L290 TraceCheckUtils]: 11: Hoare triple {9771#(<= main_~x~0 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9771#(<= main_~x~0 1)} is VALID [2022-04-28 12:20:42,985 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9196#(not (= |assume_abort_if_not_#in~cond| 0))} {9166#true} #79#return; {9771#(<= main_~x~0 1)} is VALID [2022-04-28 12:20:42,985 INFO L290 TraceCheckUtils]: 9: Hoare triple {9196#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:42,986 INFO L290 TraceCheckUtils]: 8: Hoare triple {9832#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:42,986 INFO L290 TraceCheckUtils]: 7: Hoare triple {9166#true} ~cond := #in~cond; {9832#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:20:42,986 INFO L272 TraceCheckUtils]: 6: Hoare triple {9166#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {9166#true} is VALID [2022-04-28 12:20:42,986 INFO L290 TraceCheckUtils]: 5: Hoare triple {9166#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9166#true} is VALID [2022-04-28 12:20:42,986 INFO L272 TraceCheckUtils]: 4: Hoare triple {9166#true} call #t~ret6 := main(); {9166#true} is VALID [2022-04-28 12:20:42,986 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9166#true} {9166#true} #103#return; {9166#true} is VALID [2022-04-28 12:20:42,986 INFO L290 TraceCheckUtils]: 2: Hoare triple {9166#true} assume true; {9166#true} is VALID [2022-04-28 12:20:42,986 INFO L290 TraceCheckUtils]: 1: Hoare triple {9166#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {9166#true} is VALID [2022-04-28 12:20:42,986 INFO L272 TraceCheckUtils]: 0: Hoare triple {9166#true} call ULTIMATE.init(); {9166#true} is VALID [2022-04-28 12:20:42,986 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 33 refuted. 0 times theorem prover too weak. 309 trivial. 0 not checked. [2022-04-28 12:20:42,987 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:42,987 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2129255828] [2022-04-28 12:20:42,987 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:42,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1837609604] [2022-04-28 12:20:42,993 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1837609604] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:20:42,993 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:20:42,993 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 13 [2022-04-28 12:20:42,993 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:42,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2074132803] [2022-04-28 12:20:42,993 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2074132803] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:42,993 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:42,993 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:20:42,993 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1107970784] [2022-04-28 12:20:42,994 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:42,994 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 113 [2022-04-28 12:20:42,994 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:42,994 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-28 12:20:43,042 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:43,042 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:20:43,042 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:43,042 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:20:43,042 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:20:43,042 INFO L87 Difference]: Start difference. First operand 69 states and 82 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-28 12:20:43,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:43,696 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-28 12:20:43,696 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:20:43,696 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 113 [2022-04-28 12:20:43,697 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:43,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-28 12:20:43,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2022-04-28 12:20:43,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-28 12:20:43,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2022-04-28 12:20:43,698 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 70 transitions. [2022-04-28 12:20:43,754 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:43,754 INFO L225 Difference]: With dead ends: 69 [2022-04-28 12:20:43,755 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 12:20:43,755 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 229 GetRequests, 213 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=55, Invalid=217, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:20:43,755 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 11 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 201 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 201 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:43,756 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 184 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 201 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:20:43,756 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 12:20:43,756 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 12:20:43,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:43,756 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-28 12:20:43,756 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-28 12:20:43,756 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-28 12:20:43,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:43,756 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 12:20:43,756 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 12:20:43,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:43,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:43,756 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-28 12:20:43,756 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-28 12:20:43,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:43,756 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 12:20:43,757 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 12:20:43,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:43,757 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:43,757 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:43,757 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:43,757 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-28 12:20:43,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 12:20:43,757 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 113 [2022-04-28 12:20:43,757 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:43,757 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 12:20:43,757 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 9 states have internal predecessors, (28), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-28 12:20:43,757 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 12:20:43,757 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-28 12:20:43,757 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 12:20:43,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:43,759 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 12:20:43,777 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 12:20:43,964 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 12:20:43,966 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 12:20:45,812 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-28 12:20:45,812 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-28 12:20:45,813 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-28 12:20:45,813 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-28 12:20:45,813 INFO L895 garLoopResultBuilder]: At program point L8(line 8) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 12:20:45,813 INFO L895 garLoopResultBuilder]: At program point L8-2(lines 7 9) 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-28 12:20:45,813 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 7 9) 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-28 12:20:45,813 INFO L895 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-28 12:20:45,813 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 18 74) the Hoare annotation is: true [2022-04-28 12:20:45,813 INFO L895 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 (<= (+ main_~c~0 main_~b~0) 1) .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse0 (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-28 12:20:45,813 INFO L895 garLoopResultBuilder]: At program point L48(line 48) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse2 (= main_~s~0 1)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 (<= 1 main_~a~0) .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8) (and .cse0 .cse1 .cse2 (<= main_~x~0 1) (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8))) [2022-04-28 12:20:45,813 INFO L895 garLoopResultBuilder]: At program point L48-1(line 48) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 (<= (+ main_~c~0 main_~b~0) 1) .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse0 (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-28 12:20:45,813 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 18 74) the Hoare annotation is: true [2022-04-28 12:20:45,813 INFO L895 garLoopResultBuilder]: At program point L42(lines 42 43) the Hoare annotation is: (let ((.cse0 (< main_~c~0 1)) (.cse1 (<= 0 main_~c~0)) (.cse2 (<= main_~y~0 1))) (or (and (= main_~r~0 0) .cse0 (= main_~s~0 1) (<= main_~x~0 1) (<= 1 main_~a~0) .cse1 (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) .cse2 (= main_~p~0 1)) (let ((.cse3 (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)))) (and .cse0 (< main_~b~0 1) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) .cse1 (< .cse3 (+ main_~y~0 1)) (< .cse3 (+ main_~x~0 1)) (<= 0 main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) .cse2)))) [2022-04-28 12:20:45,813 INFO L895 garLoopResultBuilder]: At program point L71(line 71) the Hoare annotation is: (and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~x~0 1) (= main_~r~0 1) (<= 1 main_~y~0) (<= main_~y~0 1)) [2022-04-28 12:20:45,813 INFO L895 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (and (= main_~r~0 0) (< main_~c~0 1) (= main_~s~0 1) (<= main_~x~0 1) (<= 1 main_~a~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-28 12:20:45,813 INFO L895 garLoopResultBuilder]: At program point L38-1(line 38) the Hoare annotation is: (and (= main_~r~0 0) (< main_~c~0 1) (= main_~s~0 1) (<= main_~x~0 1) (<= 1 main_~a~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-28 12:20:45,814 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 18 74) the Hoare annotation is: true [2022-04-28 12:20:45,814 INFO L895 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= 1 main_~x~0) (<= main_~x~0 1) (<= 1 main_~y~0) (<= main_~y~0 1)) [2022-04-28 12:20:45,814 INFO L895 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-28 12:20:45,814 INFO L895 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-28 12:20:45,814 INFO L902 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-28 12:20:45,814 INFO L895 garLoopResultBuilder]: At program point L22-1(line 22) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 1)) [2022-04-28 12:20:45,814 INFO L895 garLoopResultBuilder]: At program point L51(lines 47 56) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 (<= (+ main_~c~0 main_~b~0) 1) .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse0 (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-28 12:20:45,814 INFO L895 garLoopResultBuilder]: At program point L49(line 49) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= 1 main_~a~0)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 (<= (+ main_~c~0 main_~b~0) 1) .cse1 (<= main_~x~0 1) .cse2 (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8) (and .cse0 (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8))) [2022-04-28 12:20:45,814 INFO L895 garLoopResultBuilder]: At program point L47-2(lines 47 56) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse2 (= main_~s~0 1)) (.cse3 (= main_~b~0 main_~y~0)) (.cse4 (= main_~yy~0 (* main_~y~0 main_~y~0))) (.cse5 (= main_~q~0 0)) (.cse6 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse8 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 (<= 1 main_~a~0) .cse3 .cse4 .cse5 .cse6 .cse7 (<= main_~c~0 1) (= main_~c~0 main_~x~0) (<= main_~y~0 1) .cse8) (and .cse0 .cse1 .cse2 (<= main_~x~0 1) (<= 0 main_~c~0) .cse3 (= main_~k~0 1) .cse4 .cse5 .cse6 .cse7 .cse8))) [2022-04-28 12:20:45,814 INFO L895 garLoopResultBuilder]: At program point L47-3(lines 47 56) the Hoare annotation is: (and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (< main_~c~0 1) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~k~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-28 12:20:45,814 INFO L895 garLoopResultBuilder]: At program point L41-1(lines 39 68) the Hoare annotation is: (let ((.cse0 (< main_~c~0 1)) (.cse1 (<= 0 main_~c~0)) (.cse2 (<= main_~y~0 1))) (or (and (= main_~r~0 0) .cse0 (= main_~s~0 1) (<= main_~x~0 1) (<= 1 main_~a~0) .cse1 (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) .cse2 (= main_~p~0 1)) (let ((.cse3 (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)))) (and .cse0 (< main_~b~0 1) (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) .cse1 (< .cse3 (+ main_~y~0 1)) (< .cse3 (+ main_~x~0 1)) (<= 0 main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) .cse2)))) [2022-04-28 12:20:45,814 INFO L902 garLoopResultBuilder]: At program point L72(line 72) the Hoare annotation is: true [2022-04-28 12:20:45,814 INFO L895 garLoopResultBuilder]: At program point L41-2(lines 41 68) the Hoare annotation is: (let ((.cse0 (div (+ (- 1) (* (- 1) main_~x~0)) (- 2)))) (and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~r~0 1) (< .cse0 (+ main_~y~0 1)) (< .cse0 (+ main_~x~0 1)) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 1))) [2022-04-28 12:20:45,814 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 12:20:45,814 INFO L895 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-28 12:20:45,814 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 12:20:45,814 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 12:20:45,814 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 12:20:45,815 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 12:20:45,815 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 12:20:45,815 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-28 12:20:45,815 INFO L895 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 12:20:45,815 INFO L895 garLoopResultBuilder]: At program point L11(lines 11 14) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 12:20:45,815 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 12:20:45,815 INFO L895 garLoopResultBuilder]: At program point L11-2(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 12:20:45,816 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 12:20:45,818 INFO L356 BasicCegarLoop]: Path program histogram: [4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-28 12:20:45,819 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 12:20:45,823 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 12:20:45,824 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 12:20:45,863 INFO L163 areAnnotationChecker]: CFG has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 12:20:45,893 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 12:20:45 BoogieIcfgContainer [2022-04-28 12:20:45,893 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 12:20:45,894 INFO L158 Benchmark]: Toolchain (without parser) took 161114.31ms. Allocated memory was 218.1MB in the beginning and 267.4MB in the end (delta: 49.3MB). Free memory was 165.9MB in the beginning and 239.3MB in the end (delta: -73.5MB). Peak memory consumption was 135.9MB. Max. memory is 8.0GB. [2022-04-28 12:20:45,894 INFO L158 Benchmark]: CDTParser took 0.12ms. Allocated memory is still 218.1MB. Free memory is still 182.4MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 12:20:45,894 INFO L158 Benchmark]: CACSL2BoogieTranslator took 207.04ms. Allocated memory is still 218.1MB. Free memory was 165.7MB in the beginning and 190.3MB in the end (delta: -24.7MB). Peak memory consumption was 6.3MB. Max. memory is 8.0GB. [2022-04-28 12:20:45,895 INFO L158 Benchmark]: Boogie Preprocessor took 20.76ms. Allocated memory is still 218.1MB. Free memory was 190.3MB in the beginning and 188.8MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 12:20:45,895 INFO L158 Benchmark]: RCFGBuilder took 298.30ms. Allocated memory is still 218.1MB. Free memory was 188.8MB in the beginning and 175.7MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-28 12:20:45,895 INFO L158 Benchmark]: TraceAbstraction took 160583.39ms. Allocated memory was 218.1MB in the beginning and 267.4MB in the end (delta: 49.3MB). Free memory was 175.2MB in the beginning and 239.3MB in the end (delta: -64.2MB). Peak memory consumption was 144.3MB. Max. memory is 8.0GB. [2022-04-28 12:20:45,896 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 218.1MB. Free memory is still 182.4MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 207.04ms. Allocated memory is still 218.1MB. Free memory was 165.7MB in the beginning and 190.3MB in the end (delta: -24.7MB). Peak memory consumption was 6.3MB. Max. memory is 8.0GB. * Boogie Preprocessor took 20.76ms. Allocated memory is still 218.1MB. Free memory was 190.3MB in the beginning and 188.8MB in the end (delta: 1.5MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 298.30ms. Allocated memory is still 218.1MB. Free memory was 188.8MB in the beginning and 175.7MB in the end (delta: 13.1MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 160583.39ms. Allocated memory was 218.1MB in the beginning and 267.4MB in the end (delta: 49.3MB). Free memory was 175.2MB in the beginning and 239.3MB in the end (delta: -64.2MB). Peak memory consumption was 144.3MB. 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: 13]: 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, 43 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 160.5s, OverallIterations: 13, TraceHistogramMax: 13, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 11.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.8s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 362 SdHoareTripleChecker+Valid, 3.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 279 mSDsluCounter, 2333 SdHoareTripleChecker+Invalid, 3.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1776 mSDsCounter, 238 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2547 IncrementalHoareTripleChecker+Invalid, 2785 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 238 mSolverCounterUnsat, 557 mSDtfsCounter, 2547 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1589 GetRequests, 1417 SyntacticMatches, 11 SemanticMatches, 161 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 348 ImplicationChecksByTransitivity, 1.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=89occurred in iteration=8, InterpolantAutomatonStates: 112, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.6s AutomataMinimizationTime, 13 MinimizatonAttempts, 46 StatesRemovedByMinimization, 10 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 40 LocationsWithAnnotation, 398 PreInvPairs, 497 NumberOfFragments, 1059 HoareAnnotationTreeSize, 398 FomulaSimplifications, 263 FormulaSimplificationTreeSizeReduction, 0.4s HoareSimplificationTime, 40 FomulaSimplificationsInter, 4050 FormulaSimplificationTreeSizeReductionInter, 1.4s 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: ((((((((((((r == 0 && a == c + b * k) && s == 1) && 1 <= a) && b == y) && yy == y * y) && q == 0) && 1 <= y) && a == x) && c <= 1) && c == x) && y <= 1) && p == 1) || (((((((((((r == 0 && a == c + b * k) && s == 1) && x <= 1) && 0 <= c) && b == y) && k == 1) && yy == y * y) && q == 0) && 1 <= y) && a == x) && p == 1) - InvariantResult [Line: 39]: Loop Invariant Derived loop invariant: ((((((((((((r == 0 && c < 1) && s == 1) && x <= 1) && 1 <= a) && 0 <= c) && b == y) && yy == y * y) && q == 0) && 1 <= y) && a == x) && y <= 1) && p == 1) || (((((((((((c < 1 && b < 1) && p == 0) && a == y * r + p * x) && r == 1) && 0 <= c) && (-1 + -1 * x) / -2 < y + 1) && (-1 + -1 * x) / -2 < x + 1) && 0 <= b) && q == 1) && s + 1 == 0) && y <= 1) - ProcedureContractResult [Line: 7]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 18]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 10]: 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-28 12:20:45,933 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...