/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 05:51:23,501 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 05:51:23,502 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 05:51:23,527 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 05:51:23,527 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 05:51:23,528 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 05:51:23,533 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 05:51:23,537 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 05:51:23,538 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 05:51:23,538 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 05:51:23,539 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 05:51:23,539 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 05:51:23,540 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 05:51:23,540 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 05:51:23,541 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 05:51:23,541 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 05:51:23,542 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 05:51:23,542 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 05:51:23,543 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 05:51:23,544 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 05:51:23,544 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 05:51:23,545 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 05:51:23,546 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 05:51:23,546 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 05:51:23,547 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 05:51:23,548 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 05:51:23,548 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 05:51:23,549 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 05:51:23,549 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 05:51:23,549 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 05:51:23,550 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 05:51:23,550 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 05:51:23,550 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 05:51:23,551 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 05:51:23,551 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 05:51:23,552 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 05:51:23,552 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 05:51:23,552 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 05:51:23,553 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 05:51:23,553 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 05:51:23,553 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 05:51:23,554 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 05:51:23,554 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 05:51:23,560 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 05:51:23,560 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 05:51:23,561 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 05:51:23,561 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 05:51:23,561 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 05:51:23,561 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 05:51:23,561 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 05:51:23,561 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 05:51:23,561 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 05:51:23,561 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 05:51:23,561 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 05:51:23,562 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 05:51:23,562 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 05:51:23,562 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 05:51:23,562 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 05:51:23,562 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 05:51:23,562 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 05:51:23,562 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 05:51:23,562 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:51:23,562 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 05:51:23,562 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 05:51:23,562 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 05:51:23,563 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 05:51:23,563 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 05:51:23,563 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 05:51:23,563 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 05:51:23,694 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 05:51:23,708 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 05:51:23,710 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 05:51:23,710 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 05:51:23,712 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 05:51:23,712 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c [2022-04-28 05:51:23,761 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a1da0c866/332be16e0a0c4b5e8400e538fbabb29e/FLAG73824f691 [2022-04-28 05:51:24,090 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 05:51:24,090 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound1.c [2022-04-28 05:51:24,094 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a1da0c866/332be16e0a0c4b5e8400e538fbabb29e/FLAG73824f691 [2022-04-28 05:51:24,539 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a1da0c866/332be16e0a0c4b5e8400e538fbabb29e [2022-04-28 05:51:24,541 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 05:51:24,541 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 05:51:24,544 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 05:51:24,544 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 05:51:24,553 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 05:51:24,554 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:51:24" (1/1) ... [2022-04-28 05:51:24,555 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@469a34a2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:51:24, skipping insertion in model container [2022-04-28 05:51:24,555 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:51:24" (1/1) ... [2022-04-28 05:51:24,560 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 05:51:24,582 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 05:51:24,697 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/egcd3-ll_valuebound1.c[490,503] [2022-04-28 05:51:24,711 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:51:24,717 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 05:51:24,727 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/egcd3-ll_valuebound1.c[490,503] [2022-04-28 05:51:24,734 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:51:24,742 INFO L208 MainTranslator]: Completed translation [2022-04-28 05:51:24,742 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:51:24 WrapperNode [2022-04-28 05:51:24,742 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 05:51:24,743 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 05:51:24,743 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 05:51:24,743 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 05:51:24,749 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:51:24" (1/1) ... [2022-04-28 05:51:24,750 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:51:24" (1/1) ... [2022-04-28 05:51:24,754 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:51:24" (1/1) ... [2022-04-28 05:51:24,754 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:51:24" (1/1) ... [2022-04-28 05:51:24,758 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:51:24" (1/1) ... [2022-04-28 05:51:24,761 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:51:24" (1/1) ... [2022-04-28 05:51:24,762 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:51:24" (1/1) ... [2022-04-28 05:51:24,763 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 05:51:24,764 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 05:51:24,764 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 05:51:24,764 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 05:51:24,765 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:51:24" (1/1) ... [2022-04-28 05:51:24,778 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:51:24,787 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:51:24,796 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 05:51:24,817 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 05:51:24,826 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 05:51:24,827 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 05:51:24,827 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 05:51:24,827 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 05:51:24,827 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 05:51:24,827 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 05:51:24,827 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 05:51:24,827 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 05:51:24,828 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 05:51:24,828 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 05:51:24,828 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 05:51:24,829 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 05:51:24,830 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 05:51:24,830 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 05:51:24,830 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 05:51:24,830 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 05:51:24,830 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 05:51:24,831 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 05:51:24,831 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 05:51:24,831 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 05:51:24,878 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 05:51:24,879 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 05:51:25,015 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 05:51:25,020 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 05:51:25,020 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-28 05:51:25,021 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:51:25 BoogieIcfgContainer [2022-04-28 05:51:25,022 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 05:51:25,023 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 05:51:25,023 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 05:51:25,029 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 05:51:25,030 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 05:51:24" (1/3) ... [2022-04-28 05:51:25,030 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5eb488d0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:51:25, skipping insertion in model container [2022-04-28 05:51:25,030 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:51:24" (2/3) ... [2022-04-28 05:51:25,030 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5eb488d0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:51:25, skipping insertion in model container [2022-04-28 05:51:25,031 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:51:25" (3/3) ... [2022-04-28 05:51:25,032 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound1.c [2022-04-28 05:51:25,058 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 05:51:25,058 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 05:51:25,129 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 05:51:25,136 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@39e2ba13, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@16ab5717 [2022-04-28 05:51:25,136 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 05:51:25,144 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 05:51:25,150 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 05:51:25,150 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:51:25,150 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:51:25,151 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:51:25,154 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:51:25,154 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-28 05:51:25,160 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:25,160 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1602291168] [2022-04-28 05:51:25,167 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:51:25,167 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-28 05:51:25,170 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:51:25,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [977461341] [2022-04-28 05:51:25,170 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:51:25,170 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:51:25,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:25,311 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 05:51:25,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:25,328 INFO L290 TraceCheckUtils]: 0: Hoare triple {64#(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 05:51:25,329 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 05:51:25,329 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-28 05:51:25,330 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 05:51:25,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:25,351 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:51:25,351 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:51:25,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:51:25,352 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-28 05:51:25,352 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 05:51:25,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:25,363 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:51:25,364 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:51:25,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:51:25,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-28 05:51:25,364 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 05:51:25,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:25,373 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:51:25,373 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:51:25,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:51:25,374 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-28 05:51:25,374 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 05:51:25,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:25,388 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:51:25,388 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:51:25,388 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:51:25,389 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-28 05:51:25,391 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 05:51:25,391 INFO L290 TraceCheckUtils]: 1: Hoare triple {64#(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 05:51:25,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 05:51:25,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-28 05:51:25,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-28 05:51:25,393 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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-28 05:51:25,393 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 05:51:25,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:51:25,394 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:51:25,394 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:51:25,394 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-28 05:51:25,394 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 05:51:25,394 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 05:51:25,394 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:51:25,395 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:51:25,395 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:51:25,395 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-28 05:51:25,395 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 05:51:25,396 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:51:25,397 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:51:25,397 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:51:25,397 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-28 05:51:25,398 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 05:51:25,398 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:51:25,399 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:51:25,399 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:51:25,399 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-28 05:51:25,400 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; {44#false} is VALID [2022-04-28 05:51:25,402 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-28 05:51:25,402 INFO L272 TraceCheckUtils]: 29: Hoare triple {44#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {44#false} is VALID [2022-04-28 05:51:25,402 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-28 05:51:25,403 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-28 05:51:25,403 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-28 05:51:25,404 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 05:51:25,404 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:51:25,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [977461341] [2022-04-28 05:51:25,405 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [977461341] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:51:25,405 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:51:25,405 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:51:25,408 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:51:25,408 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1602291168] [2022-04-28 05:51:25,409 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1602291168] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:51:25,409 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:51:25,409 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:51:25,409 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1144078358] [2022-04-28 05:51:25,409 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:51:25,414 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 05:51:25,416 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:51:25,418 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:51:25,451 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:25,452 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 05:51:25,452 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:25,476 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 05:51:25,477 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 05:51:25,483 INFO L87 Difference]: Start difference. First operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:51:25,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:25,653 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-28 05:51:25,653 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 05:51:25,654 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 05:51:25,654 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:51:25,655 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:51:25,670 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-28 05:51:25,670 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:51:25,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-28 05:51:25,674 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-28 05:51:25,775 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:25,781 INFO L225 Difference]: With dead ends: 73 [2022-04-28 05:51:25,781 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 05:51:25,784 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 05:51:25,786 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 24 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:51:25,787 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 43 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:51:25,797 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 05:51:25,807 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-28 05:51:25,807 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:51:25,808 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:51:25,808 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:51:25,808 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:51:25,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:25,811 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-28 05:51:25,811 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 05:51:25,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:25,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:25,812 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-28 05:51:25,813 INFO L87 Difference]: Start difference. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-28 05:51:25,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:25,815 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-28 05:51:25,815 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 05:51:25,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:25,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:25,816 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:51:25,816 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:51:25,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:51:25,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-28 05:51:25,819 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-28 05:51:25,819 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:51:25,819 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-28 05:51:25,819 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, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:51:25,819 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-28 05:51:25,858 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:25,858 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 05:51:25,859 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 05:51:25,859 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:51:25,859 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:51:25,859 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 05:51:25,860 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:51:25,860 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:51:25,860 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-28 05:51:25,860 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:25,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1228916022] [2022-04-28 05:51:25,860 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:51:25,861 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-28 05:51:25,861 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:51:25,861 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1392832425] [2022-04-28 05:51:25,861 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:51:25,861 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:51:25,879 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:51:25,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1681792650] [2022-04-28 05:51:25,880 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:51:25,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:51:25,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:51:25,881 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 05:51:25,882 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 05:51:25,927 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 05:51:25,927 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:51:25,929 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 05:51:25,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:25,943 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:51:26,201 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-28 05:51:26,201 INFO L290 TraceCheckUtils]: 1: Hoare triple {353#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); {353#true} is VALID [2022-04-28 05:51:26,201 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:51:26,202 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-28 05:51:26,203 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-28 05:51:26,203 INFO L290 TraceCheckUtils]: 5: Hoare triple {353#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {353#true} is VALID [2022-04-28 05:51:26,203 INFO L272 TraceCheckUtils]: 6: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {353#true} is VALID [2022-04-28 05:51:26,204 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 05:51:26,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 05:51:26,209 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:51:26,209 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-28 05:51:26,209 INFO L290 TraceCheckUtils]: 11: Hoare triple {353#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {353#true} is VALID [2022-04-28 05:51:26,209 INFO L272 TraceCheckUtils]: 12: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {353#true} is VALID [2022-04-28 05:51:26,209 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 05:51:26,209 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 05:51:26,209 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:51:26,210 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-28 05:51:26,210 INFO L272 TraceCheckUtils]: 17: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-28 05:51:26,210 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 05:51:26,210 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 05:51:26,210 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:51:26,210 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-28 05:51:26,210 INFO L272 TraceCheckUtils]: 22: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-28 05:51:26,210 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 05:51:26,211 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 05:51:26,211 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:51:26,211 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-28 05:51:26,212 INFO L290 TraceCheckUtils]: 27: Hoare triple {353#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:51:26,212 INFO L290 TraceCheckUtils]: 28: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:51:26,213 INFO L290 TraceCheckUtils]: 29: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 != ~b~0); {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:51:26,214 INFO L272 TraceCheckUtils]: 30: Hoare triple {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:51:26,214 INFO L290 TraceCheckUtils]: 31: Hoare triple {450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:51:26,215 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-28 05:51:26,215 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-28 05:51:26,215 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 05:51:26,215 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:51:26,215 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:51:26,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1392832425] [2022-04-28 05:51:26,216 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:51:26,216 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1681792650] [2022-04-28 05:51:26,216 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1681792650] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:51:26,216 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:51:26,216 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:51:26,216 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:51:26,217 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1228916022] [2022-04-28 05:51:26,217 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1228916022] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:51:26,217 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:51:26,217 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:51:26,217 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1323365414] [2022-04-28 05:51:26,217 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:51:26,217 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-28 05:51:26,218 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:51:26,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:51:26,252 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:26,252 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 05:51:26,252 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:26,253 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 05:51:26,253 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:51:26,253 INFO L87 Difference]: Start difference. First operand 35 states and 44 transitions. Second operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:51:26,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:26,496 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-28 05:51:26,496 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:51:26,496 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-28 05:51:26,496 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:51:26,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:51:26,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 05:51:26,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:51:26,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 05:51:26,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-28 05:51:26,551 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 05:51:26,553 INFO L225 Difference]: With dead ends: 54 [2022-04-28 05:51:26,553 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 05:51:26,553 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:51:26,554 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:51:26,554 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 158 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:51:26,555 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 05:51:26,563 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-28 05:51:26,563 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:51:26,563 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:51:26,563 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:51:26,564 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:51:26,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:26,566 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-28 05:51:26,566 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-28 05:51:26,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:26,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:26,567 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-28 05:51:26,567 INFO L87 Difference]: Start difference. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-28 05:51:26,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:26,569 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-28 05:51:26,569 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-28 05:51:26,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:26,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:26,570 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:51:26,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:51:26,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:51:26,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-28 05:51:26,572 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-28 05:51:26,572 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:51:26,572 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-28 05:51:26,573 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:51:26,573 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-28 05:51:26,627 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:26,627 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 05:51:26,628 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 05:51:26,628 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:51:26,628 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:51:26,650 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 05:51:26,839 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 05:51:26,839 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:51:26,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:51:26,840 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-28 05:51:26,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:26,840 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1388119704] [2022-04-28 05:51:26,840 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:51:26,840 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-28 05:51:26,840 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:51:26,841 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1751919899] [2022-04-28 05:51:26,841 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:51:26,841 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:51:26,859 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:51:26,860 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1418009490] [2022-04-28 05:51:26,860 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:51:26,860 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:51:26,860 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:51:26,861 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 05:51:26,862 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 05:51:26,897 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:51:26,897 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:51:26,898 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:51:26,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:26,907 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:51:27,027 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-28 05:51:27,027 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#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); {774#true} is VALID [2022-04-28 05:51:27,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:51:27,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-28 05:51:27,028 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-28 05:51:27,028 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-28 05:51:27,028 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 05:51:27,028 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:51:27,028 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:51:27,028 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:51:27,028 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-28 05:51:27,028 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-28 05:51:27,028 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 05:51:27,028 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:51:27,029 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:51:27,029 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:51:27,029 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-28 05:51:27,029 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 05:51:27,029 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:51:27,029 INFO L290 TraceCheckUtils]: 19: Hoare triple {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:27,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:27,031 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 05:51:27,031 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 05:51:27,031 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:51:27,031 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:51:27,031 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:51:27,031 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 05:51:27,032 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 05:51:27,032 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 05:51:27,032 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:51:27,033 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:51:27,033 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:51:27,034 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 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; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 05:51:27,034 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 05:51:27,034 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-28 05:51:27,034 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-28 05:51:27,034 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-28 05:51:27,034 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-28 05:51:27,035 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-28 05:51:27,035 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 05:51:27,035 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:51:27,216 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-28 05:51:27,216 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-28 05:51:27,216 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-28 05:51:27,216 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-28 05:51:27,216 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-28 05:51:27,217 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 05:51:27,217 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 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; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 05:51:27,217 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:51:27,218 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:51:27,218 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:51:27,218 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 05:51:27,219 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 05:51:27,219 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 05:51:27,219 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:51:27,219 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:51:27,219 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:51:27,219 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 05:51:27,220 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 05:51:27,220 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:27,220 INFO L290 TraceCheckUtils]: 19: Hoare triple {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:27,221 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:51:27,221 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 05:51:27,221 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-28 05:51:27,221 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:51:27,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:51:27,221 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:51:27,221 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 05:51:27,221 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-28 05:51:27,221 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-28 05:51:27,221 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:51:27,222 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:51:27,222 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:51:27,222 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 05:51:27,222 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-28 05:51:27,222 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-28 05:51:27,222 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-28 05:51:27,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:51:27,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#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); {774#true} is VALID [2022-04-28 05:51:27,223 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-28 05:51:27,223 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 05:51:27,223 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:51:27,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1751919899] [2022-04-28 05:51:27,223 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:51:27,223 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1418009490] [2022-04-28 05:51:27,224 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1418009490] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:51:27,224 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:51:27,224 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 05:51:27,224 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:51:27,224 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1388119704] [2022-04-28 05:51:27,224 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1388119704] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:51:27,224 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:51:27,224 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:51:27,224 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1054114186] [2022-04-28 05:51:27,224 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:51:27,225 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-28 05:51:27,226 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:51:27,226 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:51:27,242 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:27,242 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:51:27,242 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:27,243 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:51:27,243 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:51:27,243 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:51:27,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:27,774 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-28 05:51:27,774 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:51:27,774 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-28 05:51:27,774 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:51:27,774 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:51:27,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 05:51:27,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:51:27,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 05:51:27,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-28 05:51:27,851 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:27,853 INFO L225 Difference]: With dead ends: 103 [2022-04-28 05:51:27,853 INFO L226 Difference]: Without dead ends: 96 [2022-04-28 05:51:27,854 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 69 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 05:51:27,854 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:51:27,855 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [72 Valid, 232 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:51:27,855 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-28 05:51:27,916 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-28 05:51:27,916 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:51:27,917 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:51:27,917 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:51:27,918 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:51:27,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:27,921 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-28 05:51:27,921 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-28 05:51:27,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:27,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:27,923 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-28 05:51:27,923 INFO L87 Difference]: Start difference. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-28 05:51:27,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:27,926 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-28 05:51:27,926 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-28 05:51:27,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:27,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:27,927 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:51:27,927 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:51:27,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:51:27,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-28 05:51:27,930 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-28 05:51:27,930 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:51:27,930 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-28 05:51:27,930 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:51:27,930 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-28 05:51:28,015 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:28,015 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-28 05:51:28,016 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 05:51:28,016 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:51:28,016 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:51:28,037 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 05:51:28,224 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 05:51:28,225 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:51:28,225 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:51:28,225 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-28 05:51:28,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:28,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [743914738] [2022-04-28 05:51:28,226 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:51:28,226 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-28 05:51:28,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:51:28,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1845667308] [2022-04-28 05:51:28,226 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:51:28,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:51:28,241 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:51:28,241 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2053374227] [2022-04-28 05:51:28,241 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:51:28,241 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:51:28,241 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:51:28,242 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 05:51:28,243 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 05:51:28,281 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:51:28,282 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:51:28,282 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 05:51:28,292 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:28,292 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:51:28,491 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-28 05:51:28,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#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); {1566#true} is VALID [2022-04-28 05:51:28,491 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:51:28,491 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-28 05:51:28,491 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-28 05:51:28,491 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-28 05:51:28,491 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:51:28,491 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:51:28,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:51:28,492 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:51:28,492 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-28 05:51:28,492 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-28 05:51:28,492 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:51:28,492 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:51:28,493 INFO L290 TraceCheckUtils]: 14: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:28,494 INFO L290 TraceCheckUtils]: 15: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:28,494 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1566#true} #96#return; {1621#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:28,494 INFO L272 TraceCheckUtils]: 17: Hoare triple {1621#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:51:28,495 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:51:28,495 INFO L290 TraceCheckUtils]: 19: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:28,495 INFO L290 TraceCheckUtils]: 20: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:28,498 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #98#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:28,498 INFO L272 TraceCheckUtils]: 22: Hoare triple {1637#(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)); {1566#true} is VALID [2022-04-28 05:51:28,498 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:51:28,498 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:51:28,499 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:51:28,499 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} #100#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:28,499 INFO L290 TraceCheckUtils]: 27: Hoare triple {1637#(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; {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-28 05:51:28,500 INFO L290 TraceCheckUtils]: 28: Hoare triple {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !false; {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} is VALID [2022-04-28 05:51:28,500 INFO L290 TraceCheckUtils]: 29: Hoare triple {1656#(and (<= main_~b~0 1) (<= 1 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-28 05:51:28,500 INFO L290 TraceCheckUtils]: 30: Hoare triple {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !false; {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} is VALID [2022-04-28 05:51:28,501 INFO L290 TraceCheckUtils]: 31: Hoare triple {1663#(and (<= 1 main_~c~0) (<= main_~b~0 1))} assume !(~c~0 >= ~b~0); {1567#false} is VALID [2022-04-28 05:51:28,501 INFO L290 TraceCheckUtils]: 32: Hoare triple {1567#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; {1567#false} is VALID [2022-04-28 05:51:28,501 INFO L290 TraceCheckUtils]: 33: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 05:51:28,501 INFO L290 TraceCheckUtils]: 34: Hoare triple {1567#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1567#false} is VALID [2022-04-28 05:51:28,501 INFO L290 TraceCheckUtils]: 35: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 05:51:28,501 INFO L290 TraceCheckUtils]: 36: Hoare triple {1567#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1567#false} is VALID [2022-04-28 05:51:28,501 INFO L290 TraceCheckUtils]: 37: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 05:51:28,501 INFO L272 TraceCheckUtils]: 38: Hoare triple {1567#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1567#false} is VALID [2022-04-28 05:51:28,501 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#false} ~cond := #in~cond; {1567#false} is VALID [2022-04-28 05:51:28,501 INFO L290 TraceCheckUtils]: 40: Hoare triple {1567#false} assume 0 == ~cond; {1567#false} is VALID [2022-04-28 05:51:28,502 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 05:51:28,502 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 05:51:28,502 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:51:28,808 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 05:51:28,809 INFO L290 TraceCheckUtils]: 40: Hoare triple {1567#false} assume 0 == ~cond; {1567#false} is VALID [2022-04-28 05:51:28,809 INFO L290 TraceCheckUtils]: 39: Hoare triple {1567#false} ~cond := #in~cond; {1567#false} is VALID [2022-04-28 05:51:28,809 INFO L272 TraceCheckUtils]: 38: Hoare triple {1567#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1567#false} is VALID [2022-04-28 05:51:28,809 INFO L290 TraceCheckUtils]: 37: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 05:51:28,809 INFO L290 TraceCheckUtils]: 36: Hoare triple {1567#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1567#false} is VALID [2022-04-28 05:51:28,809 INFO L290 TraceCheckUtils]: 35: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 05:51:28,809 INFO L290 TraceCheckUtils]: 34: Hoare triple {1567#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1567#false} is VALID [2022-04-28 05:51:28,809 INFO L290 TraceCheckUtils]: 33: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 05:51:28,809 INFO L290 TraceCheckUtils]: 32: Hoare triple {1567#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; {1567#false} is VALID [2022-04-28 05:51:28,810 INFO L290 TraceCheckUtils]: 31: Hoare triple {1730#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {1567#false} is VALID [2022-04-28 05:51:28,810 INFO L290 TraceCheckUtils]: 30: Hoare triple {1730#(<= main_~b~0 main_~c~0)} assume !false; {1730#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:51:28,810 INFO L290 TraceCheckUtils]: 29: Hoare triple {1737#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1730#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:51:28,811 INFO L290 TraceCheckUtils]: 28: Hoare triple {1737#(<= main_~b~0 main_~a~0)} assume !false; {1737#(<= main_~b~0 main_~a~0)} is VALID [2022-04-28 05:51:28,811 INFO L290 TraceCheckUtils]: 27: Hoare triple {1744#(<= 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; {1737#(<= main_~b~0 main_~a~0)} is VALID [2022-04-28 05:51:28,811 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1744#(<= main_~y~0 main_~x~0)} #100#return; {1744#(<= main_~y~0 main_~x~0)} is VALID [2022-04-28 05:51:28,811 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:51:28,812 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:51:28,812 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:51:28,812 INFO L272 TraceCheckUtils]: 22: Hoare triple {1744#(<= main_~y~0 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:51:28,812 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1763#(<= main_~y~0 1)} #98#return; {1744#(<= main_~y~0 main_~x~0)} is VALID [2022-04-28 05:51:28,813 INFO L290 TraceCheckUtils]: 20: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:28,813 INFO L290 TraceCheckUtils]: 19: Hoare triple {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:28,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:51:28,813 INFO L272 TraceCheckUtils]: 17: Hoare triple {1763#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:51:28,814 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1566#true} #96#return; {1763#(<= main_~y~0 1)} is VALID [2022-04-28 05:51:28,814 INFO L290 TraceCheckUtils]: 15: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:28,814 INFO L290 TraceCheckUtils]: 14: Hoare triple {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:28,815 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1773#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:51:28,815 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:51:28,815 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-28 05:51:28,815 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-28 05:51:28,815 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:51:28,815 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:51:28,815 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:51:28,815 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:51:28,815 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-28 05:51:28,816 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-28 05:51:28,816 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-28 05:51:28,816 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:51:28,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#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); {1566#true} is VALID [2022-04-28 05:51:28,816 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-28 05:51:28,816 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 05:51:28,816 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:51:28,816 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1845667308] [2022-04-28 05:51:28,816 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:51:28,816 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2053374227] [2022-04-28 05:51:28,816 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2053374227] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:51:28,817 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:51:28,817 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-28 05:51:28,817 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:51:28,817 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [743914738] [2022-04-28 05:51:28,817 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [743914738] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:51:28,817 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:51:28,817 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:51:28,817 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [381347189] [2022-04-28 05:51:28,817 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:51:28,818 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-28 05:51:28,818 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:51:28,818 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 05:51:28,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:28,854 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:51:28,854 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:28,855 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:51:28,855 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-28 05:51:28,855 INFO L87 Difference]: Start difference. First operand 71 states and 95 transitions. Second operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 05:51:29,347 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:29,347 INFO L93 Difference]: Finished difference Result 98 states and 133 transitions. [2022-04-28 05:51:29,347 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 05:51:29,347 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-28 05:51:29,348 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:51:29,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 05:51:29,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 102 transitions. [2022-04-28 05:51:29,350 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 05:51:29,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 102 transitions. [2022-04-28 05:51:29,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 102 transitions. [2022-04-28 05:51:29,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:29,427 INFO L225 Difference]: With dead ends: 98 [2022-04-28 05:51:29,428 INFO L226 Difference]: Without dead ends: 60 [2022-04-28 05:51:29,428 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 72 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 05:51:29,429 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 71 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 110 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 76 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 148 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 110 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:51:29,429 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [76 Valid, 158 Invalid, 148 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 110 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:51:29,429 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-28 05:51:29,491 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 52. [2022-04-28 05:51:29,491 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:51:29,491 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:51:29,492 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:51:29,492 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:51:29,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:29,494 INFO L93 Difference]: Finished difference Result 60 states and 79 transitions. [2022-04-28 05:51:29,494 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 79 transitions. [2022-04-28 05:51:29,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:29,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:29,494 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 60 states. [2022-04-28 05:51:29,495 INFO L87 Difference]: Start difference. First operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 60 states. [2022-04-28 05:51:29,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:29,496 INFO L93 Difference]: Finished difference Result 60 states and 79 transitions. [2022-04-28 05:51:29,497 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 79 transitions. [2022-04-28 05:51:29,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:29,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:29,497 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:51:29,497 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:51:29,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:51:29,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 66 transitions. [2022-04-28 05:51:29,499 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 66 transitions. Word has length 42 [2022-04-28 05:51:29,499 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:51:29,499 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 66 transitions. [2022-04-28 05:51:29,499 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 05:51:29,499 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 66 transitions. [2022-04-28 05:51:29,558 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:29,558 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-28 05:51:29,558 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 05:51:29,558 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:51:29,558 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:51:29,574 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-28 05:51:29,771 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 05:51:29,771 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:51:29,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:51:29,772 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-28 05:51:29,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:29,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1132195190] [2022-04-28 05:51:29,772 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:51:29,772 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-28 05:51:29,773 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:51:29,773 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [874834167] [2022-04-28 05:51:29,773 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:51:29,773 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:51:29,791 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:51:29,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [286567485] [2022-04-28 05:51:29,792 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:51:29,792 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:51:29,792 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:51:29,793 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 05:51:29,794 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 05:51:29,827 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:51:29,827 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:51:29,828 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 05:51:29,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:29,836 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:51:30,106 INFO L272 TraceCheckUtils]: 0: Hoare triple {2256#true} call ULTIMATE.init(); {2256#true} is VALID [2022-04-28 05:51:30,107 INFO L290 TraceCheckUtils]: 1: Hoare triple {2256#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); {2256#true} is VALID [2022-04-28 05:51:30,107 INFO L290 TraceCheckUtils]: 2: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,107 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2256#true} {2256#true} #112#return; {2256#true} is VALID [2022-04-28 05:51:30,107 INFO L272 TraceCheckUtils]: 4: Hoare triple {2256#true} call #t~ret6 := main(); {2256#true} is VALID [2022-04-28 05:51:30,107 INFO L290 TraceCheckUtils]: 5: Hoare triple {2256#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2256#true} is VALID [2022-04-28 05:51:30,107 INFO L272 TraceCheckUtils]: 6: Hoare triple {2256#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-28 05:51:30,107 INFO L290 TraceCheckUtils]: 7: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-28 05:51:30,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-28 05:51:30,107 INFO L290 TraceCheckUtils]: 9: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,107 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2256#true} {2256#true} #94#return; {2256#true} is VALID [2022-04-28 05:51:30,107 INFO L290 TraceCheckUtils]: 11: Hoare triple {2256#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2256#true} is VALID [2022-04-28 05:51:30,107 INFO L272 TraceCheckUtils]: 12: Hoare triple {2256#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-28 05:51:30,108 INFO L290 TraceCheckUtils]: 13: Hoare triple {2256#true} ~cond := #in~cond; {2300#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:51:30,109 INFO L290 TraceCheckUtils]: 14: Hoare triple {2300#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2304#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:30,109 INFO L290 TraceCheckUtils]: 15: Hoare triple {2304#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2304#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:30,113 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2304#(not (= |assume_abort_if_not_#in~cond| 0))} {2256#true} #96#return; {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:30,113 INFO L272 TraceCheckUtils]: 17: Hoare triple {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-28 05:51:30,113 INFO L290 TraceCheckUtils]: 18: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-28 05:51:30,113 INFO L290 TraceCheckUtils]: 19: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-28 05:51:30,113 INFO L290 TraceCheckUtils]: 20: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,114 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2256#true} {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #98#return; {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:30,114 INFO L272 TraceCheckUtils]: 22: Hoare triple {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-28 05:51:30,114 INFO L290 TraceCheckUtils]: 23: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-28 05:51:30,114 INFO L290 TraceCheckUtils]: 24: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-28 05:51:30,114 INFO L290 TraceCheckUtils]: 25: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,115 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2256#true} {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #100#return; {2311#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:30,115 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#(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; {2345#(<= 0 main_~b~0)} is VALID [2022-04-28 05:51:30,115 INFO L290 TraceCheckUtils]: 28: Hoare triple {2345#(<= 0 main_~b~0)} assume !false; {2345#(<= 0 main_~b~0)} is VALID [2022-04-28 05:51:30,116 INFO L290 TraceCheckUtils]: 29: Hoare triple {2345#(<= 0 main_~b~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:30,116 INFO L290 TraceCheckUtils]: 30: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:30,116 INFO L290 TraceCheckUtils]: 31: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:30,117 INFO L290 TraceCheckUtils]: 32: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:30,117 INFO L272 TraceCheckUtils]: 33: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2256#true} is VALID [2022-04-28 05:51:30,117 INFO L290 TraceCheckUtils]: 34: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-28 05:51:30,117 INFO L290 TraceCheckUtils]: 35: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-28 05:51:30,117 INFO L290 TraceCheckUtils]: 36: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,118 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2256#true} {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:30,118 INFO L272 TraceCheckUtils]: 38: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2256#true} is VALID [2022-04-28 05:51:30,118 INFO L290 TraceCheckUtils]: 39: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-28 05:51:30,118 INFO L290 TraceCheckUtils]: 40: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-28 05:51:30,118 INFO L290 TraceCheckUtils]: 41: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,119 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2256#true} {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:30,119 INFO L272 TraceCheckUtils]: 43: Hoare triple {2352#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:51:30,120 INFO L290 TraceCheckUtils]: 44: Hoare triple {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2399#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:51:30,120 INFO L290 TraceCheckUtils]: 45: Hoare triple {2399#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2257#false} is VALID [2022-04-28 05:51:30,120 INFO L290 TraceCheckUtils]: 46: Hoare triple {2257#false} assume !false; {2257#false} is VALID [2022-04-28 05:51:30,120 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 05:51:30,120 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:51:30,362 INFO L290 TraceCheckUtils]: 46: Hoare triple {2257#false} assume !false; {2257#false} is VALID [2022-04-28 05:51:30,362 INFO L290 TraceCheckUtils]: 45: Hoare triple {2399#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2257#false} is VALID [2022-04-28 05:51:30,363 INFO L290 TraceCheckUtils]: 44: Hoare triple {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2399#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:51:30,363 INFO L272 TraceCheckUtils]: 43: Hoare triple {2415#(= 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)); {2395#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:51:30,364 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2256#true} {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #104#return; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:51:30,364 INFO L290 TraceCheckUtils]: 41: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,364 INFO L290 TraceCheckUtils]: 40: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-28 05:51:30,365 INFO L290 TraceCheckUtils]: 39: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-28 05:51:30,365 INFO L272 TraceCheckUtils]: 38: Hoare triple {2415#(= 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)); {2256#true} is VALID [2022-04-28 05:51:30,366 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2256#true} {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #102#return; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:51:30,366 INFO L290 TraceCheckUtils]: 36: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,366 INFO L290 TraceCheckUtils]: 35: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-28 05:51:30,367 INFO L290 TraceCheckUtils]: 34: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-28 05:51:30,367 INFO L272 TraceCheckUtils]: 33: Hoare triple {2415#(= 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)); {2256#true} is VALID [2022-04-28 05:51:30,367 INFO L290 TraceCheckUtils]: 32: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:51:30,368 INFO L290 TraceCheckUtils]: 31: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:51:30,368 INFO L290 TraceCheckUtils]: 30: Hoare triple {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:51:30,368 INFO L290 TraceCheckUtils]: 29: Hoare triple {2256#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2415#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:51:30,368 INFO L290 TraceCheckUtils]: 28: Hoare triple {2256#true} assume !false; {2256#true} is VALID [2022-04-28 05:51:30,368 INFO L290 TraceCheckUtils]: 27: Hoare triple {2256#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2256#true} is VALID [2022-04-28 05:51:30,369 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2256#true} {2256#true} #100#return; {2256#true} is VALID [2022-04-28 05:51:30,369 INFO L290 TraceCheckUtils]: 25: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,369 INFO L290 TraceCheckUtils]: 24: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-28 05:51:30,369 INFO L290 TraceCheckUtils]: 23: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-28 05:51:30,369 INFO L272 TraceCheckUtils]: 22: Hoare triple {2256#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-28 05:51:30,369 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2256#true} {2256#true} #98#return; {2256#true} is VALID [2022-04-28 05:51:30,369 INFO L290 TraceCheckUtils]: 20: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,369 INFO L290 TraceCheckUtils]: 19: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-28 05:51:30,369 INFO L290 TraceCheckUtils]: 18: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-28 05:51:30,369 INFO L272 TraceCheckUtils]: 17: Hoare triple {2256#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2256#true} is VALID [2022-04-28 05:51:30,370 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2256#true} {2256#true} #96#return; {2256#true} is VALID [2022-04-28 05:51:30,370 INFO L290 TraceCheckUtils]: 15: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,370 INFO L290 TraceCheckUtils]: 14: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-28 05:51:30,370 INFO L290 TraceCheckUtils]: 13: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-28 05:51:30,370 INFO L272 TraceCheckUtils]: 12: Hoare triple {2256#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-28 05:51:30,370 INFO L290 TraceCheckUtils]: 11: Hoare triple {2256#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2256#true} is VALID [2022-04-28 05:51:30,370 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2256#true} {2256#true} #94#return; {2256#true} is VALID [2022-04-28 05:51:30,370 INFO L290 TraceCheckUtils]: 9: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {2256#true} assume !(0 == ~cond); {2256#true} is VALID [2022-04-28 05:51:30,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {2256#true} ~cond := #in~cond; {2256#true} is VALID [2022-04-28 05:51:30,374 INFO L272 TraceCheckUtils]: 6: Hoare triple {2256#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2256#true} is VALID [2022-04-28 05:51:30,374 INFO L290 TraceCheckUtils]: 5: Hoare triple {2256#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2256#true} is VALID [2022-04-28 05:51:30,375 INFO L272 TraceCheckUtils]: 4: Hoare triple {2256#true} call #t~ret6 := main(); {2256#true} is VALID [2022-04-28 05:51:30,375 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2256#true} {2256#true} #112#return; {2256#true} is VALID [2022-04-28 05:51:30,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {2256#true} assume true; {2256#true} is VALID [2022-04-28 05:51:30,375 INFO L290 TraceCheckUtils]: 1: Hoare triple {2256#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); {2256#true} is VALID [2022-04-28 05:51:30,375 INFO L272 TraceCheckUtils]: 0: Hoare triple {2256#true} call ULTIMATE.init(); {2256#true} is VALID [2022-04-28 05:51:30,375 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 05:51:30,375 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:51:30,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [874834167] [2022-04-28 05:51:30,377 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:51:30,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [286567485] [2022-04-28 05:51:30,377 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [286567485] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 05:51:30,377 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:51:30,377 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-28 05:51:30,378 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:51:30,378 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1132195190] [2022-04-28 05:51:30,378 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1132195190] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:51:30,378 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:51:30,378 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:51:30,378 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1688083624] [2022-04-28 05:51:30,378 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:51:30,379 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-28 05:51:30,379 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:51:30,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:51:30,401 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:30,402 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:51:30,402 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:30,402 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:51:30,402 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-28 05:51:30,402 INFO L87 Difference]: Start difference. First operand 52 states and 66 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:51:30,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:30,675 INFO L93 Difference]: Finished difference Result 75 states and 99 transitions. [2022-04-28 05:51:30,675 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:51:30,675 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-28 05:51:30,675 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:51:30,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:51:30,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:51:30,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:51:30,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:51:30,678 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 05:51:30,724 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 05:51:30,726 INFO L225 Difference]: With dead ends: 75 [2022-04-28 05:51:30,726 INFO L226 Difference]: Without dead ends: 73 [2022-04-28 05:51:30,726 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-28 05:51:30,726 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 8 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 53 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:51:30,727 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 147 Invalid, 53 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 53 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:51:30,727 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-28 05:51:30,857 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 70. [2022-04-28 05:51:30,857 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:51:30,857 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 05:51:30,857 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 05:51:30,857 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 05:51:30,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:30,860 INFO L93 Difference]: Finished difference Result 73 states and 97 transitions. [2022-04-28 05:51:30,860 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 97 transitions. [2022-04-28 05:51:30,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:30,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:30,860 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 73 states. [2022-04-28 05:51:30,861 INFO L87 Difference]: Start difference. First operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 73 states. [2022-04-28 05:51:30,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:30,863 INFO L93 Difference]: Finished difference Result 73 states and 97 transitions. [2022-04-28 05:51:30,863 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 97 transitions. [2022-04-28 05:51:30,863 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:30,863 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:30,863 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:51:30,863 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:51:30,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 23 states have call successors, (23), 6 states have call predecessors, (23), 5 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 05:51:30,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 94 transitions. [2022-04-28 05:51:30,865 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 94 transitions. Word has length 47 [2022-04-28 05:51:30,865 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:51:30,866 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 94 transitions. [2022-04-28 05:51:30,866 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:51:30,866 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 94 transitions. [2022-04-28 05:51:30,977 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 05:51:30,977 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 94 transitions. [2022-04-28 05:51:30,978 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 05:51:30,978 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:51:30,978 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:51:30,994 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 05:51:31,187 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 05:51:31,187 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:51:31,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:51:31,188 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-28 05:51:31,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:31,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1443585222] [2022-04-28 05:51:31,188 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:51:31,188 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-28 05:51:31,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:51:31,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1297382733] [2022-04-28 05:51:31,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:51:31,188 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:51:31,200 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:51:31,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [249881271] [2022-04-28 05:51:31,200 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:51:31,200 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:51:31,201 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:51:31,201 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 05:51:31,202 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 05:51:31,237 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:51:31,237 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:51:31,238 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 05:51:31,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:31,246 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:51:31,907 INFO L272 TraceCheckUtils]: 0: Hoare triple {2985#true} call ULTIMATE.init(); {2985#true} is VALID [2022-04-28 05:51:31,908 INFO L290 TraceCheckUtils]: 1: Hoare triple {2985#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); {2985#true} is VALID [2022-04-28 05:51:31,908 INFO L290 TraceCheckUtils]: 2: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:31,908 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2985#true} {2985#true} #112#return; {2985#true} is VALID [2022-04-28 05:51:31,908 INFO L272 TraceCheckUtils]: 4: Hoare triple {2985#true} call #t~ret6 := main(); {2985#true} is VALID [2022-04-28 05:51:31,908 INFO L290 TraceCheckUtils]: 5: Hoare triple {2985#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2985#true} is VALID [2022-04-28 05:51:31,908 INFO L272 TraceCheckUtils]: 6: Hoare triple {2985#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-28 05:51:31,908 INFO L290 TraceCheckUtils]: 7: Hoare triple {2985#true} ~cond := #in~cond; {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:51:31,909 INFO L290 TraceCheckUtils]: 8: Hoare triple {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:31,909 INFO L290 TraceCheckUtils]: 9: Hoare triple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:31,924 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} {2985#true} #94#return; {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 05:51:31,924 INFO L290 TraceCheckUtils]: 11: Hoare triple {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 05:51:31,924 INFO L272 TraceCheckUtils]: 12: Hoare triple {3022#(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)); {2985#true} is VALID [2022-04-28 05:51:31,925 INFO L290 TraceCheckUtils]: 13: Hoare triple {2985#true} ~cond := #in~cond; {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:51:31,925 INFO L290 TraceCheckUtils]: 14: Hoare triple {3011#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:31,925 INFO L290 TraceCheckUtils]: 15: Hoare triple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3015#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:31,926 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3015#(not (= |assume_abort_if_not_#in~cond| 0))} {3022#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #96#return; {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:31,926 INFO L272 TraceCheckUtils]: 17: Hoare triple {3041#(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)); {2985#true} is VALID [2022-04-28 05:51:31,926 INFO L290 TraceCheckUtils]: 18: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-28 05:51:31,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-28 05:51:31,927 INFO L290 TraceCheckUtils]: 20: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:31,927 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2985#true} {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #98#return; {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:31,927 INFO L272 TraceCheckUtils]: 22: Hoare triple {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-28 05:51:31,927 INFO L290 TraceCheckUtils]: 23: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-28 05:51:31,927 INFO L290 TraceCheckUtils]: 24: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-28 05:51:31,927 INFO L290 TraceCheckUtils]: 25: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:31,928 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2985#true} {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #100#return; {3041#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:31,929 INFO L290 TraceCheckUtils]: 27: Hoare triple {3041#(and (<= 0 main_~y~0) (<= 0 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; {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:31,929 INFO L290 TraceCheckUtils]: 28: Hoare triple {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} assume !false; {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:31,929 INFO L290 TraceCheckUtils]: 29: Hoare triple {3075#(and (<= main_~a~0 1) (<= main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} is VALID [2022-04-28 05:51:31,930 INFO L290 TraceCheckUtils]: 30: Hoare triple {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} assume !false; {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} is VALID [2022-04-28 05:51:31,930 INFO L290 TraceCheckUtils]: 31: Hoare triple {3082#(and (<= main_~b~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0) (<= main_~c~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:31,931 INFO L290 TraceCheckUtils]: 32: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:31,931 INFO L272 TraceCheckUtils]: 33: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2985#true} is VALID [2022-04-28 05:51:31,931 INFO L290 TraceCheckUtils]: 34: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-28 05:51:31,931 INFO L290 TraceCheckUtils]: 35: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-28 05:51:31,931 INFO L290 TraceCheckUtils]: 36: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:31,937 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2985#true} {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:31,937 INFO L272 TraceCheckUtils]: 38: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2985#true} is VALID [2022-04-28 05:51:31,937 INFO L290 TraceCheckUtils]: 39: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-28 05:51:31,937 INFO L290 TraceCheckUtils]: 40: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-28 05:51:31,937 INFO L290 TraceCheckUtils]: 41: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:31,938 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2985#true} {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:31,938 INFO L272 TraceCheckUtils]: 43: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2985#true} is VALID [2022-04-28 05:51:31,938 INFO L290 TraceCheckUtils]: 44: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-28 05:51:31,938 INFO L290 TraceCheckUtils]: 45: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-28 05:51:31,938 INFO L290 TraceCheckUtils]: 46: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:31,939 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2985#true} {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #106#return; {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:31,940 INFO L272 TraceCheckUtils]: 48: Hoare triple {3089#(and (= main_~b~0 main_~v~0) (<= main_~b~0 1) (= main_~d~0 1) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:51:31,940 INFO L290 TraceCheckUtils]: 49: Hoare triple {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:51:31,941 INFO L290 TraceCheckUtils]: 50: Hoare triple {3145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2986#false} is VALID [2022-04-28 05:51:31,941 INFO L290 TraceCheckUtils]: 51: Hoare triple {2986#false} assume !false; {2986#false} is VALID [2022-04-28 05:51:31,941 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 12 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 05:51:31,941 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:51:32,229 INFO L290 TraceCheckUtils]: 51: Hoare triple {2986#false} assume !false; {2986#false} is VALID [2022-04-28 05:51:32,230 INFO L290 TraceCheckUtils]: 50: Hoare triple {3145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2986#false} is VALID [2022-04-28 05:51:32,230 INFO L290 TraceCheckUtils]: 49: Hoare triple {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:51:32,231 INFO L272 TraceCheckUtils]: 48: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:51:32,231 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {2985#true} {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:51:32,231 INFO L290 TraceCheckUtils]: 46: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:32,231 INFO L290 TraceCheckUtils]: 45: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-28 05:51:32,231 INFO L290 TraceCheckUtils]: 44: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-28 05:51:32,232 INFO L272 TraceCheckUtils]: 43: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2985#true} is VALID [2022-04-28 05:51:32,232 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2985#true} {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:51:32,232 INFO L290 TraceCheckUtils]: 41: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:32,232 INFO L290 TraceCheckUtils]: 40: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-28 05:51:32,232 INFO L290 TraceCheckUtils]: 39: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-28 05:51:32,232 INFO L272 TraceCheckUtils]: 38: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2985#true} is VALID [2022-04-28 05:51:32,233 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2985#true} {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:51:32,233 INFO L290 TraceCheckUtils]: 36: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:32,233 INFO L290 TraceCheckUtils]: 35: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-28 05:51:32,233 INFO L290 TraceCheckUtils]: 34: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-28 05:51:32,233 INFO L272 TraceCheckUtils]: 33: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2985#true} is VALID [2022-04-28 05:51:32,234 INFO L290 TraceCheckUtils]: 32: Hoare triple {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:51:32,234 INFO L290 TraceCheckUtils]: 31: Hoare triple {2985#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3161#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:51:32,234 INFO L290 TraceCheckUtils]: 30: Hoare triple {2985#true} assume !false; {2985#true} is VALID [2022-04-28 05:51:32,234 INFO L290 TraceCheckUtils]: 29: Hoare triple {2985#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2985#true} is VALID [2022-04-28 05:51:32,234 INFO L290 TraceCheckUtils]: 28: Hoare triple {2985#true} assume !false; {2985#true} is VALID [2022-04-28 05:51:32,234 INFO L290 TraceCheckUtils]: 27: Hoare triple {2985#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2985#true} is VALID [2022-04-28 05:51:32,234 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2985#true} {2985#true} #100#return; {2985#true} is VALID [2022-04-28 05:51:32,234 INFO L290 TraceCheckUtils]: 25: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:32,234 INFO L290 TraceCheckUtils]: 24: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-28 05:51:32,234 INFO L290 TraceCheckUtils]: 23: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-28 05:51:32,234 INFO L272 TraceCheckUtils]: 22: Hoare triple {2985#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-28 05:51:32,234 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2985#true} {2985#true} #98#return; {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L290 TraceCheckUtils]: 20: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L290 TraceCheckUtils]: 19: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L290 TraceCheckUtils]: 18: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L272 TraceCheckUtils]: 17: Hoare triple {2985#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2985#true} {2985#true} #96#return; {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L290 TraceCheckUtils]: 13: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L272 TraceCheckUtils]: 12: Hoare triple {2985#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L290 TraceCheckUtils]: 11: Hoare triple {2985#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2985#true} {2985#true} #94#return; {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L290 TraceCheckUtils]: 9: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L290 TraceCheckUtils]: 8: Hoare triple {2985#true} assume !(0 == ~cond); {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L290 TraceCheckUtils]: 7: Hoare triple {2985#true} ~cond := #in~cond; {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L272 TraceCheckUtils]: 6: Hoare triple {2985#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {2985#true} is VALID [2022-04-28 05:51:32,235 INFO L290 TraceCheckUtils]: 5: Hoare triple {2985#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2985#true} is VALID [2022-04-28 05:51:32,236 INFO L272 TraceCheckUtils]: 4: Hoare triple {2985#true} call #t~ret6 := main(); {2985#true} is VALID [2022-04-28 05:51:32,236 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2985#true} {2985#true} #112#return; {2985#true} is VALID [2022-04-28 05:51:32,236 INFO L290 TraceCheckUtils]: 2: Hoare triple {2985#true} assume true; {2985#true} is VALID [2022-04-28 05:51:32,236 INFO L290 TraceCheckUtils]: 1: Hoare triple {2985#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); {2985#true} is VALID [2022-04-28 05:51:32,236 INFO L272 TraceCheckUtils]: 0: Hoare triple {2985#true} call ULTIMATE.init(); {2985#true} is VALID [2022-04-28 05:51:32,236 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 05:51:32,236 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:51:32,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1297382733] [2022-04-28 05:51:32,236 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:51:32,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [249881271] [2022-04-28 05:51:32,236 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [249881271] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 05:51:32,236 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:51:32,236 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [11] total 12 [2022-04-28 05:51:32,237 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:51:32,237 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1443585222] [2022-04-28 05:51:32,237 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1443585222] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:51:32,237 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:51:32,237 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:51:32,237 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1396749442] [2022-04-28 05:51:32,237 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:51:32,237 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-28 05:51:32,237 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:51:32,237 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:51:32,266 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:32,266 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:51:32,267 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:32,267 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:51:32,267 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=109, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:51:32,267 INFO L87 Difference]: Start difference. First operand 70 states and 94 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:51:32,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:32,556 INFO L93 Difference]: Finished difference Result 77 states and 100 transitions. [2022-04-28 05:51:32,556 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:51:32,556 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-28 05:51:32,557 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:51:32,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:51:32,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 05:51:32,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:51:32,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 05:51:32,558 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-28 05:51:32,597 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 05:51:32,598 INFO L225 Difference]: With dead ends: 77 [2022-04-28 05:51:32,598 INFO L226 Difference]: Without dead ends: 75 [2022-04-28 05:51:32,598 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 92 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=27, Invalid=129, Unknown=0, NotChecked=0, Total=156 [2022-04-28 05:51:32,599 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 9 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:51:32,599 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 133 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:51:32,599 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-28 05:51:32,719 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 74. [2022-04-28 05:51:32,719 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:51:32,719 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 05:51:32,719 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 05:51:32,719 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 05:51:32,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:32,721 INFO L93 Difference]: Finished difference Result 75 states and 98 transitions. [2022-04-28 05:51:32,721 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-04-28 05:51:32,722 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:32,722 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:32,722 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 75 states. [2022-04-28 05:51:32,722 INFO L87 Difference]: Start difference. First operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 75 states. [2022-04-28 05:51:32,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:32,724 INFO L93 Difference]: Finished difference Result 75 states and 98 transitions. [2022-04-28 05:51:32,724 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-04-28 05:51:32,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:32,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:32,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:51:32,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:51:32,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 44 states have (on average 1.2045454545454546) internal successors, (53), 45 states have internal predecessors, (53), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 05:51:32,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 97 transitions. [2022-04-28 05:51:32,727 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 97 transitions. Word has length 52 [2022-04-28 05:51:32,727 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:51:32,727 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 97 transitions. [2022-04-28 05:51:32,727 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:51:32,727 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 97 transitions. [2022-04-28 05:51:32,844 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:32,844 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 97 transitions. [2022-04-28 05:51:32,845 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-28 05:51:32,845 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:51:32,845 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:51:32,861 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 05:51:33,055 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 05:51:33,055 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:51:33,055 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:51:33,055 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-28 05:51:33,056 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:33,056 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1413934194] [2022-04-28 05:51:33,056 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:51:33,056 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-28 05:51:33,056 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:51:33,056 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1472318814] [2022-04-28 05:51:33,056 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:51:33,056 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:51:33,068 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:51:33,069 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1041682152] [2022-04-28 05:51:33,069 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:51:33,069 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:51:33,069 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:51:33,070 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 05:51:33,071 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 05:51:33,117 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:51:33,117 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:51:33,118 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 51 conjunts are in the unsatisfiable core [2022-04-28 05:51:33,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:33,130 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:51:34,769 INFO L272 TraceCheckUtils]: 0: Hoare triple {3762#true} call ULTIMATE.init(); {3762#true} is VALID [2022-04-28 05:51:34,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {3762#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); {3762#true} is VALID [2022-04-28 05:51:34,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:34,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3762#true} {3762#true} #112#return; {3762#true} is VALID [2022-04-28 05:51:34,770 INFO L272 TraceCheckUtils]: 4: Hoare triple {3762#true} call #t~ret6 := main(); {3762#true} is VALID [2022-04-28 05:51:34,770 INFO L290 TraceCheckUtils]: 5: Hoare triple {3762#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3762#true} is VALID [2022-04-28 05:51:34,770 INFO L272 TraceCheckUtils]: 6: Hoare triple {3762#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:34,770 INFO L290 TraceCheckUtils]: 7: Hoare triple {3762#true} ~cond := #in~cond; {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:51:34,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:34,771 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:34,771 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} {3762#true} #94#return; {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 05:51:34,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 05:51:34,772 INFO L272 TraceCheckUtils]: 12: Hoare triple {3799#(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)); {3762#true} is VALID [2022-04-28 05:51:34,772 INFO L290 TraceCheckUtils]: 13: Hoare triple {3762#true} ~cond := #in~cond; {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:51:34,772 INFO L290 TraceCheckUtils]: 14: Hoare triple {3788#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:34,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:34,773 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} {3799#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #96#return; {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:34,773 INFO L272 TraceCheckUtils]: 17: Hoare triple {3818#(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)); {3762#true} is VALID [2022-04-28 05:51:34,773 INFO L290 TraceCheckUtils]: 18: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-28 05:51:34,773 INFO L290 TraceCheckUtils]: 19: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-28 05:51:34,773 INFO L290 TraceCheckUtils]: 20: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:34,774 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3762#true} {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #98#return; {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:34,774 INFO L272 TraceCheckUtils]: 22: Hoare triple {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:34,774 INFO L290 TraceCheckUtils]: 23: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-28 05:51:34,774 INFO L290 TraceCheckUtils]: 24: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-28 05:51:34,774 INFO L290 TraceCheckUtils]: 25: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:34,774 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3762#true} {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} #100#return; {3818#(and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:34,775 INFO L290 TraceCheckUtils]: 27: Hoare triple {3818#(and (<= 0 main_~y~0) (<= 0 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; {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,775 INFO L290 TraceCheckUtils]: 28: Hoare triple {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,775 INFO L290 TraceCheckUtils]: 29: Hoare triple {3852#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,776 INFO L290 TraceCheckUtils]: 30: Hoare triple {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !false; {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,776 INFO L290 TraceCheckUtils]: 31: Hoare triple {3859#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 1) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,777 INFO L290 TraceCheckUtils]: 32: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,777 INFO L272 TraceCheckUtils]: 33: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:34,777 INFO L290 TraceCheckUtils]: 34: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-28 05:51:34,777 INFO L290 TraceCheckUtils]: 35: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-28 05:51:34,777 INFO L290 TraceCheckUtils]: 36: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:34,778 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3762#true} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #102#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,778 INFO L272 TraceCheckUtils]: 38: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:34,778 INFO L290 TraceCheckUtils]: 39: Hoare triple {3762#true} ~cond := #in~cond; {3891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:51:34,778 INFO L290 TraceCheckUtils]: 40: Hoare triple {3891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:51:34,779 INFO L290 TraceCheckUtils]: 41: Hoare triple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:51:34,779 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #104#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,779 INFO L272 TraceCheckUtils]: 43: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:34,779 INFO L290 TraceCheckUtils]: 44: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-28 05:51:34,779 INFO L290 TraceCheckUtils]: 45: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-28 05:51:34,779 INFO L290 TraceCheckUtils]: 46: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:34,780 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3762#true} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #106#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,780 INFO L272 TraceCheckUtils]: 48: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:34,780 INFO L290 TraceCheckUtils]: 49: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-28 05:51:34,780 INFO L290 TraceCheckUtils]: 50: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-28 05:51:34,780 INFO L290 TraceCheckUtils]: 51: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:34,781 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3762#true} {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} #108#return; {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,782 INFO L290 TraceCheckUtils]: 53: Hoare triple {3866#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {3935#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,782 INFO L290 TraceCheckUtils]: 54: Hoare triple {3935#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,783 INFO L290 TraceCheckUtils]: 55: Hoare triple {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} assume !false; {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,783 INFO L290 TraceCheckUtils]: 56: Hoare triple {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (= main_~p~0 1))} is VALID [2022-04-28 05:51:34,784 INFO L290 TraceCheckUtils]: 57: Hoare triple {3939#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~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; {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 05:51:34,785 INFO L290 TraceCheckUtils]: 58: Hoare triple {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} assume !false; {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 05:51:34,786 INFO L290 TraceCheckUtils]: 59: Hoare triple {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} assume !(0 != ~b~0); {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 05:51:34,791 INFO L272 TraceCheckUtils]: 60: Hoare triple {3949#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:51:34,792 INFO L290 TraceCheckUtils]: 61: Hoare triple {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:51:34,792 INFO L290 TraceCheckUtils]: 62: Hoare triple {3963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3763#false} is VALID [2022-04-28 05:51:34,792 INFO L290 TraceCheckUtils]: 63: Hoare triple {3763#false} assume !false; {3763#false} is VALID [2022-04-28 05:51:34,792 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 23 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 05:51:34,792 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:51:46,822 INFO L290 TraceCheckUtils]: 63: Hoare triple {3763#false} assume !false; {3763#false} is VALID [2022-04-28 05:51:46,823 INFO L290 TraceCheckUtils]: 62: Hoare triple {3963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3763#false} is VALID [2022-04-28 05:51:46,823 INFO L290 TraceCheckUtils]: 61: Hoare triple {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:51:46,824 INFO L272 TraceCheckUtils]: 60: Hoare triple {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {3959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:51:46,824 INFO L290 TraceCheckUtils]: 59: Hoare triple {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:51:46,825 INFO L290 TraceCheckUtils]: 58: Hoare triple {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:51:46,962 INFO L290 TraceCheckUtils]: 57: Hoare triple {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~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; {3979#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:51:46,963 INFO L290 TraceCheckUtils]: 56: Hoare triple {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:51:46,963 INFO L290 TraceCheckUtils]: 55: Hoare triple {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:51:47,113 INFO L290 TraceCheckUtils]: 54: Hoare triple {3999#(= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {3989#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:51:47,113 INFO L290 TraceCheckUtils]: 53: Hoare triple {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {3999#(= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:51:47,114 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3762#true} {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:51:47,114 INFO L290 TraceCheckUtils]: 51: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:47,114 INFO L290 TraceCheckUtils]: 50: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-28 05:51:47,114 INFO L290 TraceCheckUtils]: 49: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-28 05:51:47,114 INFO L272 TraceCheckUtils]: 48: Hoare triple {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:47,115 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3762#true} {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:51:47,115 INFO L290 TraceCheckUtils]: 46: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:47,115 INFO L290 TraceCheckUtils]: 45: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-28 05:51:47,115 INFO L290 TraceCheckUtils]: 44: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-28 05:51:47,115 INFO L272 TraceCheckUtils]: 43: Hoare triple {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:47,116 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {4003#(or (<= (* main_~v~0 2) main_~c~0) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:51:47,116 INFO L290 TraceCheckUtils]: 41: Hoare triple {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:51:47,116 INFO L290 TraceCheckUtils]: 40: Hoare triple {4047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:51:47,117 INFO L290 TraceCheckUtils]: 39: Hoare triple {3762#true} ~cond := #in~cond; {4047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:51:47,117 INFO L272 TraceCheckUtils]: 38: Hoare triple {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:47,118 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3762#true} {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:51:47,118 INFO L290 TraceCheckUtils]: 36: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:47,118 INFO L290 TraceCheckUtils]: 35: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-28 05:51:47,118 INFO L290 TraceCheckUtils]: 34: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-28 05:51:47,118 INFO L272 TraceCheckUtils]: 33: Hoare triple {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:47,118 INFO L290 TraceCheckUtils]: 32: Hoare triple {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:51:47,119 INFO L290 TraceCheckUtils]: 31: Hoare triple {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4037#(or (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:51:47,120 INFO L290 TraceCheckUtils]: 30: Hoare triple {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} assume !false; {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 05:51:47,120 INFO L290 TraceCheckUtils]: 29: Hoare triple {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4072#(or (<= main_~b~0 (div main_~c~0 2)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 05:51:47,121 INFO L290 TraceCheckUtils]: 28: Hoare triple {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} assume !false; {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} is VALID [2022-04-28 05:51:47,121 INFO L290 TraceCheckUtils]: 27: Hoare triple {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4079#(or (<= main_~b~0 (+ (div (+ (- 2) main_~b~0) 2) 1)) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (< main_~a~0 main_~b~0))} is VALID [2022-04-28 05:51:47,122 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3762#true} {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} #100#return; {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} is VALID [2022-04-28 05:51:47,122 INFO L290 TraceCheckUtils]: 25: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:47,122 INFO L290 TraceCheckUtils]: 24: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-28 05:51:47,122 INFO L290 TraceCheckUtils]: 23: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-28 05:51:47,122 INFO L272 TraceCheckUtils]: 22: Hoare triple {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:47,122 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3762#true} {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} #98#return; {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} is VALID [2022-04-28 05:51:47,122 INFO L290 TraceCheckUtils]: 20: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:47,122 INFO L290 TraceCheckUtils]: 19: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-28 05:51:47,122 INFO L290 TraceCheckUtils]: 18: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-28 05:51:47,123 INFO L272 TraceCheckUtils]: 17: Hoare triple {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:47,123 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3762#true} {4120#(<= main_~x~0 1)} #96#return; {4086#(or (< main_~x~0 main_~y~0) (= (* main_~y~0 2) (+ main_~y~0 main_~x~0)) (<= main_~y~0 (+ (div (+ (- 2) main_~y~0) 2) 1)))} is VALID [2022-04-28 05:51:47,123 INFO L290 TraceCheckUtils]: 15: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:47,123 INFO L290 TraceCheckUtils]: 14: Hoare triple {3762#true} assume !(0 == ~cond); {3762#true} is VALID [2022-04-28 05:51:47,123 INFO L290 TraceCheckUtils]: 13: Hoare triple {3762#true} ~cond := #in~cond; {3762#true} is VALID [2022-04-28 05:51:47,123 INFO L272 TraceCheckUtils]: 12: Hoare triple {4120#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:47,124 INFO L290 TraceCheckUtils]: 11: Hoare triple {4120#(<= main_~x~0 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4120#(<= main_~x~0 1)} is VALID [2022-04-28 05:51:47,124 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} {3762#true} #94#return; {4120#(<= main_~x~0 1)} is VALID [2022-04-28 05:51:47,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {3792#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:47,126 INFO L290 TraceCheckUtils]: 8: Hoare triple {4148#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3792#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:47,126 INFO L290 TraceCheckUtils]: 7: Hoare triple {3762#true} ~cond := #in~cond; {4148#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:51:47,126 INFO L272 TraceCheckUtils]: 6: Hoare triple {3762#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {3762#true} is VALID [2022-04-28 05:51:47,126 INFO L290 TraceCheckUtils]: 5: Hoare triple {3762#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3762#true} is VALID [2022-04-28 05:51:47,126 INFO L272 TraceCheckUtils]: 4: Hoare triple {3762#true} call #t~ret6 := main(); {3762#true} is VALID [2022-04-28 05:51:47,126 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3762#true} {3762#true} #112#return; {3762#true} is VALID [2022-04-28 05:51:47,126 INFO L290 TraceCheckUtils]: 2: Hoare triple {3762#true} assume true; {3762#true} is VALID [2022-04-28 05:51:47,126 INFO L290 TraceCheckUtils]: 1: Hoare triple {3762#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); {3762#true} is VALID [2022-04-28 05:51:47,126 INFO L272 TraceCheckUtils]: 0: Hoare triple {3762#true} call ULTIMATE.init(); {3762#true} is VALID [2022-04-28 05:51:47,127 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 20 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 05:51:47,127 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:51:47,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1472318814] [2022-04-28 05:51:47,127 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:51:47,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1041682152] [2022-04-28 05:51:47,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1041682152] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:51:47,127 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:51:47,127 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 17] total 27 [2022-04-28 05:51:47,127 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:51:47,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1413934194] [2022-04-28 05:51:47,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1413934194] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:51:47,127 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:51:47,127 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 05:51:47,127 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1764388846] [2022-04-28 05:51:47,127 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:51:47,128 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 64 [2022-04-28 05:51:47,128 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:51:47,128 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 05:51:47,178 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:47,178 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 05:51:47,178 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:47,178 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 05:51:47,179 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=595, Unknown=0, NotChecked=0, Total=702 [2022-04-28 05:51:47,179 INFO L87 Difference]: Start difference. First operand 74 states and 97 transitions. Second operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 05:51:49,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:49,548 INFO L93 Difference]: Finished difference Result 124 states and 169 transitions. [2022-04-28 05:51:49,548 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 05:51:49,548 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 64 [2022-04-28 05:51:49,548 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:51:49,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 05:51:49,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 129 transitions. [2022-04-28 05:51:49,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 05:51:49,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 129 transitions. [2022-04-28 05:51:49,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 129 transitions. [2022-04-28 05:51:49,676 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:49,678 INFO L225 Difference]: With dead ends: 124 [2022-04-28 05:51:49,678 INFO L226 Difference]: Without dead ends: 121 [2022-04-28 05:51:49,679 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 101 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 222 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=176, Invalid=946, Unknown=0, NotChecked=0, Total=1122 [2022-04-28 05:51:49,679 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 79 mSDsluCounter, 250 mSDsCounter, 0 mSdLazyCounter, 640 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 92 SdHoareTripleChecker+Valid, 296 SdHoareTripleChecker+Invalid, 697 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 640 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 05:51:49,679 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [92 Valid, 296 Invalid, 697 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 640 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 05:51:49,680 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-28 05:51:49,958 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 111. [2022-04-28 05:51:49,958 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:51:49,958 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 05:51:49,959 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 05:51:49,959 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 05:51:49,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:49,962 INFO L93 Difference]: Finished difference Result 121 states and 165 transitions. [2022-04-28 05:51:49,962 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 165 transitions. [2022-04-28 05:51:49,963 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:49,963 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:49,963 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) Second operand 121 states. [2022-04-28 05:51:49,963 INFO L87 Difference]: Start difference. First operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) Second operand 121 states. [2022-04-28 05:51:49,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:49,966 INFO L93 Difference]: Finished difference Result 121 states and 165 transitions. [2022-04-28 05:51:49,966 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 165 transitions. [2022-04-28 05:51:49,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:49,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:49,967 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:51:49,967 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:51:49,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 68 states have internal predecessors, (82), 35 states have call successors, (35), 9 states have call predecessors, (35), 8 states have return successors, (33), 33 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 05:51:49,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 150 transitions. [2022-04-28 05:51:49,970 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 150 transitions. Word has length 64 [2022-04-28 05:51:49,970 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:51:49,970 INFO L495 AbstractCegarLoop]: Abstraction has 111 states and 150 transitions. [2022-04-28 05:51:49,970 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.0) internal successors, (32), 14 states have internal predecessors, (32), 5 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 05:51:49,970 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 150 transitions. [2022-04-28 05:51:50,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:50,195 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 150 transitions. [2022-04-28 05:51:50,195 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 05:51:50,195 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:51:50,196 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:51:50,213 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 05:51:50,399 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 05:51:50,399 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:51:50,400 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:51:50,400 INFO L85 PathProgramCache]: Analyzing trace with hash -1914971202, now seen corresponding path program 3 times [2022-04-28 05:51:50,400 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:50,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [754361242] [2022-04-28 05:51:50,400 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:51:50,401 INFO L85 PathProgramCache]: Analyzing trace with hash -1914971202, now seen corresponding path program 4 times [2022-04-28 05:51:50,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:51:50,401 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1797946816] [2022-04-28 05:51:50,401 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:51:50,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:51:50,424 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:51:50,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1677180140] [2022-04-28 05:51:50,424 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:51:50,424 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:51:50,424 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:51:50,425 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 05:51:50,426 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 05:51:50,464 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:51:50,464 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:51:50,465 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 05:51:50,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:50,475 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:51:50,696 INFO L272 TraceCheckUtils]: 0: Hoare triple {4898#true} call ULTIMATE.init(); {4898#true} is VALID [2022-04-28 05:51:50,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {4898#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); {4898#true} is VALID [2022-04-28 05:51:50,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4898#true} {4898#true} #112#return; {4898#true} is VALID [2022-04-28 05:51:50,696 INFO L272 TraceCheckUtils]: 4: Hoare triple {4898#true} call #t~ret6 := main(); {4898#true} is VALID [2022-04-28 05:51:50,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {4898#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4898#true} is VALID [2022-04-28 05:51:50,696 INFO L272 TraceCheckUtils]: 6: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4898#true} {4898#true} #94#return; {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 11: Hoare triple {4898#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L272 TraceCheckUtils]: 12: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 13: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 14: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 15: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4898#true} {4898#true} #96#return; {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L272 TraceCheckUtils]: 17: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 18: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 19: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 20: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4898#true} {4898#true} #98#return; {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L272 TraceCheckUtils]: 22: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 23: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 24: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,697 INFO L290 TraceCheckUtils]: 25: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,698 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4898#true} {4898#true} #100#return; {4898#true} is VALID [2022-04-28 05:51:50,698 INFO L290 TraceCheckUtils]: 27: Hoare triple {4898#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4898#true} is VALID [2022-04-28 05:51:50,698 INFO L290 TraceCheckUtils]: 28: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-28 05:51:50,698 INFO L290 TraceCheckUtils]: 29: Hoare triple {4898#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4898#true} is VALID [2022-04-28 05:51:50,698 INFO L290 TraceCheckUtils]: 30: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-28 05:51:50,698 INFO L290 TraceCheckUtils]: 31: Hoare triple {4898#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:51:50,701 INFO L290 TraceCheckUtils]: 32: Hoare triple {4996#(<= main_~v~0 main_~b~0)} assume !false; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:51:50,701 INFO L272 TraceCheckUtils]: 33: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,701 INFO L290 TraceCheckUtils]: 34: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,701 INFO L290 TraceCheckUtils]: 35: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,702 INFO L290 TraceCheckUtils]: 36: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,702 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #102#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:51:50,702 INFO L272 TraceCheckUtils]: 38: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,702 INFO L290 TraceCheckUtils]: 39: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,702 INFO L290 TraceCheckUtils]: 40: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,702 INFO L290 TraceCheckUtils]: 41: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,703 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #104#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:51:50,703 INFO L272 TraceCheckUtils]: 43: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,703 INFO L290 TraceCheckUtils]: 44: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,704 INFO L290 TraceCheckUtils]: 45: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,704 INFO L290 TraceCheckUtils]: 46: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,704 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #106#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:51:50,704 INFO L272 TraceCheckUtils]: 48: Hoare triple {4996#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,704 INFO L290 TraceCheckUtils]: 49: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,704 INFO L290 TraceCheckUtils]: 50: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,704 INFO L290 TraceCheckUtils]: 51: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,705 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {4898#true} {4996#(<= main_~v~0 main_~b~0)} #108#return; {4996#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:51:50,705 INFO L290 TraceCheckUtils]: 53: Hoare triple {4996#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {5063#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 05:51:50,706 INFO L290 TraceCheckUtils]: 54: Hoare triple {5063#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {5067#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 05:51:50,706 INFO L290 TraceCheckUtils]: 55: Hoare triple {5067#(< main_~c~0 main_~b~0)} assume !false; {5067#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 05:51:50,706 INFO L290 TraceCheckUtils]: 56: Hoare triple {5067#(< main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {5067#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 05:51:50,707 INFO L290 TraceCheckUtils]: 57: Hoare triple {5067#(< main_~c~0 main_~b~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; {5077#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:51:50,707 INFO L290 TraceCheckUtils]: 58: Hoare triple {5077#(< main_~b~0 main_~a~0)} assume !false; {5077#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:51:50,707 INFO L290 TraceCheckUtils]: 59: Hoare triple {5077#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5084#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:51:50,708 INFO L290 TraceCheckUtils]: 60: Hoare triple {5084#(< main_~b~0 main_~c~0)} assume !false; {5084#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:51:50,708 INFO L290 TraceCheckUtils]: 61: Hoare triple {5084#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4899#false} is VALID [2022-04-28 05:51:50,708 INFO L290 TraceCheckUtils]: 62: Hoare triple {4899#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; {4899#false} is VALID [2022-04-28 05:51:50,708 INFO L290 TraceCheckUtils]: 63: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-28 05:51:50,708 INFO L290 TraceCheckUtils]: 64: Hoare triple {4899#false} assume !(0 != ~b~0); {4899#false} is VALID [2022-04-28 05:51:50,708 INFO L272 TraceCheckUtils]: 65: Hoare triple {4899#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {4899#false} is VALID [2022-04-28 05:51:50,708 INFO L290 TraceCheckUtils]: 66: Hoare triple {4899#false} ~cond := #in~cond; {4899#false} is VALID [2022-04-28 05:51:50,708 INFO L290 TraceCheckUtils]: 67: Hoare triple {4899#false} assume 0 == ~cond; {4899#false} is VALID [2022-04-28 05:51:50,709 INFO L290 TraceCheckUtils]: 68: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-28 05:51:50,709 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 19 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 05:51:50,709 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:51:50,954 INFO L290 TraceCheckUtils]: 68: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-28 05:51:50,954 INFO L290 TraceCheckUtils]: 67: Hoare triple {4899#false} assume 0 == ~cond; {4899#false} is VALID [2022-04-28 05:51:50,955 INFO L290 TraceCheckUtils]: 66: Hoare triple {4899#false} ~cond := #in~cond; {4899#false} is VALID [2022-04-28 05:51:50,955 INFO L272 TraceCheckUtils]: 65: Hoare triple {4899#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {4899#false} is VALID [2022-04-28 05:51:50,955 INFO L290 TraceCheckUtils]: 64: Hoare triple {4899#false} assume !(0 != ~b~0); {4899#false} is VALID [2022-04-28 05:51:50,955 INFO L290 TraceCheckUtils]: 63: Hoare triple {4899#false} assume !false; {4899#false} is VALID [2022-04-28 05:51:50,955 INFO L290 TraceCheckUtils]: 62: Hoare triple {4899#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; {4899#false} is VALID [2022-04-28 05:51:50,955 INFO L290 TraceCheckUtils]: 61: Hoare triple {5133#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4899#false} is VALID [2022-04-28 05:51:50,955 INFO L290 TraceCheckUtils]: 60: Hoare triple {5133#(<= main_~b~0 main_~c~0)} assume !false; {5133#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:51:50,956 INFO L290 TraceCheckUtils]: 59: Hoare triple {5140#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5133#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:51:50,956 INFO L290 TraceCheckUtils]: 58: Hoare triple {5140#(<= main_~b~0 main_~a~0)} assume !false; {5140#(<= main_~b~0 main_~a~0)} is VALID [2022-04-28 05:51:50,956 INFO L290 TraceCheckUtils]: 57: Hoare triple {5147#(<= main_~c~0 main_~b~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; {5140#(<= main_~b~0 main_~a~0)} is VALID [2022-04-28 05:51:50,957 INFO L290 TraceCheckUtils]: 56: Hoare triple {5147#(<= main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {5147#(<= main_~c~0 main_~b~0)} is VALID [2022-04-28 05:51:50,957 INFO L290 TraceCheckUtils]: 55: Hoare triple {5147#(<= main_~c~0 main_~b~0)} assume !false; {5147#(<= main_~c~0 main_~b~0)} is VALID [2022-04-28 05:51:50,957 INFO L290 TraceCheckUtils]: 54: Hoare triple {5157#(<= main_~c~0 (+ main_~b~0 main_~v~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {5147#(<= main_~c~0 main_~b~0)} is VALID [2022-04-28 05:51:50,958 INFO L290 TraceCheckUtils]: 53: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} assume !(~c~0 >= 2 * ~v~0); {5157#(<= main_~c~0 (+ main_~b~0 main_~v~0))} is VALID [2022-04-28 05:51:50,958 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #108#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-28 05:51:50,958 INFO L290 TraceCheckUtils]: 51: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,958 INFO L290 TraceCheckUtils]: 50: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,959 INFO L290 TraceCheckUtils]: 49: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,959 INFO L272 TraceCheckUtils]: 48: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,959 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #106#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-28 05:51:50,959 INFO L290 TraceCheckUtils]: 46: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,959 INFO L290 TraceCheckUtils]: 45: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,959 INFO L290 TraceCheckUtils]: 44: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,959 INFO L272 TraceCheckUtils]: 43: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,960 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #104#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-28 05:51:50,960 INFO L290 TraceCheckUtils]: 41: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,960 INFO L290 TraceCheckUtils]: 40: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,960 INFO L290 TraceCheckUtils]: 39: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,960 INFO L272 TraceCheckUtils]: 38: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,961 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4898#true} {5161#(<= main_~v~0 (+ main_~b~0 1))} #102#return; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-28 05:51:50,961 INFO L290 TraceCheckUtils]: 36: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,961 INFO L290 TraceCheckUtils]: 35: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,961 INFO L290 TraceCheckUtils]: 34: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,961 INFO L272 TraceCheckUtils]: 33: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,961 INFO L290 TraceCheckUtils]: 32: Hoare triple {5161#(<= main_~v~0 (+ main_~b~0 1))} assume !false; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-28 05:51:50,961 INFO L290 TraceCheckUtils]: 31: Hoare triple {4898#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5161#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 30: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 29: Hoare triple {4898#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 28: Hoare triple {4898#true} assume !false; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 27: Hoare triple {4898#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4898#true} {4898#true} #100#return; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 25: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 24: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 23: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L272 TraceCheckUtils]: 22: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4898#true} {4898#true} #98#return; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 20: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 19: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 18: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L272 TraceCheckUtils]: 17: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4898#true} {4898#true} #96#return; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 15: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 14: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L290 TraceCheckUtils]: 13: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,962 INFO L272 TraceCheckUtils]: 12: Hoare triple {4898#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,963 INFO L290 TraceCheckUtils]: 11: Hoare triple {4898#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4898#true} is VALID [2022-04-28 05:51:50,963 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4898#true} {4898#true} #94#return; {4898#true} is VALID [2022-04-28 05:51:50,963 INFO L290 TraceCheckUtils]: 9: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,963 INFO L290 TraceCheckUtils]: 8: Hoare triple {4898#true} assume !(0 == ~cond); {4898#true} is VALID [2022-04-28 05:51:50,963 INFO L290 TraceCheckUtils]: 7: Hoare triple {4898#true} ~cond := #in~cond; {4898#true} is VALID [2022-04-28 05:51:50,963 INFO L272 TraceCheckUtils]: 6: Hoare triple {4898#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {4898#true} is VALID [2022-04-28 05:51:50,963 INFO L290 TraceCheckUtils]: 5: Hoare triple {4898#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4898#true} is VALID [2022-04-28 05:51:50,963 INFO L272 TraceCheckUtils]: 4: Hoare triple {4898#true} call #t~ret6 := main(); {4898#true} is VALID [2022-04-28 05:51:50,973 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4898#true} {4898#true} #112#return; {4898#true} is VALID [2022-04-28 05:51:50,973 INFO L290 TraceCheckUtils]: 2: Hoare triple {4898#true} assume true; {4898#true} is VALID [2022-04-28 05:51:50,973 INFO L290 TraceCheckUtils]: 1: Hoare triple {4898#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); {4898#true} is VALID [2022-04-28 05:51:50,973 INFO L272 TraceCheckUtils]: 0: Hoare triple {4898#true} call ULTIMATE.init(); {4898#true} is VALID [2022-04-28 05:51:50,973 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 19 proven. 2 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 05:51:50,973 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:51:50,973 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1797946816] [2022-04-28 05:51:50,973 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:51:50,974 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1677180140] [2022-04-28 05:51:50,974 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1677180140] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:51:50,974 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:51:50,974 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 05:51:50,974 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:51:50,974 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [754361242] [2022-04-28 05:51:50,974 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [754361242] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:51:50,974 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:51:50,974 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 05:51:50,974 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [35407405] [2022-04-28 05:51:50,974 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:51:50,975 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-28 05:51:50,975 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:51:50,975 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:51:51,005 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 05:51:51,005 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 05:51:51,005 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:51,005 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 05:51:51,005 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:51:51,006 INFO L87 Difference]: Start difference. First operand 111 states and 150 transitions. Second operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:51:52,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:52,120 INFO L93 Difference]: Finished difference Result 227 states and 315 transitions. [2022-04-28 05:51:52,120 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 05:51:52,121 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-28 05:51:52,121 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:51:52,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:51:52,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 150 transitions. [2022-04-28 05:51:52,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:51:52,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 150 transitions. [2022-04-28 05:51:52,137 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 150 transitions. [2022-04-28 05:51:52,263 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:52,266 INFO L225 Difference]: With dead ends: 227 [2022-04-28 05:51:52,266 INFO L226 Difference]: Without dead ends: 162 [2022-04-28 05:51:52,266 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 131 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=111, Invalid=309, Unknown=0, NotChecked=0, Total=420 [2022-04-28 05:51:52,267 INFO L413 NwaCegarLoop]: 67 mSDtfsCounter, 31 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 191 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 221 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 191 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:51:52,267 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 232 Invalid, 221 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 191 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:51:52,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-28 05:51:52,691 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 144. [2022-04-28 05:51:52,691 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:51:52,692 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:51:52,692 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:51:52,698 INFO L87 Difference]: Start difference. First operand 162 states. Second operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:51:52,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:52,702 INFO L93 Difference]: Finished difference Result 162 states and 223 transitions. [2022-04-28 05:51:52,702 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 223 transitions. [2022-04-28 05:51:52,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:52,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:52,703 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) Second operand 162 states. [2022-04-28 05:51:52,704 INFO L87 Difference]: Start difference. First operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) Second operand 162 states. [2022-04-28 05:51:52,710 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:52,711 INFO L93 Difference]: Finished difference Result 162 states and 223 transitions. [2022-04-28 05:51:52,711 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 223 transitions. [2022-04-28 05:51:52,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:52,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:52,711 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:51:52,711 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:51:52,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 80 states have (on average 1.2125) internal successors, (97), 81 states have internal predecessors, (97), 55 states have call successors, (55), 9 states have call predecessors, (55), 8 states have return successors, (53), 53 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:51:52,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 205 transitions. [2022-04-28 05:51:52,715 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 205 transitions. Word has length 69 [2022-04-28 05:51:52,716 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:51:52,716 INFO L495 AbstractCegarLoop]: Abstraction has 144 states and 205 transitions. [2022-04-28 05:51:52,716 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.428571428571429) internal successors, (31), 7 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:51:52,716 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 144 states and 205 transitions. [2022-04-28 05:51:53,007 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:53,007 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 205 transitions. [2022-04-28 05:51:53,010 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-28 05:51:53,010 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:51:53,010 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:51:53,026 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 05:51:53,211 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 05:51:53,211 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:51:53,211 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:51:53,212 INFO L85 PathProgramCache]: Analyzing trace with hash 1205081507, now seen corresponding path program 1 times [2022-04-28 05:51:53,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:53,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2071840062] [2022-04-28 05:51:53,212 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:51:53,212 INFO L85 PathProgramCache]: Analyzing trace with hash 1205081507, now seen corresponding path program 2 times [2022-04-28 05:51:53,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:51:53,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [480004787] [2022-04-28 05:51:53,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:51:53,212 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:51:53,223 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:51:53,223 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [969936899] [2022-04-28 05:51:53,223 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:51:53,223 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:51:53,223 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:51:53,224 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 05:51:53,225 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 05:51:53,272 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:51:53,272 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:51:53,273 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 05:51:53,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:53,284 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:51:53,633 INFO L272 TraceCheckUtils]: 0: Hoare triple {6411#true} call ULTIMATE.init(); {6411#true} is VALID [2022-04-28 05:51:53,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {6411#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); {6411#true} is VALID [2022-04-28 05:51:53,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:53,634 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6411#true} {6411#true} #112#return; {6411#true} is VALID [2022-04-28 05:51:53,634 INFO L272 TraceCheckUtils]: 4: Hoare triple {6411#true} call #t~ret6 := main(); {6411#true} is VALID [2022-04-28 05:51:53,634 INFO L290 TraceCheckUtils]: 5: Hoare triple {6411#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6411#true} is VALID [2022-04-28 05:51:53,634 INFO L272 TraceCheckUtils]: 6: Hoare triple {6411#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:53,634 INFO L290 TraceCheckUtils]: 7: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:53,634 INFO L290 TraceCheckUtils]: 8: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:53,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:53,634 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6411#true} {6411#true} #94#return; {6411#true} is VALID [2022-04-28 05:51:53,634 INFO L290 TraceCheckUtils]: 11: Hoare triple {6411#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6411#true} is VALID [2022-04-28 05:51:53,634 INFO L272 TraceCheckUtils]: 12: Hoare triple {6411#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:53,634 INFO L290 TraceCheckUtils]: 13: Hoare triple {6411#true} ~cond := #in~cond; {6455#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:51:53,635 INFO L290 TraceCheckUtils]: 14: Hoare triple {6455#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:53,635 INFO L290 TraceCheckUtils]: 15: Hoare triple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:53,635 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} {6411#true} #96#return; {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:53,635 INFO L272 TraceCheckUtils]: 17: Hoare triple {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:53,636 INFO L290 TraceCheckUtils]: 18: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:53,636 INFO L290 TraceCheckUtils]: 19: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:53,636 INFO L290 TraceCheckUtils]: 20: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:53,636 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6411#true} {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #98#return; {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:53,636 INFO L272 TraceCheckUtils]: 22: Hoare triple {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:53,636 INFO L290 TraceCheckUtils]: 23: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:53,636 INFO L290 TraceCheckUtils]: 24: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:53,636 INFO L290 TraceCheckUtils]: 25: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:53,637 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6411#true} {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} #100#return; {6466#(and (<= 0 main_~y~0) (<= main_~y~0 1))} is VALID [2022-04-28 05:51:53,637 INFO L290 TraceCheckUtils]: 27: Hoare triple {6466#(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; {6500#(<= main_~b~0 1)} is VALID [2022-04-28 05:51:53,637 INFO L290 TraceCheckUtils]: 28: Hoare triple {6500#(<= main_~b~0 1)} assume !false; {6500#(<= main_~b~0 1)} is VALID [2022-04-28 05:51:53,637 INFO L290 TraceCheckUtils]: 29: Hoare triple {6500#(<= main_~b~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6500#(<= main_~b~0 1)} is VALID [2022-04-28 05:51:53,638 INFO L290 TraceCheckUtils]: 30: Hoare triple {6500#(<= main_~b~0 1)} assume !false; {6500#(<= main_~b~0 1)} is VALID [2022-04-28 05:51:53,638 INFO L290 TraceCheckUtils]: 31: Hoare triple {6500#(<= main_~b~0 1)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-28 05:51:53,638 INFO L290 TraceCheckUtils]: 32: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} assume !false; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-28 05:51:53,638 INFO L272 TraceCheckUtils]: 33: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:53,638 INFO L290 TraceCheckUtils]: 34: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:53,638 INFO L290 TraceCheckUtils]: 35: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:53,638 INFO L290 TraceCheckUtils]: 36: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:53,639 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #102#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-28 05:51:53,639 INFO L272 TraceCheckUtils]: 38: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:53,639 INFO L290 TraceCheckUtils]: 39: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:53,639 INFO L290 TraceCheckUtils]: 40: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:53,639 INFO L290 TraceCheckUtils]: 41: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:53,640 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #104#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-28 05:51:53,640 INFO L272 TraceCheckUtils]: 43: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:53,640 INFO L290 TraceCheckUtils]: 44: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:53,640 INFO L290 TraceCheckUtils]: 45: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:53,640 INFO L290 TraceCheckUtils]: 46: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:53,640 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #106#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-28 05:51:53,640 INFO L272 TraceCheckUtils]: 48: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:53,641 INFO L290 TraceCheckUtils]: 49: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:53,641 INFO L290 TraceCheckUtils]: 50: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:53,641 INFO L290 TraceCheckUtils]: 51: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:53,641 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6411#true} {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} #108#return; {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} is VALID [2022-04-28 05:51:53,655 INFO L290 TraceCheckUtils]: 53: Hoare triple {6513#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0))} assume !(~c~0 >= 2 * ~v~0); {6580#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 05:51:53,655 INFO L290 TraceCheckUtils]: 54: Hoare triple {6580#(and (<= main_~v~0 1) (<= main_~v~0 main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 05:51:53,656 INFO L290 TraceCheckUtils]: 55: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !false; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 05:51:53,656 INFO L290 TraceCheckUtils]: 56: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 05:51:53,656 INFO L290 TraceCheckUtils]: 57: Hoare triple {6584#(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; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:53,657 INFO L290 TraceCheckUtils]: 58: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:53,657 INFO L290 TraceCheckUtils]: 59: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6412#false} is VALID [2022-04-28 05:51:53,657 INFO L290 TraceCheckUtils]: 60: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-28 05:51:53,657 INFO L290 TraceCheckUtils]: 61: Hoare triple {6412#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6412#false} is VALID [2022-04-28 05:51:53,657 INFO L290 TraceCheckUtils]: 62: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-28 05:51:53,657 INFO L272 TraceCheckUtils]: 63: Hoare triple {6412#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6412#false} is VALID [2022-04-28 05:51:53,657 INFO L290 TraceCheckUtils]: 64: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-28 05:51:53,657 INFO L290 TraceCheckUtils]: 65: Hoare triple {6412#false} assume !(0 == ~cond); {6412#false} is VALID [2022-04-28 05:51:53,657 INFO L290 TraceCheckUtils]: 66: Hoare triple {6412#false} assume true; {6412#false} is VALID [2022-04-28 05:51:53,657 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6412#false} {6412#false} #102#return; {6412#false} is VALID [2022-04-28 05:51:53,657 INFO L272 TraceCheckUtils]: 68: Hoare triple {6412#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6412#false} is VALID [2022-04-28 05:51:53,658 INFO L290 TraceCheckUtils]: 69: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-28 05:51:53,658 INFO L290 TraceCheckUtils]: 70: Hoare triple {6412#false} assume 0 == ~cond; {6412#false} is VALID [2022-04-28 05:51:53,658 INFO L290 TraceCheckUtils]: 71: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-28 05:51:53,658 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 36 proven. 8 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-28 05:51:53,658 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:51:54,381 INFO L290 TraceCheckUtils]: 71: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-28 05:51:54,382 INFO L290 TraceCheckUtils]: 70: Hoare triple {6412#false} assume 0 == ~cond; {6412#false} is VALID [2022-04-28 05:51:54,382 INFO L290 TraceCheckUtils]: 69: Hoare triple {6412#false} ~cond := #in~cond; {6412#false} is VALID [2022-04-28 05:51:54,382 INFO L272 TraceCheckUtils]: 68: Hoare triple {6412#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6412#false} is VALID [2022-04-28 05:51:54,382 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6411#true} {6412#false} #102#return; {6412#false} is VALID [2022-04-28 05:51:54,382 INFO L290 TraceCheckUtils]: 66: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:54,382 INFO L290 TraceCheckUtils]: 65: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:54,382 INFO L290 TraceCheckUtils]: 64: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:54,382 INFO L272 TraceCheckUtils]: 63: Hoare triple {6412#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:54,382 INFO L290 TraceCheckUtils]: 62: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-28 05:51:54,382 INFO L290 TraceCheckUtils]: 61: Hoare triple {6412#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6412#false} is VALID [2022-04-28 05:51:54,382 INFO L290 TraceCheckUtils]: 60: Hoare triple {6412#false} assume !false; {6412#false} is VALID [2022-04-28 05:51:54,384 INFO L290 TraceCheckUtils]: 59: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6412#false} is VALID [2022-04-28 05:51:54,384 INFO L290 TraceCheckUtils]: 58: Hoare triple {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} assume !false; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:54,385 INFO L290 TraceCheckUtils]: 57: Hoare triple {6584#(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; {6594#(and (< main_~b~0 1) (<= 0 main_~b~0))} is VALID [2022-04-28 05:51:54,385 INFO L290 TraceCheckUtils]: 56: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 05:51:54,385 INFO L290 TraceCheckUtils]: 55: Hoare triple {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} assume !false; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 05:51:54,386 INFO L290 TraceCheckUtils]: 54: Hoare triple {6688#(and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6584#(and (< main_~c~0 1) (<= 0 main_~c~0))} is VALID [2022-04-28 05:51:54,386 INFO L290 TraceCheckUtils]: 53: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} assume !(~c~0 >= 2 * ~v~0); {6688#(and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0))} is VALID [2022-04-28 05:51:54,387 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #108#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-28 05:51:54,387 INFO L290 TraceCheckUtils]: 51: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:54,387 INFO L290 TraceCheckUtils]: 50: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:54,387 INFO L290 TraceCheckUtils]: 49: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:54,387 INFO L272 TraceCheckUtils]: 48: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:54,396 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #106#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-28 05:51:54,396 INFO L290 TraceCheckUtils]: 46: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:54,396 INFO L290 TraceCheckUtils]: 45: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:54,396 INFO L290 TraceCheckUtils]: 44: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:54,396 INFO L272 TraceCheckUtils]: 43: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:54,396 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #104#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-28 05:51:54,396 INFO L290 TraceCheckUtils]: 41: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:54,396 INFO L290 TraceCheckUtils]: 40: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:54,397 INFO L290 TraceCheckUtils]: 39: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:54,397 INFO L272 TraceCheckUtils]: 38: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:54,397 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6411#true} {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} #102#return; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-28 05:51:54,397 INFO L290 TraceCheckUtils]: 36: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:54,397 INFO L290 TraceCheckUtils]: 35: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:54,397 INFO L290 TraceCheckUtils]: 34: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:54,397 INFO L272 TraceCheckUtils]: 33: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:54,398 INFO L290 TraceCheckUtils]: 32: Hoare triple {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} assume !false; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-28 05:51:54,399 INFO L290 TraceCheckUtils]: 31: Hoare triple {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6692#(or (<= (* main_~v~0 2) main_~c~0) (and (< main_~c~0 (+ main_~v~0 1)) (<= main_~v~0 main_~c~0)))} is VALID [2022-04-28 05:51:54,399 INFO L290 TraceCheckUtils]: 30: Hoare triple {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} assume !false; {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} is VALID [2022-04-28 05:51:54,399 INFO L290 TraceCheckUtils]: 29: Hoare triple {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6759#(or (<= main_~b~0 (div main_~c~0 2)) (not (<= main_~b~0 main_~c~0)) (<= main_~c~0 (+ (div main_~c~0 2) 1)))} is VALID [2022-04-28 05:51:54,400 INFO L290 TraceCheckUtils]: 28: Hoare triple {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} assume !false; {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} is VALID [2022-04-28 05:51:54,400 INFO L290 TraceCheckUtils]: 27: Hoare triple {6773#(<= main_~y~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6766#(or (<= main_~a~0 (+ (div main_~a~0 2) 1)) (not (<= main_~b~0 main_~a~0)) (<= main_~b~0 (div main_~a~0 2)))} is VALID [2022-04-28 05:51:54,401 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6411#true} {6773#(<= main_~y~0 1)} #100#return; {6773#(<= main_~y~0 1)} is VALID [2022-04-28 05:51:54,401 INFO L290 TraceCheckUtils]: 25: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:54,401 INFO L290 TraceCheckUtils]: 24: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:54,401 INFO L290 TraceCheckUtils]: 23: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:54,401 INFO L272 TraceCheckUtils]: 22: Hoare triple {6773#(<= main_~y~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:54,401 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6411#true} {6773#(<= main_~y~0 1)} #98#return; {6773#(<= main_~y~0 1)} is VALID [2022-04-28 05:51:54,401 INFO L290 TraceCheckUtils]: 20: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:54,401 INFO L290 TraceCheckUtils]: 19: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:54,401 INFO L290 TraceCheckUtils]: 18: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:54,401 INFO L272 TraceCheckUtils]: 17: Hoare triple {6773#(<= main_~y~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:54,402 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} {6411#true} #96#return; {6773#(<= main_~y~0 1)} is VALID [2022-04-28 05:51:54,402 INFO L290 TraceCheckUtils]: 15: Hoare triple {6459#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:54,402 INFO L290 TraceCheckUtils]: 14: Hoare triple {6816#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {6459#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:51:54,403 INFO L290 TraceCheckUtils]: 13: Hoare triple {6411#true} ~cond := #in~cond; {6816#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:51:54,403 INFO L272 TraceCheckUtils]: 12: Hoare triple {6411#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:54,403 INFO L290 TraceCheckUtils]: 11: Hoare triple {6411#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6411#true} is VALID [2022-04-28 05:51:54,403 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6411#true} {6411#true} #94#return; {6411#true} is VALID [2022-04-28 05:51:54,403 INFO L290 TraceCheckUtils]: 9: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:54,403 INFO L290 TraceCheckUtils]: 8: Hoare triple {6411#true} assume !(0 == ~cond); {6411#true} is VALID [2022-04-28 05:51:54,403 INFO L290 TraceCheckUtils]: 7: Hoare triple {6411#true} ~cond := #in~cond; {6411#true} is VALID [2022-04-28 05:51:54,403 INFO L272 TraceCheckUtils]: 6: Hoare triple {6411#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {6411#true} is VALID [2022-04-28 05:51:54,403 INFO L290 TraceCheckUtils]: 5: Hoare triple {6411#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6411#true} is VALID [2022-04-28 05:51:54,403 INFO L272 TraceCheckUtils]: 4: Hoare triple {6411#true} call #t~ret6 := main(); {6411#true} is VALID [2022-04-28 05:51:54,403 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6411#true} {6411#true} #112#return; {6411#true} is VALID [2022-04-28 05:51:54,403 INFO L290 TraceCheckUtils]: 2: Hoare triple {6411#true} assume true; {6411#true} is VALID [2022-04-28 05:51:54,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {6411#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); {6411#true} is VALID [2022-04-28 05:51:54,403 INFO L272 TraceCheckUtils]: 0: Hoare triple {6411#true} call ULTIMATE.init(); {6411#true} is VALID [2022-04-28 05:51:54,404 INFO L134 CoverageAnalysis]: Checked inductivity of 85 backedges. 24 proven. 6 refuted. 0 times theorem prover too weak. 55 trivial. 0 not checked. [2022-04-28 05:51:54,404 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:51:54,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [480004787] [2022-04-28 05:51:54,404 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:51:54,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [969936899] [2022-04-28 05:51:54,404 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [969936899] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:51:54,404 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:51:54,404 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 16 [2022-04-28 05:51:54,404 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:51:54,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2071840062] [2022-04-28 05:51:54,404 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2071840062] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:51:54,404 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:51:54,404 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:51:54,404 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [529037851] [2022-04-28 05:51:54,404 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:51:54,405 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 72 [2022-04-28 05:51:54,405 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:51:54,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:51:54,440 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:54,440 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:51:54,440 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:54,440 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:51:54,440 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:51:54,440 INFO L87 Difference]: Start difference. First operand 144 states and 205 transitions. Second operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:51:55,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:55,344 INFO L93 Difference]: Finished difference Result 202 states and 283 transitions. [2022-04-28 05:51:55,344 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:51:55,344 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 72 [2022-04-28 05:51:55,345 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:51:55,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:51:55,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2022-04-28 05:51:55,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:51:55,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2022-04-28 05:51:55,347 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 106 transitions. [2022-04-28 05:51:55,422 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:55,423 INFO L225 Difference]: With dead ends: 202 [2022-04-28 05:51:55,423 INFO L226 Difference]: Without dead ends: 113 [2022-04-28 05:51:55,424 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 128 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=109, Invalid=397, Unknown=0, NotChecked=0, Total=506 [2022-04-28 05:51:55,425 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 38 mSDsluCounter, 215 mSDsCounter, 0 mSdLazyCounter, 189 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 257 SdHoareTripleChecker+Invalid, 214 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 189 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:51:55,425 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [42 Valid, 257 Invalid, 214 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 189 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:51:55,425 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-28 05:51:55,752 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 111. [2022-04-28 05:51:55,752 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:51:55,752 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:51:55,752 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:51:55,752 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:51:55,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:55,755 INFO L93 Difference]: Finished difference Result 113 states and 153 transitions. [2022-04-28 05:51:55,755 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 153 transitions. [2022-04-28 05:51:55,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:55,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:55,756 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 113 states. [2022-04-28 05:51:55,756 INFO L87 Difference]: Start difference. First operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 113 states. [2022-04-28 05:51:55,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:51:55,759 INFO L93 Difference]: Finished difference Result 113 states and 153 transitions. [2022-04-28 05:51:55,759 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 153 transitions. [2022-04-28 05:51:55,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:51:55,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:51:55,759 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:51:55,759 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:51:55,759 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 64 states have (on average 1.171875) internal successors, (75), 65 states have internal predecessors, (75), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:51:55,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 151 transitions. [2022-04-28 05:51:55,762 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 151 transitions. Word has length 72 [2022-04-28 05:51:55,762 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:51:55,762 INFO L495 AbstractCegarLoop]: Abstraction has 111 states and 151 transitions. [2022-04-28 05:51:55,762 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (12), 2 states have call predecessors, (12), 3 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:51:55,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 111 states and 151 transitions. [2022-04-28 05:51:55,986 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:51:55,987 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 151 transitions. [2022-04-28 05:51:55,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 05:51:55,987 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:51:55,987 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:51:56,004 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 05:51:56,187 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 05:51:56,188 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:51:56,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:51:56,188 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-28 05:51:56,188 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:51:56,188 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [209330226] [2022-04-28 05:51:56,189 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:51:56,189 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-28 05:51:56,189 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:51:56,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [316199793] [2022-04-28 05:51:56,189 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:51:56,189 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:51:56,199 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:51:56,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1764945899] [2022-04-28 05:51:56,199 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:51:56,199 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:51:56,199 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:51:56,200 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 05:51:56,201 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 05:51:56,244 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:51:56,244 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:51:56,245 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 05:51:56,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:51:56,259 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:00,043 INFO L272 TraceCheckUtils]: 0: Hoare triple {7724#true} call ULTIMATE.init(); {7724#true} is VALID [2022-04-28 05:52:00,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {7724#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); {7724#true} is VALID [2022-04-28 05:52:00,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,044 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7724#true} {7724#true} #112#return; {7724#true} is VALID [2022-04-28 05:52:00,044 INFO L272 TraceCheckUtils]: 4: Hoare triple {7724#true} call #t~ret6 := main(); {7724#true} is VALID [2022-04-28 05:52:00,044 INFO L290 TraceCheckUtils]: 5: Hoare triple {7724#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7724#true} is VALID [2022-04-28 05:52:00,044 INFO L272 TraceCheckUtils]: 6: Hoare triple {7724#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {7724#true} ~cond := #in~cond; {7750#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:52:00,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {7750#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:00,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:00,045 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} {7724#true} #94#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 05:52:00,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 05:52:00,045 INFO L272 TraceCheckUtils]: 12: Hoare triple {7761#(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)); {7724#true} is VALID [2022-04-28 05:52:00,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,046 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7724#true} {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #96#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 05:52:00,046 INFO L272 TraceCheckUtils]: 17: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,046 INFO L290 TraceCheckUtils]: 18: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,046 INFO L290 TraceCheckUtils]: 19: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,046 INFO L290 TraceCheckUtils]: 20: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,047 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7724#true} {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #98#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 05:52:00,047 INFO L272 TraceCheckUtils]: 22: Hoare triple {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,047 INFO L290 TraceCheckUtils]: 23: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,047 INFO L290 TraceCheckUtils]: 24: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,047 INFO L290 TraceCheckUtils]: 25: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,047 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7724#true} {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} #100#return; {7761#(and (<= 0 main_~x~0) (<= main_~x~0 1))} is VALID [2022-04-28 05:52:00,047 INFO L290 TraceCheckUtils]: 27: Hoare triple {7761#(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; {7813#(<= main_~a~0 1)} is VALID [2022-04-28 05:52:00,048 INFO L290 TraceCheckUtils]: 28: Hoare triple {7813#(<= main_~a~0 1)} assume !false; {7813#(<= main_~a~0 1)} is VALID [2022-04-28 05:52:00,048 INFO L290 TraceCheckUtils]: 29: Hoare triple {7813#(<= main_~a~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7820#(<= main_~c~0 1)} is VALID [2022-04-28 05:52:00,048 INFO L290 TraceCheckUtils]: 30: Hoare triple {7820#(<= main_~c~0 1)} assume !false; {7820#(<= main_~c~0 1)} is VALID [2022-04-28 05:52:00,049 INFO L290 TraceCheckUtils]: 31: Hoare triple {7820#(<= main_~c~0 1)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,049 INFO L290 TraceCheckUtils]: 32: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} assume !false; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,049 INFO L272 TraceCheckUtils]: 33: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,049 INFO L290 TraceCheckUtils]: 34: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,049 INFO L290 TraceCheckUtils]: 35: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,049 INFO L290 TraceCheckUtils]: 36: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,050 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #102#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,050 INFO L272 TraceCheckUtils]: 38: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,050 INFO L290 TraceCheckUtils]: 39: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,050 INFO L290 TraceCheckUtils]: 40: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,050 INFO L290 TraceCheckUtils]: 41: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,050 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #104#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,050 INFO L272 TraceCheckUtils]: 43: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,051 INFO L290 TraceCheckUtils]: 44: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,051 INFO L290 TraceCheckUtils]: 45: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,051 INFO L290 TraceCheckUtils]: 46: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,051 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #106#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,051 INFO L272 TraceCheckUtils]: 48: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,051 INFO L290 TraceCheckUtils]: 49: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,051 INFO L290 TraceCheckUtils]: 50: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,051 INFO L290 TraceCheckUtils]: 51: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,052 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7724#true} {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} #108#return; {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,053 INFO L290 TraceCheckUtils]: 53: Hoare triple {7827#(and (<= main_~b~0 main_~v~0) (<= main_~c~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,053 INFO L290 TraceCheckUtils]: 54: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} assume !false; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,053 INFO L272 TraceCheckUtils]: 55: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,053 INFO L290 TraceCheckUtils]: 56: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,053 INFO L290 TraceCheckUtils]: 57: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,053 INFO L290 TraceCheckUtils]: 58: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,054 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #102#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,054 INFO L272 TraceCheckUtils]: 60: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,054 INFO L290 TraceCheckUtils]: 61: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,054 INFO L290 TraceCheckUtils]: 62: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,054 INFO L290 TraceCheckUtils]: 63: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,055 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #104#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,055 INFO L272 TraceCheckUtils]: 65: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,055 INFO L290 TraceCheckUtils]: 66: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,055 INFO L290 TraceCheckUtils]: 67: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,055 INFO L290 TraceCheckUtils]: 68: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,055 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #106#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,055 INFO L272 TraceCheckUtils]: 70: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,055 INFO L290 TraceCheckUtils]: 71: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,056 INFO L290 TraceCheckUtils]: 72: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,056 INFO L290 TraceCheckUtils]: 73: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,056 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {7724#true} {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} #108#return; {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,056 INFO L290 TraceCheckUtils]: 75: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} assume !(~c~0 >= 2 * ~v~0); {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} is VALID [2022-04-28 05:52:00,057 INFO L290 TraceCheckUtils]: 76: Hoare triple {7894#(and (<= (div (- main_~v~0) (- 2)) (div main_~c~0 2)) (<= main_~b~0 (div main_~c~0 2)) (<= main_~c~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} is VALID [2022-04-28 05:52:00,057 INFO L290 TraceCheckUtils]: 77: Hoare triple {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} assume !false; {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} is VALID [2022-04-28 05:52:00,058 INFO L290 TraceCheckUtils]: 78: Hoare triple {7964#(and (<= (div main_~c~0 (- 2)) 0) (<= main_~b~0 0))} assume !(~c~0 >= ~b~0); {7725#false} is VALID [2022-04-28 05:52:00,058 INFO L290 TraceCheckUtils]: 79: Hoare triple {7725#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; {7725#false} is VALID [2022-04-28 05:52:00,058 INFO L290 TraceCheckUtils]: 80: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-28 05:52:00,058 INFO L290 TraceCheckUtils]: 81: Hoare triple {7725#false} assume !(0 != ~b~0); {7725#false} is VALID [2022-04-28 05:52:00,058 INFO L272 TraceCheckUtils]: 82: Hoare triple {7725#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7725#false} is VALID [2022-04-28 05:52:00,058 INFO L290 TraceCheckUtils]: 83: Hoare triple {7725#false} ~cond := #in~cond; {7725#false} is VALID [2022-04-28 05:52:00,058 INFO L290 TraceCheckUtils]: 84: Hoare triple {7725#false} assume 0 == ~cond; {7725#false} is VALID [2022-04-28 05:52:00,058 INFO L290 TraceCheckUtils]: 85: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-28 05:52:00,058 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 18 proven. 17 refuted. 0 times theorem prover too weak. 127 trivial. 0 not checked. [2022-04-28 05:52:00,058 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:52:00,739 INFO L290 TraceCheckUtils]: 85: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-28 05:52:00,739 INFO L290 TraceCheckUtils]: 84: Hoare triple {7725#false} assume 0 == ~cond; {7725#false} is VALID [2022-04-28 05:52:00,739 INFO L290 TraceCheckUtils]: 83: Hoare triple {7725#false} ~cond := #in~cond; {7725#false} is VALID [2022-04-28 05:52:00,739 INFO L272 TraceCheckUtils]: 82: Hoare triple {7725#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7725#false} is VALID [2022-04-28 05:52:00,739 INFO L290 TraceCheckUtils]: 81: Hoare triple {7725#false} assume !(0 != ~b~0); {7725#false} is VALID [2022-04-28 05:52:00,739 INFO L290 TraceCheckUtils]: 80: Hoare triple {7725#false} assume !false; {7725#false} is VALID [2022-04-28 05:52:00,739 INFO L290 TraceCheckUtils]: 79: Hoare triple {7725#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; {7725#false} is VALID [2022-04-28 05:52:00,740 INFO L290 TraceCheckUtils]: 78: Hoare triple {8013#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {7725#false} is VALID [2022-04-28 05:52:00,740 INFO L290 TraceCheckUtils]: 77: Hoare triple {8013#(<= main_~b~0 main_~c~0)} assume !false; {8013#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:52:00,740 INFO L290 TraceCheckUtils]: 76: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8013#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 05:52:00,741 INFO L290 TraceCheckUtils]: 75: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-28 05:52:00,741 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #108#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-28 05:52:00,741 INFO L290 TraceCheckUtils]: 73: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,741 INFO L290 TraceCheckUtils]: 72: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,741 INFO L290 TraceCheckUtils]: 71: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,741 INFO L272 TraceCheckUtils]: 70: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,742 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #106#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-28 05:52:00,743 INFO L290 TraceCheckUtils]: 68: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,743 INFO L290 TraceCheckUtils]: 67: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,743 INFO L290 TraceCheckUtils]: 66: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,743 INFO L272 TraceCheckUtils]: 65: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,743 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #104#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-28 05:52:00,743 INFO L290 TraceCheckUtils]: 63: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,743 INFO L290 TraceCheckUtils]: 62: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,743 INFO L290 TraceCheckUtils]: 61: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,743 INFO L272 TraceCheckUtils]: 60: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,744 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {7724#true} {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} #102#return; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-28 05:52:00,744 INFO L290 TraceCheckUtils]: 58: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,744 INFO L290 TraceCheckUtils]: 57: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,744 INFO L290 TraceCheckUtils]: 56: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,744 INFO L272 TraceCheckUtils]: 55: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,744 INFO L290 TraceCheckUtils]: 54: Hoare triple {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} assume !false; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-28 05:52:00,745 INFO L290 TraceCheckUtils]: 53: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {8020#(<= (+ main_~b~0 main_~v~0) main_~c~0)} is VALID [2022-04-28 05:52:00,746 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #108#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 05:52:00,746 INFO L290 TraceCheckUtils]: 51: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,746 INFO L290 TraceCheckUtils]: 50: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,747 INFO L290 TraceCheckUtils]: 49: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,747 INFO L272 TraceCheckUtils]: 48: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,752 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #106#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 05:52:00,752 INFO L290 TraceCheckUtils]: 46: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,752 INFO L290 TraceCheckUtils]: 45: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,752 INFO L290 TraceCheckUtils]: 44: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,752 INFO L272 TraceCheckUtils]: 43: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,767 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #104#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 05:52:00,768 INFO L290 TraceCheckUtils]: 41: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,768 INFO L290 TraceCheckUtils]: 40: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,768 INFO L290 TraceCheckUtils]: 39: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,768 INFO L272 TraceCheckUtils]: 38: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,768 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7724#true} {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} #102#return; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 05:52:00,768 INFO L290 TraceCheckUtils]: 36: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,768 INFO L290 TraceCheckUtils]: 35: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,769 INFO L290 TraceCheckUtils]: 34: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,769 INFO L272 TraceCheckUtils]: 33: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,769 INFO L290 TraceCheckUtils]: 32: Hoare triple {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} assume !false; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 05:52:00,770 INFO L290 TraceCheckUtils]: 31: Hoare triple {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8090#(or (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 05:52:00,770 INFO L290 TraceCheckUtils]: 30: Hoare triple {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} assume !false; {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} is VALID [2022-04-28 05:52:00,771 INFO L290 TraceCheckUtils]: 29: Hoare triple {7813#(<= main_~a~0 1)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8157#(<= (div main_~c~0 2) (+ (div (+ (- 2) (* (- 1) (div main_~c~0 2)) main_~c~0) 2) 1))} is VALID [2022-04-28 05:52:00,771 INFO L290 TraceCheckUtils]: 28: Hoare triple {7813#(<= main_~a~0 1)} assume !false; {7813#(<= main_~a~0 1)} is VALID [2022-04-28 05:52:00,772 INFO L290 TraceCheckUtils]: 27: Hoare triple {8170#(<= main_~x~0 1)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7813#(<= main_~a~0 1)} is VALID [2022-04-28 05:52:00,772 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7724#true} {8170#(<= main_~x~0 1)} #100#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-28 05:52:00,772 INFO L290 TraceCheckUtils]: 25: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,772 INFO L290 TraceCheckUtils]: 24: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,772 INFO L290 TraceCheckUtils]: 23: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,772 INFO L272 TraceCheckUtils]: 22: Hoare triple {8170#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,772 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7724#true} {8170#(<= main_~x~0 1)} #98#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-28 05:52:00,773 INFO L290 TraceCheckUtils]: 20: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,773 INFO L290 TraceCheckUtils]: 19: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,773 INFO L290 TraceCheckUtils]: 18: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,773 INFO L272 TraceCheckUtils]: 17: Hoare triple {8170#(<= main_~x~0 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,773 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7724#true} {8170#(<= main_~x~0 1)} #96#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-28 05:52:00,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {7724#true} assume !(0 == ~cond); {7724#true} is VALID [2022-04-28 05:52:00,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {7724#true} ~cond := #in~cond; {7724#true} is VALID [2022-04-28 05:52:00,773 INFO L272 TraceCheckUtils]: 12: Hoare triple {8170#(<= main_~x~0 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,776 INFO L290 TraceCheckUtils]: 11: Hoare triple {8170#(<= main_~x~0 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8170#(<= main_~x~0 1)} is VALID [2022-04-28 05:52:00,777 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} {7724#true} #94#return; {8170#(<= main_~x~0 1)} is VALID [2022-04-28 05:52:00,777 INFO L290 TraceCheckUtils]: 9: Hoare triple {7754#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:00,777 INFO L290 TraceCheckUtils]: 8: Hoare triple {8231#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {7754#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:00,777 INFO L290 TraceCheckUtils]: 7: Hoare triple {7724#true} ~cond := #in~cond; {8231#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:52:00,777 INFO L272 TraceCheckUtils]: 6: Hoare triple {7724#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 1 then 1 else 0)); {7724#true} is VALID [2022-04-28 05:52:00,778 INFO L290 TraceCheckUtils]: 5: Hoare triple {7724#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;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7724#true} is VALID [2022-04-28 05:52:00,778 INFO L272 TraceCheckUtils]: 4: Hoare triple {7724#true} call #t~ret6 := main(); {7724#true} is VALID [2022-04-28 05:52:00,778 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7724#true} {7724#true} #112#return; {7724#true} is VALID [2022-04-28 05:52:00,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {7724#true} assume true; {7724#true} is VALID [2022-04-28 05:52:00,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {7724#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); {7724#true} is VALID [2022-04-28 05:52:00,778 INFO L272 TraceCheckUtils]: 0: Hoare triple {7724#true} call ULTIMATE.init(); {7724#true} is VALID [2022-04-28 05:52:00,778 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 18 proven. 17 refuted. 0 times theorem prover too weak. 127 trivial. 0 not checked. [2022-04-28 05:52:00,778 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:00,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [316199793] [2022-04-28 05:52:00,778 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:00,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1764945899] [2022-04-28 05:52:00,778 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1764945899] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:52:00,778 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:52:00,779 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 05:52:00,779 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:00,779 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [209330226] [2022-04-28 05:52:00,779 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [209330226] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:00,779 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:00,779 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 05:52:00,779 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1581288781] [2022-04-28 05:52:00,779 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:00,779 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-28 05:52:00,780 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:00,780 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:52:00,823 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:00,823 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 05:52:00,823 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:00,823 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 05:52:00,823 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=198, Unknown=0, NotChecked=0, Total=240 [2022-04-28 05:52:00,823 INFO L87 Difference]: Start difference. First operand 111 states and 151 transitions. Second operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:52:01,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:01,505 INFO L93 Difference]: Finished difference Result 127 states and 163 transitions. [2022-04-28 05:52:01,505 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:52:01,505 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-28 05:52:01,505 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:01,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:52:01,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-28 05:52:01,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:52:01,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2022-04-28 05:52:01,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2022-04-28 05:52:01,562 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:01,562 INFO L225 Difference]: With dead ends: 127 [2022-04-28 05:52:01,562 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 05:52:01,563 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 176 GetRequests, 156 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=337, Unknown=0, NotChecked=0, Total=420 [2022-04-28 05:52:01,563 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 17 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 168 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 199 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 168 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:52:01,563 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 174 Invalid, 199 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 168 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:52:01,564 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 05:52:01,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 05:52:01,564 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:01,564 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 05:52:01,564 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 05:52:01,564 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 05:52:01,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:01,564 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 05:52:01,564 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 05:52:01,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:01,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:01,564 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 05:52:01,564 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 05:52:01,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:01,564 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 05:52:01,564 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 05:52:01,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:01,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:01,565 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:01,565 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:01,565 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 05:52:01,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 05:52:01,565 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2022-04-28 05:52:01,565 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:01,565 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 05:52:01,565 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.1) internal successors, (31), 10 states have internal predecessors, (31), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-28 05:52:01,565 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 05:52:01,565 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 05:52:01,565 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 05:52:01,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:01,567 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 05:52:01,583 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 05:52:01,783 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 05:52:01,785 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 05:52:03,500 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-28 05:52:03,500 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-28 05:52:03,500 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-28 05:52:03,500 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-28 05:52:03,501 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 05:52:03,501 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 05:52:03,501 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 05:52:03,501 INFO L895 garLoopResultBuilder]: At program point L35-2(lines 35 73) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 1))) (or (and (= (+ main_~s~0 main_~r~0) 0) (< main_~c~0 1) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 1) (= main_~p~0 0) .cse0 (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (<= 0 main_~c~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)) (<= 0 main_~b~0)) (and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) .cse0 (<= 1 main_~a~0) (= 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 05:52:03,501 INFO L895 garLoopResultBuilder]: At program point L35-3(lines 35 73) the Hoare annotation is: (or (and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1)) (and (= (+ main_~s~0 main_~r~0) 0) (<= 1 main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (<= main_~x~0 1) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)) (<= main_~y~0 1))) [2022-04-28 05:52:03,501 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 18 76) the Hoare annotation is: true [2022-04-28 05:52:03,501 INFO L895 garLoopResultBuilder]: At program point L52(line 52) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-28 05:52:03,501 INFO L895 garLoopResultBuilder]: At program point L36(lines 36 37) the Hoare annotation is: (let ((.cse0 (<= main_~x~0 1))) (or (and (= (+ main_~s~0 main_~r~0) 0) (< main_~c~0 1) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 1) (= main_~p~0 0) .cse0 (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (<= 0 main_~c~0) (< (div (+ (- 1) (* (- 1) main_~a~0)) (- 2)) (+ main_~a~0 1)) (<= 0 main_~b~0)) (and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~s~0 1) .cse0 (<= 1 main_~a~0) (= 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 05:52:03,501 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 05:52:03,501 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 05:52:03,501 INFO L895 garLoopResultBuilder]: At program point L53(lines 49 59) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-28 05:52:03,501 INFO L895 garLoopResultBuilder]: At program point L49-2(lines 49 59) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-28 05:52:03,501 INFO L895 garLoopResultBuilder]: At program point L49-3(lines 49 59) the Hoare annotation is: (and (= main_~r~0 0) (<= main_~c~0 main_~x~0) (= main_~k~0 0) (<= main_~v~0 main_~c~0) (= main_~s~0 1) (<= main_~x~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~a~0 main_~x~0) (< (div (+ (- 1) (* (- 1) main_~b~0)) (- 2)) (+ main_~b~0 1)) (<= main_~y~0 1) (= main_~p~0 1)) [2022-04-28 05:52:03,501 INFO L902 garLoopResultBuilder]: At program point L74(line 74) the Hoare annotation is: true [2022-04-28 05:52:03,501 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 05:52:03,502 INFO L895 garLoopResultBuilder]: At program point L50(line 50) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-28 05:52:03,502 INFO L895 garLoopResultBuilder]: At program point L50-1(line 50) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-28 05:52:03,502 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 18 76) the Hoare annotation is: true [2022-04-28 05:52:03,502 INFO L895 garLoopResultBuilder]: At program point L42-2(lines 42 62) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= main_~x~0 1)) (.cse3 (<= 1 main_~a~0)) (.cse4 (= main_~b~0 main_~y~0)) (.cse5 (= main_~q~0 0)) (.cse6 (= main_~a~0 main_~x~0)) (.cse7 (<= main_~y~0 1)) (.cse8 (= main_~p~0 1))) (or (and (<= 0 main_~y~0) .cse0 (<= 1 main_~c~0) (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~c~0 1) .cse7 .cse8) (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 (<= main_~v~0 main_~b~0) .cse1 .cse2 .cse3 (<= 0 main_~c~0) .cse4 (= main_~k~0 1) .cse5 (< main_~c~0 main_~b~0) .cse6 .cse7 .cse8))) [2022-04-28 05:52:03,502 INFO L895 garLoopResultBuilder]: At program point L42-3(lines 42 62) the Hoare annotation is: (and (= main_~r~0 0) (<= main_~v~0 main_~b~0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (<= main_~x~0 1) (<= main_~a~0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~p~0 1)) [2022-04-28 05:52:03,502 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 18 76) the Hoare annotation is: true [2022-04-28 05:52:03,502 INFO L895 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~x~0 1) (<= main_~y~0 1)) [2022-04-28 05:52:03,502 INFO L902 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-28 05:52:03,502 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 05:52:03,502 INFO L895 garLoopResultBuilder]: At program point L51(line 51) the Hoare annotation is: (let ((.cse0 (<= 0 main_~y~0)) (.cse1 (= main_~r~0 0)) (.cse2 (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (.cse3 (= main_~k~0 0)) (.cse4 (= main_~s~0 1)) (.cse5 (<= 1 main_~a~0)) (.cse6 (= main_~b~0 main_~y~0)) (.cse7 (= main_~q~0 0)) (.cse8 (= main_~a~0 main_~x~0)) (.cse9 (<= main_~c~0 1)) (.cse10 (= main_~p~0 1))) (or (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 .cse1 .cse2 .cse3 .cse4 (<= main_~b~0 (div main_~c~0 2)) .cse5 .cse6 .cse7 .cse8 .cse9 .cse10) (and .cse0 .cse1 (<= main_~v~0 main_~b~0) .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~b~0 main_~v~0) (= main_~d~0 1) .cse7 .cse8 .cse9 (<= main_~y~0 1) .cse10))) [2022-04-28 05:52:03,502 INFO L895 garLoopResultBuilder]: At program point L43(lines 43 44) the Hoare annotation is: (let ((.cse0 (= main_~r~0 0)) (.cse1 (= main_~s~0 1)) (.cse2 (<= main_~x~0 1)) (.cse3 (<= 1 main_~a~0)) (.cse4 (= main_~b~0 main_~y~0)) (.cse5 (= main_~q~0 0)) (.cse6 (= main_~a~0 main_~x~0)) (.cse7 (<= main_~y~0 1)) (.cse8 (= main_~p~0 1))) (or (and (<= 0 main_~y~0) .cse0 (<= 1 main_~c~0) (= main_~k~0 0) .cse1 .cse2 .cse3 .cse4 .cse5 .cse6 (<= main_~c~0 1) .cse7 .cse8) (and (= main_~v~0 (* main_~d~0 main_~b~0)) .cse0 (<= main_~v~0 main_~b~0) .cse1 .cse2 .cse3 (<= 0 main_~c~0) .cse4 (= main_~k~0 1) .cse5 (< main_~c~0 main_~b~0) .cse6 .cse7 .cse8))) [2022-04-28 05:52:03,502 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 05:52:03,502 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 05:52:03,502 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 05:52:03,502 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 05:52:03,502 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 05:52:03,502 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 05:52:03,502 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 05:52:03,503 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-28 05:52:03,503 INFO L895 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 05:52:03,503 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 05:52:03,503 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 05:52:03,503 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 05:52:03,503 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 05:52:03,505 INFO L356 BasicCegarLoop]: Path program histogram: [4, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-28 05:52:03,506 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 05:52:03,508 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 05:52:03,512 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 05:52:03,564 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 05:52:03,573 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 05:52:03 BoogieIcfgContainer [2022-04-28 05:52:03,573 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 05:52:03,574 INFO L158 Benchmark]: Toolchain (without parser) took 39032.41ms. Allocated memory was 186.6MB in the beginning and 285.2MB in the end (delta: 98.6MB). Free memory was 130.3MB in the beginning and 98.2MB in the end (delta: 32.1MB). Peak memory consumption was 141.5MB. Max. memory is 8.0GB. [2022-04-28 05:52:03,574 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 186.6MB. Free memory is still 147.1MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 05:52:03,574 INFO L158 Benchmark]: CACSL2BoogieTranslator took 198.75ms. Allocated memory was 186.6MB in the beginning and 237.0MB in the end (delta: 50.3MB). Free memory was 130.1MB in the beginning and 208.0MB in the end (delta: -77.8MB). Peak memory consumption was 6.0MB. Max. memory is 8.0GB. [2022-04-28 05:52:03,574 INFO L158 Benchmark]: Boogie Preprocessor took 20.36ms. Allocated memory is still 237.0MB. Free memory was 208.0MB in the beginning and 206.4MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 05:52:03,575 INFO L158 Benchmark]: RCFGBuilder took 257.77ms. Allocated memory is still 237.0MB. Free memory was 206.4MB in the beginning and 192.8MB in the end (delta: 13.6MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-28 05:52:03,575 INFO L158 Benchmark]: TraceAbstraction took 38550.39ms. Allocated memory was 237.0MB in the beginning and 285.2MB in the end (delta: 48.2MB). Free memory was 192.2MB in the beginning and 98.2MB in the end (delta: 94.0MB). Peak memory consumption was 154.3MB. Max. memory is 8.0GB. [2022-04-28 05:52:03,576 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.09ms. Allocated memory is still 186.6MB. Free memory is still 147.1MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 198.75ms. Allocated memory was 186.6MB in the beginning and 237.0MB in the end (delta: 50.3MB). Free memory was 130.1MB in the beginning and 208.0MB in the end (delta: -77.8MB). Peak memory consumption was 6.0MB. Max. memory is 8.0GB. * Boogie Preprocessor took 20.36ms. Allocated memory is still 237.0MB. Free memory was 208.0MB in the beginning and 206.4MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 257.77ms. Allocated memory is still 237.0MB. Free memory was 206.4MB in the beginning and 192.8MB in the end (delta: 13.6MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * TraceAbstraction took 38550.39ms. Allocated memory was 237.0MB in the beginning and 285.2MB in the end (delta: 48.2MB). Free memory was 192.2MB in the beginning and 98.2MB in the end (delta: 94.0MB). Peak memory consumption was 154.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: 38.4s, OverallIterations: 10, TraceHistogramMax: 9, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 8.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.7s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 405 SdHoareTripleChecker+Valid, 1.9s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 359 mSDsluCounter, 1830 SdHoareTripleChecker+Invalid, 1.9s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1387 mSDsCounter, 243 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1632 IncrementalHoareTripleChecker+Invalid, 1875 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 243 mSolverCounterUnsat, 443 mSDtfsCounter, 1632 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1027 GetRequests, 877 SyntacticMatches, 6 SemanticMatches, 144 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 399 ImplicationChecksByTransitivity, 1.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=144occurred in iteration=8, InterpolantAutomatonStates: 87, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.5s AutomataMinimizationTime, 10 MinimizatonAttempts, 68 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 40 LocationsWithAnnotation, 658 PreInvPairs, 740 NumberOfFragments, 1206 HoareAnnotationTreeSize, 658 FomulaSimplifications, 84 FormulaSimplificationTreeSizeReduction, 0.2s HoareSimplificationTime, 40 FomulaSimplificationsInter, 2774 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: 49]: Loop Invariant Derived loop invariant: ((((((((((((v == d * b && 0 <= y) && r == 0) && a == c + b * k) && k == 0) && s == 1) && b <= c / 2) && 1 <= a) && b == y) && q == 0) && a == x) && c <= 1) && p == 1) || ((((((((((((((0 <= y && r == 0) && v <= b) && a == c + b * k) && k == 0) && s == 1) && 1 <= a) && b == y) && b <= v) && d == 1) && q == 0) && a == x) && c <= 1) && y <= 1) && p == 1) - InvariantResult [Line: 35]: Loop Invariant Derived loop invariant: (((((((((((s + r == 0 && c < 1) && q + p == 1) && b < 1) && p == 0) && x <= 1) && r == 1) && a == y) && a <= x) && 0 <= c) && (-1 + -1 * a) / -2 < a + 1) && 0 <= b) || (((((((((0 <= y && r == 0) && s == 1) && x <= 1) && 1 <= a) && b == y) && q == 0) && a == x) && y <= 1) && p == 1) - InvariantResult [Line: 42]: Loop Invariant Derived loop invariant: ((((((((((((0 <= y && r == 0) && 1 <= c) && k == 0) && s == 1) && x <= 1) && 1 <= a) && b == y) && q == 0) && a == x) && c <= 1) && y <= 1) && p == 1) || (((((((((((((v == d * b && r == 0) && v <= b) && s == 1) && x <= 1) && 1 <= a) && 0 <= c) && b == y) && k == 1) && q == 0) && c < b) && a == x) && y <= 1) && p == 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 05:52:03,602 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...