/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/egcd-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 05:41:16,301 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 05:41:16,304 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 05:41:16,324 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 05:41:16,325 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 05:41:16,325 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 05:41:16,326 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 05:41:16,333 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 05:41:16,335 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 05:41:16,337 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 05:41:16,337 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 05:41:16,338 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 05:41:16,338 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 05:41:16,339 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 05:41:16,339 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 05:41:16,341 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 05:41:16,341 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 05:41:16,342 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 05:41:16,342 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 05:41:16,343 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 05:41:16,344 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 05:41:16,347 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 05:41:16,348 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 05:41:16,349 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 05:41:16,350 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 05:41:16,355 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 05:41:16,355 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 05:41:16,356 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 05:41:16,356 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 05:41:16,356 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 05:41:16,357 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 05:41:16,357 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 05:41:16,357 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 05:41:16,358 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 05:41:16,358 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 05:41:16,358 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 05:41:16,359 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 05:41:16,359 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 05:41:16,359 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 05:41:16,359 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 05:41:16,360 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 05:41:16,360 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 05:41:16,361 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 05:41:16,366 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 05:41:16,366 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 05:41:16,367 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 05:41:16,367 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 05:41:16,367 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 05:41:16,368 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 05:41:16,368 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 05:41:16,368 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 05:41:16,368 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 05:41:16,368 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 05:41:16,368 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 05:41:16,368 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 05:41:16,368 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 05:41:16,369 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 05:41:16,369 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 05:41:16,369 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 05:41:16,369 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 05:41:16,369 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 05:41:16,369 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:41:16,369 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 05:41:16,369 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 05:41:16,369 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 05:41:16,369 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 05:41:16,370 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 05:41:16,370 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 05:41:16,370 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 05:41:16,512 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 05:41:16,526 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 05:41:16,528 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 05:41:16,529 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 05:41:16,529 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 05:41:16,530 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound2.c [2022-04-08 05:41:16,578 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7166430b2/ecf2ff82267344dd9e60070a59405424/FLAG0b5b32dfa [2022-04-08 05:41:16,905 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 05:41:16,906 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound2.c [2022-04-08 05:41:16,910 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7166430b2/ecf2ff82267344dd9e60070a59405424/FLAG0b5b32dfa [2022-04-08 05:41:17,345 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/7166430b2/ecf2ff82267344dd9e60070a59405424 [2022-04-08 05:41:17,347 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 05:41:17,348 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 05:41:17,349 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 05:41:17,349 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 05:41:17,352 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 05:41:17,353 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:41:17" (1/1) ... [2022-04-08 05:41:17,353 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@79f565c6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:41:17, skipping insertion in model container [2022-04-08 05:41:17,354 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 05:41:17" (1/1) ... [2022-04-08 05:41:17,359 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 05:41:17,370 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 05:41:17,534 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/egcd-ll_valuebound2.c[489,502] [2022-04-08 05:41:17,561 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:41:17,570 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 05:41:17,585 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/egcd-ll_valuebound2.c[489,502] [2022-04-08 05:41:17,598 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 05:41:17,608 INFO L208 MainTranslator]: Completed translation [2022-04-08 05:41:17,608 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:41:17 WrapperNode [2022-04-08 05:41:17,609 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 05:41:17,609 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 05:41:17,609 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 05:41:17,609 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 05:41:17,617 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:41:17" (1/1) ... [2022-04-08 05:41:17,617 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:41:17" (1/1) ... [2022-04-08 05:41:17,624 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:41:17" (1/1) ... [2022-04-08 05:41:17,624 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:41:17" (1/1) ... [2022-04-08 05:41:17,639 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:41:17" (1/1) ... [2022-04-08 05:41:17,641 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:41:17" (1/1) ... [2022-04-08 05:41:17,642 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:41:17" (1/1) ... [2022-04-08 05:41:17,643 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 05:41:17,644 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 05:41:17,644 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 05:41:17,644 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 05:41:17,648 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:41:17" (1/1) ... [2022-04-08 05:41:17,652 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 05:41:17,659 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:41:17,669 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 05:41:17,670 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 05:41:17,698 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 05:41:17,699 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 05:41:17,699 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 05:41:17,699 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 05:41:17,699 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 05:41:17,699 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 05:41:17,700 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 05:41:17,700 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 05:41:17,700 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 05:41:17,700 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 05:41:17,700 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 05:41:17,701 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 05:41:17,701 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 05:41:17,702 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 05:41:17,702 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 05:41:17,702 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 05:41:17,702 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 05:41:17,702 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 05:41:17,702 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 05:41:17,702 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 05:41:17,745 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 05:41:17,746 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 05:41:17,913 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 05:41:17,918 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 05:41:17,918 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 05:41:17,919 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:41:17 BoogieIcfgContainer [2022-04-08 05:41:17,919 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 05:41:17,920 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 05:41:17,920 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 05:41:17,923 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 05:41:17,923 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 05:41:17" (1/3) ... [2022-04-08 05:41:17,923 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6ff131d8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:41:17, skipping insertion in model container [2022-04-08 05:41:17,923 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 05:41:17" (2/3) ... [2022-04-08 05:41:17,923 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6ff131d8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 05:41:17, skipping insertion in model container [2022-04-08 05:41:17,924 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 05:41:17" (3/3) ... [2022-04-08 05:41:17,924 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound2.c [2022-04-08 05:41:17,927 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 05:41:17,928 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 05:41:17,953 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 05:41:17,960 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 05:41:17,960 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 05:41:17,971 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 05:41:17,976 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 05:41:17,977 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:41:17,979 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:41:17,979 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:41:17,983 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:41:17,983 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-08 05:41:17,991 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:17,991 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1474527397] [2022-04-08 05:41:17,998 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:41:17,998 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-08 05:41:18,000 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:41:18,000 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [594055834] [2022-04-08 05:41:18,000 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:41:18,001 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:41:18,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:18,120 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 05:41:18,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:18,134 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-08 05:41:18,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 05:41:18,135 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-08 05:41:18,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 05:41:18,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:18,141 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:41:18,142 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:41:18,142 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:41:18,142 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-08 05:41:18,142 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 05:41:18,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:18,147 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:41:18,148 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:41:18,148 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:41:18,148 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-08 05:41:18,148 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 05:41:18,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:18,155 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:41:18,155 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:41:18,155 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:41:18,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-08 05:41:18,156 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 05:41:18,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:18,166 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:41:18,166 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:41:18,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:41:18,167 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-08 05:41:18,167 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 05:41:18,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-08 05:41:18,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-08 05:41:18,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-08 05:41:18,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-08 05:41:18,168 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {40#true} is VALID [2022-04-08 05:41:18,168 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {40#true} is VALID [2022-04-08 05:41:18,168 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:41:18,171 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:41:18,171 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:41:18,171 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-08 05:41:18,171 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41#false} is VALID [2022-04-08 05:41:18,171 INFO L272 TraceCheckUtils]: 12: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {40#true} is VALID [2022-04-08 05:41:18,171 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:41:18,172 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:41:18,172 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:41:18,172 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-08 05:41:18,172 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-08 05:41:18,172 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:41:18,173 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:41:18,173 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:41:18,173 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-08 05:41:18,174 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-08 05:41:18,174 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-08 05:41:18,175 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-08 05:41:18,175 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-08 05:41:18,175 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-08 05:41:18,176 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-08 05:41:18,176 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-08 05:41:18,176 INFO L272 TraceCheckUtils]: 29: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {41#false} is VALID [2022-04-08 05:41:18,176 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-08 05:41:18,176 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-08 05:41:18,176 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-08 05:41:18,177 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 05:41:18,177 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:41:18,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [594055834] [2022-04-08 05:41:18,178 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [594055834] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:18,178 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:18,178 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:41:18,180 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:41:18,180 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1474527397] [2022-04-08 05:41:18,180 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1474527397] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:18,180 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:18,180 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 05:41:18,180 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2136602035] [2022-04-08 05:41:18,180 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:41:18,184 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-08 05:41:18,185 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:41:18,187 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-08 05:41:18,209 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-08 05:41:18,209 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 05:41:18,209 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:18,225 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 05:41:18,225 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 05:41:18,233 INFO L87 Difference]: Start difference. First operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) 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-08 05:41:18,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:18,409 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-08 05:41:18,409 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 05:41:18,409 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-08 05:41:18,409 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:41:18,410 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-08 05:41:18,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-08 05:41:18,417 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-08 05:41:18,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-08 05:41:18,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-08 05:41:18,542 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:41:18,553 INFO L225 Difference]: With dead ends: 67 [2022-04-08 05:41:18,553 INFO L226 Difference]: Without dead ends: 32 [2022-04-08 05:41:18,556 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 05:41:18,560 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:41:18,561 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:41:18,572 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-08 05:41:18,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-08 05:41:18,592 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:41:18,593 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 05:41:18,594 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 05:41:18,595 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 05:41:18,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:18,601 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-08 05:41:18,601 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 05:41:18,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:18,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:18,602 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-08 05:41:18,602 INFO L87 Difference]: Start difference. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-08 05:41:18,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:18,605 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-08 05:41:18,605 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 05:41:18,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:18,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:18,606 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:41:18,606 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:41:18,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-08 05:41:18,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-08 05:41:18,609 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-08 05:41:18,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:41:18,609 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-08 05:41:18,609 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-08 05:41:18,609 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-08 05:41:18,653 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:41:18,653 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-08 05:41:18,655 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-08 05:41:18,655 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:41:18,655 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:41:18,656 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 05:41:18,656 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:41:18,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:41:18,657 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-08 05:41:18,657 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:18,657 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [29175782] [2022-04-08 05:41:18,659 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:41:18,659 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-08 05:41:18,659 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:41:18,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [644567949] [2022-04-08 05:41:18,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:41:18,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:41:18,680 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:41:18,681 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [24115816] [2022-04-08 05:41:18,681 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:41:18,681 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:41:18,681 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:41:18,682 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:41:18,704 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 05:41:18,730 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 05:41:18,730 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:41:18,740 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 05:41:18,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:18,754 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:41:18,945 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-08 05:41:18,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {326#true} is VALID [2022-04-08 05:41:18,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 05:41:18,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-08 05:41:18,945 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-08 05:41:18,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {326#true} is VALID [2022-04-08 05:41:18,947 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {326#true} is VALID [2022-04-08 05:41:18,948 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 05:41:18,948 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 05:41:18,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 05:41:18,948 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-08 05:41:18,948 INFO L290 TraceCheckUtils]: 11: Hoare triple {326#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {326#true} is VALID [2022-04-08 05:41:18,948 INFO L272 TraceCheckUtils]: 12: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {326#true} is VALID [2022-04-08 05:41:18,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 05:41:18,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 05:41:18,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 05:41:18,949 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-08 05:41:18,949 INFO L272 TraceCheckUtils]: 17: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-08 05:41:18,949 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 05:41:18,949 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 05:41:18,949 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 05:41:18,952 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-08 05:41:18,952 INFO L272 TraceCheckUtils]: 22: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-08 05:41:18,952 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-08 05:41:18,953 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-08 05:41:18,953 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-08 05:41:18,953 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-08 05:41:18,953 INFO L290 TraceCheckUtils]: 27: Hoare triple {326#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:41:18,954 INFO L290 TraceCheckUtils]: 28: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 05:41:18,955 INFO L272 TraceCheckUtils]: 29: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {419#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:41:18,955 INFO L290 TraceCheckUtils]: 30: Hoare triple {419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:41:18,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-08 05:41:18,956 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-08 05:41:18,956 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 05:41:18,957 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:41:18,957 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:41:18,957 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [644567949] [2022-04-08 05:41:18,957 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:41:18,957 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [24115816] [2022-04-08 05:41:18,958 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [24115816] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:18,958 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:18,958 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:41:18,959 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:41:18,959 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [29175782] [2022-04-08 05:41:18,959 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [29175782] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:18,959 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:18,959 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:41:18,959 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [207170994] [2022-04-08 05:41:18,959 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:41:18,960 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (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 33 [2022-04-08 05:41:18,960 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:41:18,962 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 05:41:18,992 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-08 05:41:18,992 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:41:18,993 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:18,993 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:41:18,993 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:41:18,993 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 05:41:19,188 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:19,189 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-08 05:41:19,189 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:41:19,189 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (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 33 [2022-04-08 05:41:19,190 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:41:19,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 05:41:19,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 05:41:19,196 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 05:41:19,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 05:41:19,204 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 05:41:19,251 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-08 05:41:19,253 INFO L225 Difference]: With dead ends: 48 [2022-04-08 05:41:19,253 INFO L226 Difference]: Without dead ends: 46 [2022-04-08 05:41:19,254 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 05:41:19,259 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:41:19,262 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 143 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:41:19,264 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-08 05:41:19,279 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-08 05:41:19,279 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:41:19,279 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 05:41:19,280 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 05:41:19,280 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 05:41:19,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:19,292 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-08 05:41:19,292 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-08 05:41:19,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:19,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:19,293 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-08 05:41:19,294 INFO L87 Difference]: Start difference. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-08 05:41:19,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:19,296 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-08 05:41:19,296 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-08 05:41:19,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:19,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:19,297 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:41:19,297 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:41:19,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 05:41:19,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-08 05:41:19,299 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-08 05:41:19,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:41:19,300 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-08 05:41:19,300 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-08 05:41:19,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-08 05:41:19,354 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:41:19,354 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-08 05:41:19,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 05:41:19,355 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:41:19,355 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:41:19,372 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 05:41:19,571 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:41:19,571 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:41:19,572 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:41:19,572 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-08 05:41:19,572 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:19,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1907340501] [2022-04-08 05:41:19,572 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:41:19,573 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-08 05:41:19,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:41:19,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [786506757] [2022-04-08 05:41:19,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:41:19,573 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:41:19,586 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:41:19,587 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1142209812] [2022-04-08 05:41:19,587 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:41:19,587 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:41:19,587 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:41:19,588 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:41:19,589 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 05:41:19,621 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:41:19,622 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:41:19,622 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 05:41:19,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:19,635 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:41:19,807 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-08 05:41:19,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {709#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(10, 2);call #Ultimate.allocInit(12, 3); {709#true} is VALID [2022-04-08 05:41:19,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 05:41:19,808 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-08 05:41:19,808 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-08 05:41:19,808 INFO L290 TraceCheckUtils]: 5: Hoare triple {709#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {709#true} is VALID [2022-04-08 05:41:19,808 INFO L272 TraceCheckUtils]: 6: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {709#true} is VALID [2022-04-08 05:41:19,808 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 05:41:19,808 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 05:41:19,808 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 05:41:19,808 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-08 05:41:19,808 INFO L290 TraceCheckUtils]: 11: Hoare triple {709#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {709#true} is VALID [2022-04-08 05:41:19,808 INFO L272 TraceCheckUtils]: 12: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {709#true} is VALID [2022-04-08 05:41:19,809 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 05:41:19,809 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 05:41:19,809 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 05:41:19,809 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-08 05:41:19,809 INFO L272 TraceCheckUtils]: 17: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-08 05:41:19,810 INFO L290 TraceCheckUtils]: 18: Hoare triple {709#true} ~cond := #in~cond; {768#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:41:19,811 INFO L290 TraceCheckUtils]: 19: Hoare triple {768#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {772#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:41:19,811 INFO L290 TraceCheckUtils]: 20: Hoare triple {772#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {772#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:41:19,812 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {772#(not (= |assume_abort_if_not_#in~cond| 0))} {709#true} #70#return; {779#(<= 1 main_~x~0)} is VALID [2022-04-08 05:41:19,812 INFO L272 TraceCheckUtils]: 22: Hoare triple {779#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-08 05:41:19,812 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 05:41:19,812 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 05:41:19,812 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 05:41:19,812 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {779#(<= 1 main_~x~0)} #72#return; {779#(<= 1 main_~x~0)} is VALID [2022-04-08 05:41:19,813 INFO L290 TraceCheckUtils]: 27: Hoare triple {779#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:41:19,813 INFO L290 TraceCheckUtils]: 28: Hoare triple {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:41:19,813 INFO L272 TraceCheckUtils]: 29: Hoare triple {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {709#true} is VALID [2022-04-08 05:41:19,813 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-08 05:41:19,814 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-08 05:41:19,814 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-08 05:41:19,815 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {709#true} {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:41:19,816 INFO L272 TraceCheckUtils]: 34: Hoare triple {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {820#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:41:19,816 INFO L290 TraceCheckUtils]: 35: Hoare triple {820#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:41:19,817 INFO L290 TraceCheckUtils]: 36: Hoare triple {824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-08 05:41:19,817 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-08 05:41:19,817 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-08 05:41:19,817 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:41:51,392 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:41:51,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [786506757] [2022-04-08 05:41:51,392 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:41:51,393 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1142209812] [2022-04-08 05:41:51,393 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1142209812] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 05:41:51,393 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 05:41:51,393 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2022-04-08 05:41:51,393 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:41:51,393 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1907340501] [2022-04-08 05:41:51,393 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1907340501] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:51,394 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:51,394 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:41:51,394 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [469524769] [2022-04-08 05:41:51,394 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:41:51,395 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-08 05:41:51,395 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:41:51,395 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:41:51,421 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:41:51,422 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:41:51,422 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:51,422 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:41:51,422 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:41:51,423 INFO L87 Difference]: Start difference. First operand 45 states and 62 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:41:51,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:51,812 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-08 05:41:51,812 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:41:51,813 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-08 05:41:51,813 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:41:51,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:41:51,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-08 05:41:51,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:41:51,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-08 05:41:51,816 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-08 05:41:51,873 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-08 05:41:51,874 INFO L225 Difference]: With dead ends: 52 [2022-04-08 05:41:51,874 INFO L226 Difference]: Without dead ends: 50 [2022-04-08 05:41:51,875 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-08 05:41:51,875 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 20 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 127 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 134 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 127 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:41:51,876 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 161 Invalid, 134 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 127 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:41:51,876 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-08 05:41:51,906 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-08 05:41:51,906 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:41:51,906 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 05:41:51,908 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 05:41:51,910 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 05:41:51,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:51,912 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-08 05:41:51,912 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-08 05:41:51,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:51,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:51,913 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-08 05:41:51,914 INFO L87 Difference]: Start difference. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-08 05:41:51,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:51,918 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-08 05:41:51,918 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-08 05:41:51,918 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:51,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:51,919 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:41:51,919 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:41:51,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-08 05:41:51,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-08 05:41:51,922 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-08 05:41:51,923 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:41:51,923 INFO L478 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-08 05:41:51,924 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-08 05:41:51,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-08 05:41:51,977 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-08 05:41:51,977 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-08 05:41:51,978 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 05:41:51,979 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:41:51,979 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:41:52,001 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-08 05:41:52,179 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 05:41:52,180 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:41:52,180 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:41:52,180 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-08 05:41:52,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:52,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [721235891] [2022-04-08 05:41:52,181 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:41:52,181 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-08 05:41:52,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:41:52,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2131656103] [2022-04-08 05:41:52,181 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:41:52,181 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:41:52,202 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:41:52,203 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [559752302] [2022-04-08 05:41:52,203 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:41:52,203 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:41:52,203 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:41:52,216 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:41:52,216 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 05:41:52,260 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:41:52,261 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:41:52,261 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 05:41:52,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:52,271 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:41:52,469 INFO L272 TraceCheckUtils]: 0: Hoare triple {1152#true} call ULTIMATE.init(); {1152#true} is VALID [2022-04-08 05:41:52,469 INFO L290 TraceCheckUtils]: 1: Hoare triple {1152#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(10, 2);call #Ultimate.allocInit(12, 3); {1152#true} is VALID [2022-04-08 05:41:52,469 INFO L290 TraceCheckUtils]: 2: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-08 05:41:52,469 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1152#true} {1152#true} #88#return; {1152#true} is VALID [2022-04-08 05:41:52,469 INFO L272 TraceCheckUtils]: 4: Hoare triple {1152#true} call #t~ret6 := main(); {1152#true} is VALID [2022-04-08 05:41:52,469 INFO L290 TraceCheckUtils]: 5: Hoare triple {1152#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1152#true} is VALID [2022-04-08 05:41:52,469 INFO L272 TraceCheckUtils]: 6: Hoare triple {1152#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1152#true} is VALID [2022-04-08 05:41:52,470 INFO L290 TraceCheckUtils]: 7: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-08 05:41:52,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-08 05:41:52,470 INFO L290 TraceCheckUtils]: 9: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-08 05:41:52,470 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1152#true} {1152#true} #66#return; {1152#true} is VALID [2022-04-08 05:41:52,470 INFO L290 TraceCheckUtils]: 11: Hoare triple {1152#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1152#true} is VALID [2022-04-08 05:41:52,470 INFO L272 TraceCheckUtils]: 12: Hoare triple {1152#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1152#true} is VALID [2022-04-08 05:41:52,470 INFO L290 TraceCheckUtils]: 13: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-08 05:41:52,470 INFO L290 TraceCheckUtils]: 14: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-08 05:41:52,470 INFO L290 TraceCheckUtils]: 15: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-08 05:41:52,470 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1152#true} {1152#true} #68#return; {1152#true} is VALID [2022-04-08 05:41:52,470 INFO L272 TraceCheckUtils]: 17: Hoare triple {1152#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1152#true} is VALID [2022-04-08 05:41:52,471 INFO L290 TraceCheckUtils]: 18: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-08 05:41:52,471 INFO L290 TraceCheckUtils]: 19: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-08 05:41:52,471 INFO L290 TraceCheckUtils]: 20: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-08 05:41:52,471 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1152#true} {1152#true} #70#return; {1152#true} is VALID [2022-04-08 05:41:52,471 INFO L272 TraceCheckUtils]: 22: Hoare triple {1152#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1152#true} is VALID [2022-04-08 05:41:52,471 INFO L290 TraceCheckUtils]: 23: Hoare triple {1152#true} ~cond := #in~cond; {1226#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:41:52,472 INFO L290 TraceCheckUtils]: 24: Hoare triple {1226#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1230#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:41:52,472 INFO L290 TraceCheckUtils]: 25: Hoare triple {1230#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1230#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:41:52,472 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1230#(not (= |assume_abort_if_not_#in~cond| 0))} {1152#true} #72#return; {1237#(<= 1 main_~y~0)} is VALID [2022-04-08 05:41:52,473 INFO L290 TraceCheckUtils]: 27: Hoare triple {1237#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:41:52,473 INFO L290 TraceCheckUtils]: 28: Hoare triple {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:41:52,473 INFO L272 TraceCheckUtils]: 29: Hoare triple {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1152#true} is VALID [2022-04-08 05:41:52,473 INFO L290 TraceCheckUtils]: 30: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-08 05:41:52,474 INFO L290 TraceCheckUtils]: 31: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-08 05:41:52,474 INFO L290 TraceCheckUtils]: 32: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-08 05:41:52,474 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1152#true} {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #74#return; {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:41:52,474 INFO L272 TraceCheckUtils]: 34: Hoare triple {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1152#true} is VALID [2022-04-08 05:41:52,474 INFO L290 TraceCheckUtils]: 35: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-08 05:41:52,475 INFO L290 TraceCheckUtils]: 36: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-08 05:41:52,475 INFO L290 TraceCheckUtils]: 37: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-08 05:41:52,475 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1152#true} {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #76#return; {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-08 05:41:52,476 INFO L272 TraceCheckUtils]: 39: Hoare triple {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1278#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:41:52,476 INFO L290 TraceCheckUtils]: 40: Hoare triple {1278#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1282#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:41:52,477 INFO L290 TraceCheckUtils]: 41: Hoare triple {1282#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1153#false} is VALID [2022-04-08 05:41:52,477 INFO L290 TraceCheckUtils]: 42: Hoare triple {1153#false} assume !false; {1153#false} is VALID [2022-04-08 05:41:52,477 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 13 proven. 0 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 05:41:52,477 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:41:52,477 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:41:52,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2131656103] [2022-04-08 05:41:52,477 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:41:52,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [559752302] [2022-04-08 05:41:52,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [559752302] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:52,478 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:52,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:41:52,478 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:41:52,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [721235891] [2022-04-08 05:41:52,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [721235891] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:52,478 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:52,478 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:41:52,478 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1538520900] [2022-04-08 05:41:52,478 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:41:52,479 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-08 05:41:52,479 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:41:52,479 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:41:52,501 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:41:52,501 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:41:52,502 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:52,502 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:41:52,502 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:41:52,502 INFO L87 Difference]: Start difference. First operand 49 states and 65 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:41:53,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:53,111 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-08 05:41:53,111 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:41:53,111 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-08 05:41:53,111 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:41:53,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:41:53,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-08 05:41:53,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:41:53,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-08 05:41:53,114 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-08 05:41:53,164 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-08 05:41:53,166 INFO L225 Difference]: With dead ends: 74 [2022-04-08 05:41:53,166 INFO L226 Difference]: Without dead ends: 70 [2022-04-08 05:41:53,167 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-08 05:41:53,167 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 17 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 145 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 149 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 145 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:41:53,168 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 175 Invalid, 149 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 145 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:41:53,168 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-08 05:41:53,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-08 05:41:53,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:41:53,214 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:41:53,215 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:41:53,215 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:41:53,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:53,218 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-08 05:41:53,218 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-08 05:41:53,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:53,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:53,218 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-08 05:41:53,219 INFO L87 Difference]: Start difference. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-08 05:41:53,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:53,234 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-08 05:41:53,234 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-08 05:41:53,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:53,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:53,235 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:41:53,235 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:41:53,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:41:53,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-08 05:41:53,238 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-08 05:41:53,238 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:41:53,238 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-08 05:41:53,238 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-08 05:41:53,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-08 05:41:53,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:41:53,328 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-08 05:41:53,328 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-08 05:41:53,328 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:41:53,329 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:41:53,345 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 05:41:53,531 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:41:53,532 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:41:53,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:41:53,532 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-08 05:41:53,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:53,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [464376679] [2022-04-08 05:41:53,532 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:41:53,533 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-08 05:41:53,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:41:53,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [636869163] [2022-04-08 05:41:53,533 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:41:53,533 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:41:53,546 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:41:53,546 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [307403856] [2022-04-08 05:41:53,546 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:41:53,546 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:41:53,546 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:41:53,547 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:41:53,559 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 05:41:53,605 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:41:53,605 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:41:53,605 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 05:41:53,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:53,617 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:41:53,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {1720#true} call ULTIMATE.init(); {1720#true} is VALID [2022-04-08 05:41:53,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {1720#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(10, 2);call #Ultimate.allocInit(12, 3); {1720#true} is VALID [2022-04-08 05:41:53,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 05:41:53,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1720#true} {1720#true} #88#return; {1720#true} is VALID [2022-04-08 05:41:53,715 INFO L272 TraceCheckUtils]: 4: Hoare triple {1720#true} call #t~ret6 := main(); {1720#true} is VALID [2022-04-08 05:41:53,715 INFO L290 TraceCheckUtils]: 5: Hoare triple {1720#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1720#true} is VALID [2022-04-08 05:41:53,715 INFO L272 TraceCheckUtils]: 6: Hoare triple {1720#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1720#true} is VALID [2022-04-08 05:41:53,715 INFO L290 TraceCheckUtils]: 7: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 05:41:53,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 05:41:53,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 05:41:53,715 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1720#true} {1720#true} #66#return; {1720#true} is VALID [2022-04-08 05:41:53,715 INFO L290 TraceCheckUtils]: 11: Hoare triple {1720#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1720#true} is VALID [2022-04-08 05:41:53,715 INFO L272 TraceCheckUtils]: 12: Hoare triple {1720#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1720#true} is VALID [2022-04-08 05:41:53,715 INFO L290 TraceCheckUtils]: 13: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 05:41:53,715 INFO L290 TraceCheckUtils]: 14: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 05:41:53,715 INFO L290 TraceCheckUtils]: 15: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 05:41:53,716 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1720#true} {1720#true} #68#return; {1720#true} is VALID [2022-04-08 05:41:53,716 INFO L272 TraceCheckUtils]: 17: Hoare triple {1720#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1720#true} is VALID [2022-04-08 05:41:53,716 INFO L290 TraceCheckUtils]: 18: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 05:41:53,716 INFO L290 TraceCheckUtils]: 19: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 05:41:53,716 INFO L290 TraceCheckUtils]: 20: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 05:41:53,716 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1720#true} {1720#true} #70#return; {1720#true} is VALID [2022-04-08 05:41:53,716 INFO L272 TraceCheckUtils]: 22: Hoare triple {1720#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1720#true} is VALID [2022-04-08 05:41:53,716 INFO L290 TraceCheckUtils]: 23: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 05:41:53,716 INFO L290 TraceCheckUtils]: 24: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 05:41:53,716 INFO L290 TraceCheckUtils]: 25: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 05:41:53,716 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1720#true} {1720#true} #72#return; {1720#true} is VALID [2022-04-08 05:41:53,716 INFO L290 TraceCheckUtils]: 27: Hoare triple {1720#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1720#true} is VALID [2022-04-08 05:41:53,717 INFO L290 TraceCheckUtils]: 28: Hoare triple {1720#true} assume !false; {1720#true} is VALID [2022-04-08 05:41:53,717 INFO L272 TraceCheckUtils]: 29: Hoare triple {1720#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1720#true} is VALID [2022-04-08 05:41:53,717 INFO L290 TraceCheckUtils]: 30: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 05:41:53,717 INFO L290 TraceCheckUtils]: 31: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 05:41:53,717 INFO L290 TraceCheckUtils]: 32: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 05:41:53,717 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1720#true} {1720#true} #74#return; {1720#true} is VALID [2022-04-08 05:41:53,717 INFO L272 TraceCheckUtils]: 34: Hoare triple {1720#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1720#true} is VALID [2022-04-08 05:41:53,717 INFO L290 TraceCheckUtils]: 35: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 05:41:53,717 INFO L290 TraceCheckUtils]: 36: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 05:41:53,717 INFO L290 TraceCheckUtils]: 37: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 05:41:53,717 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1720#true} {1720#true} #76#return; {1720#true} is VALID [2022-04-08 05:41:53,718 INFO L272 TraceCheckUtils]: 39: Hoare triple {1720#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1720#true} is VALID [2022-04-08 05:41:53,718 INFO L290 TraceCheckUtils]: 40: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-08 05:41:53,718 INFO L290 TraceCheckUtils]: 41: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-08 05:41:53,718 INFO L290 TraceCheckUtils]: 42: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-08 05:41:53,718 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1720#true} {1720#true} #78#return; {1720#true} is VALID [2022-04-08 05:41:53,718 INFO L290 TraceCheckUtils]: 44: Hoare triple {1720#true} assume !(~a~0 != ~b~0); {1857#(= main_~b~0 main_~a~0)} is VALID [2022-04-08 05:41:53,719 INFO L272 TraceCheckUtils]: 45: Hoare triple {1857#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1861#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:41:53,719 INFO L290 TraceCheckUtils]: 46: Hoare triple {1861#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1865#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:41:53,719 INFO L290 TraceCheckUtils]: 47: Hoare triple {1865#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1721#false} is VALID [2022-04-08 05:41:53,719 INFO L290 TraceCheckUtils]: 48: Hoare triple {1721#false} assume !false; {1721#false} is VALID [2022-04-08 05:41:53,720 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-08 05:41:53,720 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:41:53,720 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:41:53,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [636869163] [2022-04-08 05:41:53,720 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:41:53,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [307403856] [2022-04-08 05:41:53,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [307403856] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:53,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:53,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:41:53,720 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:41:53,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [464376679] [2022-04-08 05:41:53,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [464376679] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:53,721 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:53,721 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:41:53,721 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1893247971] [2022-04-08 05:41:53,721 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:41:53,721 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-08 05:41:53,721 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:41:53,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-08 05:41:53,741 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:41:53,741 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:41:53,742 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:53,742 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:41:53,742 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:41:53,742 INFO L87 Difference]: Start difference. First operand 70 states and 98 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-08 05:41:53,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:53,909 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-08 05:41:53,909 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:41:53,909 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-08 05:41:53,909 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:41:53,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-08 05:41:53,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 05:41:53,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-08 05:41:53,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-08 05:41:53,911 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-08 05:41:53,941 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:41:53,943 INFO L225 Difference]: With dead ends: 76 [2022-04-08 05:41:53,943 INFO L226 Difference]: Without dead ends: 74 [2022-04-08 05:41:53,943 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 05:41:53,944 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:41:53,944 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 139 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:41:53,945 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-08 05:41:53,994 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-08 05:41:53,994 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:41:53,994 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:41:53,995 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:41:53,995 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:41:53,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:53,997 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-08 05:41:53,997 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-08 05:41:53,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:53,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:53,998 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-08 05:41:53,998 INFO L87 Difference]: Start difference. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-08 05:41:54,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:54,001 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-08 05:41:54,001 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-08 05:41:54,001 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:54,001 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:54,001 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:41:54,001 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:41:54,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 05:41:54,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-08 05:41:54,004 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-08 05:41:54,004 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:41:54,004 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-08 05:41:54,004 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-08 05:41:54,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-08 05:41:54,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:41:54,098 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-08 05:41:54,099 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-08 05:41:54,099 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:41:54,099 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:41:54,117 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 05:41:54,311 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:41:54,311 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:41:54,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:41:54,312 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-08 05:41:54,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:54,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [451379088] [2022-04-08 05:41:54,312 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:41:54,312 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-08 05:41:54,312 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:41:54,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1456417741] [2022-04-08 05:41:54,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:41:54,313 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:41:54,332 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:41:54,332 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [324849573] [2022-04-08 05:41:54,332 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:41:54,332 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:41:54,332 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:41:54,333 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:41:54,335 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 05:41:54,369 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:41:54,370 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:41:54,370 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 05:41:54,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:54,385 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:41:54,578 INFO L272 TraceCheckUtils]: 0: Hoare triple {2321#true} call ULTIMATE.init(); {2321#true} is VALID [2022-04-08 05:41:54,579 INFO L290 TraceCheckUtils]: 1: Hoare triple {2321#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(10, 2);call #Ultimate.allocInit(12, 3); {2321#true} is VALID [2022-04-08 05:41:54,579 INFO L290 TraceCheckUtils]: 2: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 05:41:54,579 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2321#true} {2321#true} #88#return; {2321#true} is VALID [2022-04-08 05:41:54,579 INFO L272 TraceCheckUtils]: 4: Hoare triple {2321#true} call #t~ret6 := main(); {2321#true} is VALID [2022-04-08 05:41:54,579 INFO L290 TraceCheckUtils]: 5: Hoare triple {2321#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2321#true} is VALID [2022-04-08 05:41:54,579 INFO L272 TraceCheckUtils]: 6: Hoare triple {2321#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2321#true} is VALID [2022-04-08 05:41:54,579 INFO L290 TraceCheckUtils]: 7: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 05:41:54,579 INFO L290 TraceCheckUtils]: 8: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 05:41:54,579 INFO L290 TraceCheckUtils]: 9: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 05:41:54,579 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2321#true} {2321#true} #66#return; {2321#true} is VALID [2022-04-08 05:41:54,579 INFO L290 TraceCheckUtils]: 11: Hoare triple {2321#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2321#true} is VALID [2022-04-08 05:41:54,580 INFO L272 TraceCheckUtils]: 12: Hoare triple {2321#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2321#true} is VALID [2022-04-08 05:41:54,580 INFO L290 TraceCheckUtils]: 13: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 05:41:54,580 INFO L290 TraceCheckUtils]: 14: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 05:41:54,580 INFO L290 TraceCheckUtils]: 15: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 05:41:54,580 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2321#true} {2321#true} #68#return; {2321#true} is VALID [2022-04-08 05:41:54,580 INFO L272 TraceCheckUtils]: 17: Hoare triple {2321#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2321#true} is VALID [2022-04-08 05:41:54,580 INFO L290 TraceCheckUtils]: 18: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 05:41:54,580 INFO L290 TraceCheckUtils]: 19: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 05:41:54,581 INFO L290 TraceCheckUtils]: 20: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 05:41:54,581 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2321#true} {2321#true} #70#return; {2321#true} is VALID [2022-04-08 05:41:54,581 INFO L272 TraceCheckUtils]: 22: Hoare triple {2321#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2321#true} is VALID [2022-04-08 05:41:54,581 INFO L290 TraceCheckUtils]: 23: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 05:41:54,581 INFO L290 TraceCheckUtils]: 24: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 05:41:54,581 INFO L290 TraceCheckUtils]: 25: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 05:41:54,581 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2321#true} {2321#true} #72#return; {2321#true} is VALID [2022-04-08 05:41:54,581 INFO L290 TraceCheckUtils]: 27: Hoare triple {2321#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:41:54,582 INFO L290 TraceCheckUtils]: 28: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:41:54,582 INFO L272 TraceCheckUtils]: 29: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2321#true} is VALID [2022-04-08 05:41:54,582 INFO L290 TraceCheckUtils]: 30: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 05:41:54,582 INFO L290 TraceCheckUtils]: 31: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 05:41:54,582 INFO L290 TraceCheckUtils]: 32: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 05:41:54,583 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2321#true} {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:41:54,585 INFO L272 TraceCheckUtils]: 34: Hoare triple {2407#(and (= main_~s~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)); {2321#true} is VALID [2022-04-08 05:41:54,588 INFO L290 TraceCheckUtils]: 35: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 05:41:54,588 INFO L290 TraceCheckUtils]: 36: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 05:41:54,594 INFO L290 TraceCheckUtils]: 37: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 05:41:54,595 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2321#true} {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:41:54,595 INFO L272 TraceCheckUtils]: 39: Hoare triple {2407#(and (= main_~s~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)); {2321#true} is VALID [2022-04-08 05:41:54,595 INFO L290 TraceCheckUtils]: 40: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-08 05:41:54,595 INFO L290 TraceCheckUtils]: 41: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-08 05:41:54,595 INFO L290 TraceCheckUtils]: 42: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-08 05:41:54,599 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2321#true} {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:41:54,600 INFO L290 TraceCheckUtils]: 44: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:41:54,600 INFO L290 TraceCheckUtils]: 45: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:41:54,600 INFO L290 TraceCheckUtils]: 46: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 05:41:54,601 INFO L272 TraceCheckUtils]: 47: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2468#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:41:54,601 INFO L290 TraceCheckUtils]: 48: Hoare triple {2468#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2472#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:41:54,602 INFO L290 TraceCheckUtils]: 49: Hoare triple {2472#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2322#false} is VALID [2022-04-08 05:41:54,602 INFO L290 TraceCheckUtils]: 50: Hoare triple {2322#false} assume !false; {2322#false} is VALID [2022-04-08 05:41:54,602 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-08 05:41:54,602 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 05:41:54,602 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:41:54,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1456417741] [2022-04-08 05:41:54,602 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:41:54,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [324849573] [2022-04-08 05:41:54,602 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [324849573] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:54,602 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:54,602 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:41:54,603 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:41:54,603 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [451379088] [2022-04-08 05:41:54,603 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [451379088] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:41:54,603 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:41:54,603 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 05:41:54,603 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [158579283] [2022-04-08 05:41:54,603 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:41:54,603 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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 51 [2022-04-08 05:41:54,603 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:41:54,604 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 05:41:54,628 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-08 05:41:54,628 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 05:41:54,628 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:54,629 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 05:41:54,629 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 05:41:54,629 INFO L87 Difference]: Start difference. First operand 74 states and 101 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 05:41:54,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:54,858 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-08 05:41:54,858 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 05:41:54,858 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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 51 [2022-04-08 05:41:54,858 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:41:54,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 05:41:54,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 05:41:54,860 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 05:41:54,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 05:41:54,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-08 05:41:54,906 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:41:54,908 INFO L225 Difference]: With dead ends: 84 [2022-04-08 05:41:54,908 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 05:41:54,908 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 46 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 05:41:54,909 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 05:41:54,910 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 146 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 05:41:54,910 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 05:41:54,975 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-08 05:41:54,975 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:41:54,975 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 05:41:54,976 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 05:41:54,976 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 05:41:54,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:54,978 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-08 05:41:54,978 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-08 05:41:54,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:54,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:54,979 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-08 05:41:54,979 INFO L87 Difference]: Start difference. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-08 05:41:54,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:41:54,981 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-08 05:41:54,981 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-08 05:41:54,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:41:54,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:41:54,982 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:41:54,982 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:41:54,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 05:41:54,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-08 05:41:54,984 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-08 05:41:54,984 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:41:54,984 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-08 05:41:54,984 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (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-08 05:41:54,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-08 05:41:55,077 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-08 05:41:55,077 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-08 05:41:55,078 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-08 05:41:55,078 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:41:55,078 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 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, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:41:55,096 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-08 05:41:55,283 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:41:55,285 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:41:55,286 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:41:55,286 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-08 05:41:55,286 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:41:55,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1772967819] [2022-04-08 05:41:55,286 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:41:55,286 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-08 05:41:55,286 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:41:55,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2103682912] [2022-04-08 05:41:55,287 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:41:55,287 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:41:55,297 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:41:55,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1184887314] [2022-04-08 05:41:55,297 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:41:55,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:41:55,297 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:41:55,298 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:41:55,299 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 05:41:55,333 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:41:55,334 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:41:55,334 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 05:41:55,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:41:55,341 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:41:55,483 INFO L272 TraceCheckUtils]: 0: Hoare triple {2968#true} call ULTIMATE.init(); {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L290 TraceCheckUtils]: 1: Hoare triple {2968#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(10, 2);call #Ultimate.allocInit(12, 3); {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L290 TraceCheckUtils]: 2: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2968#true} {2968#true} #88#return; {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L272 TraceCheckUtils]: 4: Hoare triple {2968#true} call #t~ret6 := main(); {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L290 TraceCheckUtils]: 5: Hoare triple {2968#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L272 TraceCheckUtils]: 6: Hoare triple {2968#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L290 TraceCheckUtils]: 7: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L290 TraceCheckUtils]: 8: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2968#true} {2968#true} #66#return; {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L290 TraceCheckUtils]: 11: Hoare triple {2968#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L272 TraceCheckUtils]: 12: Hoare triple {2968#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L290 TraceCheckUtils]: 13: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:41:55,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2968#true} {2968#true} #68#return; {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L272 TraceCheckUtils]: 17: Hoare triple {2968#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L290 TraceCheckUtils]: 18: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L290 TraceCheckUtils]: 19: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L290 TraceCheckUtils]: 20: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2968#true} {2968#true} #70#return; {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L272 TraceCheckUtils]: 22: Hoare triple {2968#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L290 TraceCheckUtils]: 23: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L290 TraceCheckUtils]: 24: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L290 TraceCheckUtils]: 25: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2968#true} {2968#true} #72#return; {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L290 TraceCheckUtils]: 27: Hoare triple {2968#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L290 TraceCheckUtils]: 28: Hoare triple {2968#true} assume !false; {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L272 TraceCheckUtils]: 29: Hoare triple {2968#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:41:55,485 INFO L290 TraceCheckUtils]: 30: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:41:55,486 INFO L290 TraceCheckUtils]: 31: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:41:55,486 INFO L290 TraceCheckUtils]: 32: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:41:55,486 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2968#true} {2968#true} #74#return; {2968#true} is VALID [2022-04-08 05:41:55,486 INFO L272 TraceCheckUtils]: 34: Hoare triple {2968#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:41:55,486 INFO L290 TraceCheckUtils]: 35: Hoare triple {2968#true} ~cond := #in~cond; {3078#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:41:55,486 INFO L290 TraceCheckUtils]: 36: Hoare triple {3078#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:41:55,487 INFO L290 TraceCheckUtils]: 37: Hoare triple {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:41:55,487 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} {2968#true} #76#return; {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:41:55,487 INFO L272 TraceCheckUtils]: 39: Hoare triple {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:41:55,487 INFO L290 TraceCheckUtils]: 40: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:41:55,487 INFO L290 TraceCheckUtils]: 41: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:41:55,488 INFO L290 TraceCheckUtils]: 42: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:41:55,488 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2968#true} {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:41:55,488 INFO L290 TraceCheckUtils]: 44: Hoare triple {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:41:55,488 INFO L272 TraceCheckUtils]: 45: Hoare triple {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:41:55,489 INFO L290 TraceCheckUtils]: 46: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:41:55,489 INFO L290 TraceCheckUtils]: 47: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:41:55,489 INFO L290 TraceCheckUtils]: 48: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:41:55,489 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2968#true} {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:41:55,490 INFO L272 TraceCheckUtils]: 50: Hoare triple {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:41:55,490 INFO L290 TraceCheckUtils]: 51: Hoare triple {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:41:55,490 INFO L290 TraceCheckUtils]: 52: Hoare triple {3131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2969#false} is VALID [2022-04-08 05:41:55,491 INFO L290 TraceCheckUtils]: 53: Hoare triple {2969#false} assume !false; {2969#false} is VALID [2022-04-08 05:41:55,492 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-08 05:41:55,492 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:42:08,459 INFO L290 TraceCheckUtils]: 53: Hoare triple {2969#false} assume !false; {2969#false} is VALID [2022-04-08 05:42:08,459 INFO L290 TraceCheckUtils]: 52: Hoare triple {3131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2969#false} is VALID [2022-04-08 05:42:08,460 INFO L290 TraceCheckUtils]: 51: Hoare triple {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:08,460 INFO L272 TraceCheckUtils]: 50: Hoare triple {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:42:08,461 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2968#true} {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:42:08,461 INFO L290 TraceCheckUtils]: 48: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:42:08,461 INFO L290 TraceCheckUtils]: 47: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:42:08,461 INFO L290 TraceCheckUtils]: 46: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:42:08,461 INFO L272 TraceCheckUtils]: 45: Hoare triple {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:42:08,465 INFO L290 TraceCheckUtils]: 44: Hoare triple {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:42:08,466 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2968#true} {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:42:08,466 INFO L290 TraceCheckUtils]: 42: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:42:08,466 INFO L290 TraceCheckUtils]: 41: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:42:08,466 INFO L290 TraceCheckUtils]: 40: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:42:08,467 INFO L272 TraceCheckUtils]: 39: Hoare triple {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:42:08,467 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} {2968#true} #76#return; {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:42:08,467 INFO L290 TraceCheckUtils]: 37: Hoare triple {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:08,468 INFO L290 TraceCheckUtils]: 36: Hoare triple {3192#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 05:42:08,468 INFO L290 TraceCheckUtils]: 35: Hoare triple {2968#true} ~cond := #in~cond; {3192#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 05:42:08,468 INFO L272 TraceCheckUtils]: 34: Hoare triple {2968#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:42:08,468 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2968#true} {2968#true} #74#return; {2968#true} is VALID [2022-04-08 05:42:08,468 INFO L290 TraceCheckUtils]: 32: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:42:08,468 INFO L290 TraceCheckUtils]: 31: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:42:08,468 INFO L290 TraceCheckUtils]: 30: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:42:08,468 INFO L272 TraceCheckUtils]: 29: Hoare triple {2968#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L290 TraceCheckUtils]: 28: Hoare triple {2968#true} assume !false; {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L290 TraceCheckUtils]: 27: Hoare triple {2968#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2968#true} {2968#true} #72#return; {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L290 TraceCheckUtils]: 25: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L290 TraceCheckUtils]: 24: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L290 TraceCheckUtils]: 23: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L272 TraceCheckUtils]: 22: Hoare triple {2968#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2968#true} {2968#true} #70#return; {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L290 TraceCheckUtils]: 20: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L290 TraceCheckUtils]: 19: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L290 TraceCheckUtils]: 18: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L272 TraceCheckUtils]: 17: Hoare triple {2968#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2968#true} {2968#true} #68#return; {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L290 TraceCheckUtils]: 15: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L290 TraceCheckUtils]: 14: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:42:08,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L272 TraceCheckUtils]: 12: Hoare triple {2968#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L290 TraceCheckUtils]: 11: Hoare triple {2968#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2968#true} {2968#true} #66#return; {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L290 TraceCheckUtils]: 9: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L290 TraceCheckUtils]: 7: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L272 TraceCheckUtils]: 6: Hoare triple {2968#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L290 TraceCheckUtils]: 5: Hoare triple {2968#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L272 TraceCheckUtils]: 4: Hoare triple {2968#true} call #t~ret6 := main(); {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2968#true} {2968#true} #88#return; {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L290 TraceCheckUtils]: 2: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L290 TraceCheckUtils]: 1: Hoare triple {2968#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(10, 2);call #Ultimate.allocInit(12, 3); {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L272 TraceCheckUtils]: 0: Hoare triple {2968#true} call ULTIMATE.init(); {2968#true} is VALID [2022-04-08 05:42:08,470 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-08 05:42:08,471 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:08,471 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2103682912] [2022-04-08 05:42:08,471 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:08,471 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1184887314] [2022-04-08 05:42:08,471 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1184887314] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:42:08,471 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:42:08,471 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 05:42:08,471 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:08,471 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1772967819] [2022-04-08 05:42:08,471 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1772967819] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:08,471 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:08,471 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:42:08,471 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1564863088] [2022-04-08 05:42:08,471 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:08,472 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-08 05:42:08,472 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:08,472 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:42:08,497 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:08,498 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:42:08,498 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:08,498 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:42:08,498 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:42:08,498 INFO L87 Difference]: Start difference. First operand 79 states and 102 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:42:08,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:08,955 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-08 05:42:08,955 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:42:08,955 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-08 05:42:08,955 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:08,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:42:08,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-08 05:42:08,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:42:08,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-08 05:42:08,957 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-08 05:42:08,995 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-08 05:42:08,997 INFO L225 Difference]: With dead ends: 88 [2022-04-08 05:42:08,997 INFO L226 Difference]: Without dead ends: 84 [2022-04-08 05:42:08,997 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:42:08,998 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:08,998 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 129 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 05:42:08,998 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-08 05:42:09,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-08 05:42:09,060 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:09,060 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 05:42:09,060 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 05:42:09,060 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 05:42:09,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:09,063 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-08 05:42:09,063 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-08 05:42:09,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:09,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:09,064 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-08 05:42:09,064 INFO L87 Difference]: Start difference. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-08 05:42:09,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:09,066 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-08 05:42:09,067 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-08 05:42:09,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:09,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:09,067 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:09,067 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:09,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 05:42:09,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-08 05:42:09,069 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-08 05:42:09,069 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:09,069 INFO L478 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-08 05:42:09,069 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 05:42:09,069 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-08 05:42:09,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:09,169 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-08 05:42:09,169 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-08 05:42:09,169 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:09,169 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:42:09,187 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 05:42:09,370 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:09,372 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:09,372 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:09,372 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-08 05:42:09,373 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:09,373 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [410080980] [2022-04-08 05:42:09,373 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:09,373 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-08 05:42:09,373 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:09,373 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1362456614] [2022-04-08 05:42:09,373 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:09,373 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:09,393 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:09,393 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1907370368] [2022-04-08 05:42:09,393 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:42:09,393 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:09,394 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:09,399 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:42:09,403 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 05:42:09,435 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:42:09,435 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:09,436 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-08 05:42:09,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:09,446 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:10,002 INFO L272 TraceCheckUtils]: 0: Hoare triple {3818#true} call ULTIMATE.init(); {3818#true} is VALID [2022-04-08 05:42:10,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {3818#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(10, 2);call #Ultimate.allocInit(12, 3); {3818#true} is VALID [2022-04-08 05:42:10,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,002 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3818#true} {3818#true} #88#return; {3818#true} is VALID [2022-04-08 05:42:10,003 INFO L272 TraceCheckUtils]: 4: Hoare triple {3818#true} call #t~ret6 := main(); {3818#true} is VALID [2022-04-08 05:42:10,003 INFO L290 TraceCheckUtils]: 5: Hoare triple {3818#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3818#true} is VALID [2022-04-08 05:42:10,003 INFO L272 TraceCheckUtils]: 6: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,007 INFO L290 TraceCheckUtils]: 7: Hoare triple {3818#true} ~cond := #in~cond; {3844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:42:10,007 INFO L290 TraceCheckUtils]: 8: Hoare triple {3844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:10,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {3848#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:10,011 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3848#(not (= |assume_abort_if_not_#in~cond| 0))} {3818#true} #66#return; {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:10,011 INFO L290 TraceCheckUtils]: 11: Hoare triple {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:10,011 INFO L272 TraceCheckUtils]: 12: Hoare triple {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,011 INFO L290 TraceCheckUtils]: 13: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,012 INFO L290 TraceCheckUtils]: 14: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,012 INFO L290 TraceCheckUtils]: 15: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,012 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3818#true} {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #68#return; {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:10,012 INFO L272 TraceCheckUtils]: 17: Hoare triple {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,012 INFO L290 TraceCheckUtils]: 18: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,012 INFO L290 TraceCheckUtils]: 19: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,012 INFO L290 TraceCheckUtils]: 20: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,013 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3818#true} {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #70#return; {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:10,013 INFO L272 TraceCheckUtils]: 22: Hoare triple {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,013 INFO L290 TraceCheckUtils]: 23: Hoare triple {3818#true} ~cond := #in~cond; {3844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:42:10,013 INFO L290 TraceCheckUtils]: 24: Hoare triple {3844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:10,013 INFO L290 TraceCheckUtils]: 25: Hoare triple {3848#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:10,014 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3848#(not (= |assume_abort_if_not_#in~cond| 0))} {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #72#return; {3904#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:10,014 INFO L290 TraceCheckUtils]: 27: Hoare triple {3904#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 05:42:10,016 INFO L290 TraceCheckUtils]: 28: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 05:42:10,016 INFO L272 TraceCheckUtils]: 29: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,016 INFO L290 TraceCheckUtils]: 30: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,016 INFO L290 TraceCheckUtils]: 31: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,016 INFO L290 TraceCheckUtils]: 32: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,016 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3818#true} {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #74#return; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 05:42:10,017 INFO L272 TraceCheckUtils]: 34: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,017 INFO L290 TraceCheckUtils]: 35: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,017 INFO L290 TraceCheckUtils]: 36: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,017 INFO L290 TraceCheckUtils]: 37: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,017 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3818#true} {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #76#return; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 05:42:10,017 INFO L272 TraceCheckUtils]: 39: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,017 INFO L290 TraceCheckUtils]: 40: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,017 INFO L290 TraceCheckUtils]: 41: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,018 INFO L290 TraceCheckUtils]: 42: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,018 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3818#true} {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #78#return; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 05:42:10,019 INFO L290 TraceCheckUtils]: 44: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 05:42:10,019 INFO L290 TraceCheckUtils]: 45: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 05:42:10,020 INFO L290 TraceCheckUtils]: 46: Hoare triple {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 05:42:10,020 INFO L272 TraceCheckUtils]: 47: Hoare triple {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,020 INFO L290 TraceCheckUtils]: 48: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,020 INFO L290 TraceCheckUtils]: 49: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,020 INFO L290 TraceCheckUtils]: 50: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,020 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3818#true} {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} #74#return; {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-08 05:42:10,021 INFO L272 TraceCheckUtils]: 52: Hoare triple {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:42:10,021 INFO L290 TraceCheckUtils]: 53: Hoare triple {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3989#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:10,022 INFO L290 TraceCheckUtils]: 54: Hoare triple {3989#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3819#false} is VALID [2022-04-08 05:42:10,022 INFO L290 TraceCheckUtils]: 55: Hoare triple {3819#false} assume !false; {3819#false} is VALID [2022-04-08 05:42:10,022 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 14 proven. 9 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-08 05:42:10,022 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:42:10,379 INFO L290 TraceCheckUtils]: 55: Hoare triple {3819#false} assume !false; {3819#false} is VALID [2022-04-08 05:42:10,379 INFO L290 TraceCheckUtils]: 54: Hoare triple {3989#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3819#false} is VALID [2022-04-08 05:42:10,379 INFO L290 TraceCheckUtils]: 53: Hoare triple {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3989#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:10,380 INFO L272 TraceCheckUtils]: 52: Hoare triple {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:42:10,381 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3818#true} {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:42:10,381 INFO L290 TraceCheckUtils]: 50: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,381 INFO L290 TraceCheckUtils]: 49: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,381 INFO L290 TraceCheckUtils]: 48: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,381 INFO L272 TraceCheckUtils]: 47: Hoare triple {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,381 INFO L290 TraceCheckUtils]: 46: Hoare triple {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:42:10,545 INFO L290 TraceCheckUtils]: 45: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 05:42:10,546 INFO L290 TraceCheckUtils]: 44: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:42:10,546 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3818#true} {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #78#return; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:42:10,547 INFO L290 TraceCheckUtils]: 42: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,547 INFO L290 TraceCheckUtils]: 41: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,547 INFO L290 TraceCheckUtils]: 40: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,547 INFO L272 TraceCheckUtils]: 39: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,547 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3818#true} {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #76#return; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:42:10,547 INFO L290 TraceCheckUtils]: 37: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,547 INFO L290 TraceCheckUtils]: 36: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,547 INFO L290 TraceCheckUtils]: 35: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,548 INFO L272 TraceCheckUtils]: 34: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,551 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3818#true} {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #74#return; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:42:10,551 INFO L290 TraceCheckUtils]: 32: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,551 INFO L290 TraceCheckUtils]: 31: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,551 INFO L290 TraceCheckUtils]: 30: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,551 INFO L272 TraceCheckUtils]: 29: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,551 INFO L290 TraceCheckUtils]: 28: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !false; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:42:10,552 INFO L290 TraceCheckUtils]: 27: Hoare triple {3818#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:42:10,552 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3818#true} {3818#true} #72#return; {3818#true} is VALID [2022-04-08 05:42:10,552 INFO L290 TraceCheckUtils]: 25: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,552 INFO L290 TraceCheckUtils]: 24: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,552 INFO L290 TraceCheckUtils]: 23: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,552 INFO L272 TraceCheckUtils]: 22: Hoare triple {3818#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,552 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3818#true} {3818#true} #70#return; {3818#true} is VALID [2022-04-08 05:42:10,552 INFO L290 TraceCheckUtils]: 20: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,552 INFO L290 TraceCheckUtils]: 19: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,552 INFO L290 TraceCheckUtils]: 18: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,552 INFO L272 TraceCheckUtils]: 17: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,552 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3818#true} {3818#true} #68#return; {3818#true} is VALID [2022-04-08 05:42:10,552 INFO L290 TraceCheckUtils]: 15: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,552 INFO L290 TraceCheckUtils]: 14: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L290 TraceCheckUtils]: 13: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L272 TraceCheckUtils]: 12: Hoare triple {3818#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L290 TraceCheckUtils]: 11: Hoare triple {3818#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3818#true} {3818#true} #66#return; {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L290 TraceCheckUtils]: 9: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L290 TraceCheckUtils]: 8: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L290 TraceCheckUtils]: 7: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L272 TraceCheckUtils]: 6: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L290 TraceCheckUtils]: 5: Hoare triple {3818#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L272 TraceCheckUtils]: 4: Hoare triple {3818#true} call #t~ret6 := main(); {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3818#true} {3818#true} #88#return; {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {3818#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(10, 2);call #Ultimate.allocInit(12, 3); {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L272 TraceCheckUtils]: 0: Hoare triple {3818#true} call ULTIMATE.init(); {3818#true} is VALID [2022-04-08 05:42:10,553 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-08 05:42:10,554 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:10,554 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1362456614] [2022-04-08 05:42:10,554 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:10,554 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1907370368] [2022-04-08 05:42:10,554 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1907370368] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:42:10,554 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:42:10,554 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 6] total 12 [2022-04-08 05:42:10,554 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:10,554 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [410080980] [2022-04-08 05:42:10,554 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [410080980] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:10,554 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:10,554 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 05:42:10,554 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [687719010] [2022-04-08 05:42:10,554 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:10,555 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) Word has length 56 [2022-04-08 05:42:10,555 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:10,555 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:42:10,583 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:10,583 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 05:42:10,583 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:10,583 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 05:42:10,583 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:42:10,583 INFO L87 Difference]: Start difference. First operand 84 states and 105 transitions. Second operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:42:11,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:11,612 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-08 05:42:11,612 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 05:42:11,612 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) Word has length 56 [2022-04-08 05:42:11,612 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:11,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:42:11,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2022-04-08 05:42:11,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:42:11,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2022-04-08 05:42:11,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 75 transitions. [2022-04-08 05:42:11,676 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:11,678 INFO L225 Difference]: With dead ends: 118 [2022-04-08 05:42:11,679 INFO L226 Difference]: Without dead ends: 116 [2022-04-08 05:42:11,679 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 100 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-08 05:42:11,679 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 21 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 228 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 243 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 228 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:11,679 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 184 Invalid, 243 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 228 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 05:42:11,680 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-08 05:42:11,809 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-08 05:42:11,809 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:11,810 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 05:42:11,810 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 05:42:11,810 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 05:42:11,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:11,813 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-08 05:42:11,813 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-08 05:42:11,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:11,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:11,814 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-08 05:42:11,814 INFO L87 Difference]: Start difference. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-08 05:42:11,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:11,817 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-08 05:42:11,817 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-08 05:42:11,817 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:11,817 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:11,817 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:11,817 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:11,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-08 05:42:11,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-08 05:42:11,828 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-08 05:42:11,828 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:11,828 INFO L478 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-08 05:42:11,829 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 05:42:11,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-08 05:42:11,962 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:11,962 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-08 05:42:11,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-08 05:42:11,963 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:11,963 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:42:11,979 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 05:42:12,167 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:12,168 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:12,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:12,171 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-08 05:42:12,171 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:12,171 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [212723617] [2022-04-08 05:42:12,171 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:12,171 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-08 05:42:12,172 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:12,172 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1733664912] [2022-04-08 05:42:12,172 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:12,172 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:12,181 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:12,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [634097914] [2022-04-08 05:42:12,182 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:42:12,182 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:12,182 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:12,182 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:42:12,183 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 05:42:12,220 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:42:12,220 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:12,221 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 05:42:12,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:12,230 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:12,513 INFO L272 TraceCheckUtils]: 0: Hoare triple {4861#true} call ULTIMATE.init(); {4861#true} is VALID [2022-04-08 05:42:12,513 INFO L290 TraceCheckUtils]: 1: Hoare triple {4861#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(10, 2);call #Ultimate.allocInit(12, 3); {4861#true} is VALID [2022-04-08 05:42:12,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:12,513 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4861#true} {4861#true} #88#return; {4861#true} is VALID [2022-04-08 05:42:12,513 INFO L272 TraceCheckUtils]: 4: Hoare triple {4861#true} call #t~ret6 := main(); {4861#true} is VALID [2022-04-08 05:42:12,513 INFO L290 TraceCheckUtils]: 5: Hoare triple {4861#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L272 TraceCheckUtils]: 6: Hoare triple {4861#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L290 TraceCheckUtils]: 7: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L290 TraceCheckUtils]: 9: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4861#true} {4861#true} #66#return; {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L290 TraceCheckUtils]: 11: Hoare triple {4861#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L272 TraceCheckUtils]: 12: Hoare triple {4861#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L290 TraceCheckUtils]: 13: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L290 TraceCheckUtils]: 14: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L290 TraceCheckUtils]: 15: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4861#true} {4861#true} #68#return; {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L272 TraceCheckUtils]: 17: Hoare triple {4861#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L290 TraceCheckUtils]: 18: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L290 TraceCheckUtils]: 19: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L290 TraceCheckUtils]: 20: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4861#true} {4861#true} #70#return; {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L272 TraceCheckUtils]: 22: Hoare triple {4861#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:12,514 INFO L290 TraceCheckUtils]: 23: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:12,515 INFO L290 TraceCheckUtils]: 24: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:12,515 INFO L290 TraceCheckUtils]: 25: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:12,515 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4861#true} {4861#true} #72#return; {4861#true} is VALID [2022-04-08 05:42:12,515 INFO L290 TraceCheckUtils]: 27: Hoare triple {4861#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:12,515 INFO L290 TraceCheckUtils]: 28: Hoare triple {4947#(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; {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:12,515 INFO L272 TraceCheckUtils]: 29: Hoare triple {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:12,515 INFO L290 TraceCheckUtils]: 30: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:12,516 INFO L290 TraceCheckUtils]: 31: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:12,516 INFO L290 TraceCheckUtils]: 32: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:12,516 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4861#true} {4947#(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))} #74#return; {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:12,516 INFO L272 TraceCheckUtils]: 34: Hoare triple {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:12,516 INFO L290 TraceCheckUtils]: 35: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:12,516 INFO L290 TraceCheckUtils]: 36: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:12,516 INFO L290 TraceCheckUtils]: 37: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:12,517 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4861#true} {4947#(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))} #76#return; {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:12,517 INFO L272 TraceCheckUtils]: 39: Hoare triple {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:12,517 INFO L290 TraceCheckUtils]: 40: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:12,517 INFO L290 TraceCheckUtils]: 41: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:12,517 INFO L290 TraceCheckUtils]: 42: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:12,518 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4861#true} {4947#(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))} #78#return; {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:12,518 INFO L290 TraceCheckUtils]: 44: Hoare triple {4947#(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 !!(~a~0 != ~b~0); {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 05:42:12,519 INFO L290 TraceCheckUtils]: 45: Hoare triple {4947#(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 !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 05:42:12,519 INFO L290 TraceCheckUtils]: 46: Hoare triple {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 05:42:12,519 INFO L272 TraceCheckUtils]: 47: Hoare triple {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:12,519 INFO L290 TraceCheckUtils]: 48: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:12,519 INFO L290 TraceCheckUtils]: 49: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:12,519 INFO L290 TraceCheckUtils]: 50: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:12,520 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4861#true} {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #74#return; {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 05:42:12,520 INFO L272 TraceCheckUtils]: 52: Hoare triple {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:12,520 INFO L290 TraceCheckUtils]: 53: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:12,520 INFO L290 TraceCheckUtils]: 54: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:12,520 INFO L290 TraceCheckUtils]: 55: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:12,521 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4861#true} {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #76#return; {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 05:42:12,522 INFO L272 TraceCheckUtils]: 57: Hoare triple {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:42:12,522 INFO L290 TraceCheckUtils]: 58: Hoare triple {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5043#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:12,522 INFO L290 TraceCheckUtils]: 59: Hoare triple {5043#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4862#false} is VALID [2022-04-08 05:42:12,522 INFO L290 TraceCheckUtils]: 60: Hoare triple {4862#false} assume !false; {4862#false} is VALID [2022-04-08 05:42:12,523 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-08 05:42:12,523 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:42:12,713 INFO L290 TraceCheckUtils]: 60: Hoare triple {4862#false} assume !false; {4862#false} is VALID [2022-04-08 05:42:12,713 INFO L290 TraceCheckUtils]: 59: Hoare triple {5043#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4862#false} is VALID [2022-04-08 05:42:12,713 INFO L290 TraceCheckUtils]: 58: Hoare triple {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5043#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 05:42:12,714 INFO L272 TraceCheckUtils]: 57: Hoare triple {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 05:42:12,715 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4861#true} {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:42:12,715 INFO L290 TraceCheckUtils]: 55: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:12,715 INFO L290 TraceCheckUtils]: 54: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:12,715 INFO L290 TraceCheckUtils]: 53: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:12,715 INFO L272 TraceCheckUtils]: 52: Hoare triple {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:12,715 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4861#true} {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:42:12,715 INFO L290 TraceCheckUtils]: 50: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:12,715 INFO L290 TraceCheckUtils]: 49: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:12,715 INFO L290 TraceCheckUtils]: 48: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:12,716 INFO L272 TraceCheckUtils]: 47: Hoare triple {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:12,716 INFO L290 TraceCheckUtils]: 46: Hoare triple {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:42:13,008 INFO L290 TraceCheckUtils]: 45: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 05:42:13,010 INFO L290 TraceCheckUtils]: 44: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:42:13,011 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4861#true} {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #78#return; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:42:13,011 INFO L290 TraceCheckUtils]: 42: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:13,011 INFO L290 TraceCheckUtils]: 41: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:13,011 INFO L290 TraceCheckUtils]: 40: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:13,011 INFO L272 TraceCheckUtils]: 39: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:13,012 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4861#true} {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #76#return; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:42:13,012 INFO L290 TraceCheckUtils]: 37: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:13,012 INFO L290 TraceCheckUtils]: 36: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:13,012 INFO L290 TraceCheckUtils]: 35: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:13,012 INFO L272 TraceCheckUtils]: 34: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:13,016 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4861#true} {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #74#return; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:42:13,016 INFO L290 TraceCheckUtils]: 32: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:13,016 INFO L290 TraceCheckUtils]: 31: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:13,016 INFO L290 TraceCheckUtils]: 30: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:13,016 INFO L272 TraceCheckUtils]: 29: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:13,016 INFO L290 TraceCheckUtils]: 28: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !false; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:42:13,017 INFO L290 TraceCheckUtils]: 27: Hoare triple {4861#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-08 05:42:13,017 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4861#true} {4861#true} #72#return; {4861#true} is VALID [2022-04-08 05:42:13,017 INFO L290 TraceCheckUtils]: 25: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:13,017 INFO L290 TraceCheckUtils]: 24: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:13,017 INFO L290 TraceCheckUtils]: 23: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:13,017 INFO L272 TraceCheckUtils]: 22: Hoare triple {4861#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:13,017 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4861#true} {4861#true} #70#return; {4861#true} is VALID [2022-04-08 05:42:13,017 INFO L290 TraceCheckUtils]: 20: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:13,017 INFO L290 TraceCheckUtils]: 19: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:13,017 INFO L290 TraceCheckUtils]: 18: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:13,017 INFO L272 TraceCheckUtils]: 17: Hoare triple {4861#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:13,017 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4861#true} {4861#true} #68#return; {4861#true} is VALID [2022-04-08 05:42:13,017 INFO L290 TraceCheckUtils]: 15: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:13,017 INFO L290 TraceCheckUtils]: 14: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L290 TraceCheckUtils]: 13: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L272 TraceCheckUtils]: 12: Hoare triple {4861#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L290 TraceCheckUtils]: 11: Hoare triple {4861#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4861#true} {4861#true} #66#return; {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L290 TraceCheckUtils]: 9: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L290 TraceCheckUtils]: 8: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L290 TraceCheckUtils]: 7: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L272 TraceCheckUtils]: 6: Hoare triple {4861#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L290 TraceCheckUtils]: 5: Hoare triple {4861#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L272 TraceCheckUtils]: 4: Hoare triple {4861#true} call #t~ret6 := main(); {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4861#true} {4861#true} #88#return; {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {4861#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(10, 2);call #Ultimate.allocInit(12, 3); {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L272 TraceCheckUtils]: 0: Hoare triple {4861#true} call ULTIMATE.init(); {4861#true} is VALID [2022-04-08 05:42:13,018 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-08 05:42:13,019 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:13,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1733664912] [2022-04-08 05:42:13,019 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:13,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [634097914] [2022-04-08 05:42:13,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [634097914] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:42:13,019 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:42:13,019 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-08 05:42:13,019 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:13,019 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [212723617] [2022-04-08 05:42:13,019 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [212723617] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:13,019 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:13,019 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 05:42:13,019 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2029734424] [2022-04-08 05:42:13,019 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:13,020 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-08 05:42:13,020 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:13,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 05:42:13,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:13,055 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 05:42:13,056 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:13,056 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 05:42:13,056 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 05:42:13,056 INFO L87 Difference]: Start difference. First operand 112 states and 138 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 05:42:13,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:13,574 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-08 05:42:13,574 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 05:42:13,574 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-08 05:42:13,574 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:13,575 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 05:42:13,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 05:42:13,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 05:42:13,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-08 05:42:13,578 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-08 05:42:13,646 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:13,648 INFO L225 Difference]: With dead ends: 137 [2022-04-08 05:42:13,648 INFO L226 Difference]: Without dead ends: 131 [2022-04-08 05:42:13,648 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-08 05:42:13,649 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:13,649 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 160 Invalid, 120 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:42:13,649 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-08 05:42:13,796 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-08 05:42:13,796 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:13,796 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-08 05:42:13,796 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-08 05:42:13,797 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-08 05:42:13,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:13,800 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-08 05:42:13,800 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-08 05:42:13,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:13,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:13,801 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-08 05:42:13,801 INFO L87 Difference]: Start difference. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-08 05:42:13,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:13,803 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-08 05:42:13,804 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-08 05:42:13,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:13,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:13,804 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:13,804 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:13,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-08 05:42:13,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-08 05:42:13,807 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-08 05:42:13,807 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:13,807 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-08 05:42:13,807 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-08 05:42:13,807 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-08 05:42:13,973 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:13,973 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-08 05:42:13,974 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 05:42:13,974 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:13,974 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:42:13,993 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-08 05:42:14,174 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 05:42:14,175 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:14,175 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:14,175 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-08 05:42:14,175 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:14,175 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [790389869] [2022-04-08 05:42:14,175 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:14,175 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-08 05:42:14,176 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:14,176 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1078069834] [2022-04-08 05:42:14,176 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:14,176 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:14,202 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:14,203 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1118709955] [2022-04-08 05:42:14,203 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 05:42:14,203 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:14,203 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:14,204 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:42:14,204 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 05:42:14,243 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 05:42:14,244 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:14,244 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 05:42:14,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:14,256 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:14,673 INFO L272 TraceCheckUtils]: 0: Hoare triple {6034#true} call ULTIMATE.init(); {6034#true} is VALID [2022-04-08 05:42:14,673 INFO L290 TraceCheckUtils]: 1: Hoare triple {6034#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(10, 2);call #Ultimate.allocInit(12, 3); {6034#true} is VALID [2022-04-08 05:42:14,673 INFO L290 TraceCheckUtils]: 2: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:14,673 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6034#true} {6034#true} #88#return; {6034#true} is VALID [2022-04-08 05:42:14,673 INFO L272 TraceCheckUtils]: 4: Hoare triple {6034#true} call #t~ret6 := main(); {6034#true} is VALID [2022-04-08 05:42:14,673 INFO L290 TraceCheckUtils]: 5: Hoare triple {6034#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6034#true} is VALID [2022-04-08 05:42:14,673 INFO L272 TraceCheckUtils]: 6: Hoare triple {6034#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:14,673 INFO L290 TraceCheckUtils]: 7: Hoare triple {6034#true} ~cond := #in~cond; {6060#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:42:14,674 INFO L290 TraceCheckUtils]: 8: Hoare triple {6060#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6064#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:14,674 INFO L290 TraceCheckUtils]: 9: Hoare triple {6064#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6064#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:14,675 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6064#(not (= |assume_abort_if_not_#in~cond| 0))} {6034#true} #66#return; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:14,675 INFO L290 TraceCheckUtils]: 11: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:14,675 INFO L272 TraceCheckUtils]: 12: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:14,675 INFO L290 TraceCheckUtils]: 13: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:14,675 INFO L290 TraceCheckUtils]: 14: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:14,675 INFO L290 TraceCheckUtils]: 15: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:14,675 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6034#true} {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #68#return; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:14,676 INFO L272 TraceCheckUtils]: 17: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:14,676 INFO L290 TraceCheckUtils]: 18: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:14,676 INFO L290 TraceCheckUtils]: 19: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:14,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:14,676 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6034#true} {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #70#return; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:14,676 INFO L272 TraceCheckUtils]: 22: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:14,676 INFO L290 TraceCheckUtils]: 23: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:14,676 INFO L290 TraceCheckUtils]: 24: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:14,676 INFO L290 TraceCheckUtils]: 25: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:14,677 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6034#true} {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #72#return; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:14,677 INFO L290 TraceCheckUtils]: 27: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 05:42:14,677 INFO L290 TraceCheckUtils]: 28: Hoare triple {6123#(<= main_~a~0 2)} assume !false; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 05:42:14,677 INFO L272 TraceCheckUtils]: 29: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:14,677 INFO L290 TraceCheckUtils]: 30: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:14,677 INFO L290 TraceCheckUtils]: 31: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:14,677 INFO L290 TraceCheckUtils]: 32: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:14,678 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #74#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 05:42:14,678 INFO L272 TraceCheckUtils]: 34: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:14,678 INFO L290 TraceCheckUtils]: 35: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:14,678 INFO L290 TraceCheckUtils]: 36: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:14,678 INFO L290 TraceCheckUtils]: 37: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:14,679 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #76#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 05:42:14,679 INFO L272 TraceCheckUtils]: 39: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:14,679 INFO L290 TraceCheckUtils]: 40: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:14,679 INFO L290 TraceCheckUtils]: 41: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:14,679 INFO L290 TraceCheckUtils]: 42: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:14,680 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #78#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 05:42:14,680 INFO L290 TraceCheckUtils]: 44: Hoare triple {6123#(<= main_~a~0 2)} assume !!(~a~0 != ~b~0); {6123#(<= main_~a~0 2)} is VALID [2022-04-08 05:42:14,680 INFO L290 TraceCheckUtils]: 45: Hoare triple {6123#(<= main_~a~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-08 05:42:14,683 INFO L290 TraceCheckUtils]: 46: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} assume !false; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-08 05:42:14,683 INFO L272 TraceCheckUtils]: 47: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:14,683 INFO L290 TraceCheckUtils]: 48: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:14,683 INFO L290 TraceCheckUtils]: 49: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:14,683 INFO L290 TraceCheckUtils]: 50: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:14,683 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6034#true} {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} #74#return; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-08 05:42:14,683 INFO L272 TraceCheckUtils]: 52: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:14,683 INFO L290 TraceCheckUtils]: 53: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:14,684 INFO L290 TraceCheckUtils]: 54: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:14,684 INFO L290 TraceCheckUtils]: 55: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:14,684 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6034#true} {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} #76#return; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-08 05:42:14,684 INFO L272 TraceCheckUtils]: 57: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:14,684 INFO L290 TraceCheckUtils]: 58: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:14,684 INFO L290 TraceCheckUtils]: 59: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:14,684 INFO L290 TraceCheckUtils]: 60: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:14,687 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6034#true} {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} #78#return; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-08 05:42:14,688 INFO L290 TraceCheckUtils]: 62: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} assume !!(~a~0 != ~b~0); {6230#(and (< 0 main_~a~0) (not (= main_~b~0 main_~a~0)) (< main_~b~0 2))} is VALID [2022-04-08 05:42:14,688 INFO L290 TraceCheckUtils]: 63: Hoare triple {6230#(and (< 0 main_~a~0) (not (= main_~b~0 main_~a~0)) (< main_~b~0 2))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6035#false} is VALID [2022-04-08 05:42:14,688 INFO L290 TraceCheckUtils]: 64: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-08 05:42:14,688 INFO L272 TraceCheckUtils]: 65: Hoare triple {6035#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6035#false} is VALID [2022-04-08 05:42:14,688 INFO L290 TraceCheckUtils]: 66: Hoare triple {6035#false} ~cond := #in~cond; {6035#false} is VALID [2022-04-08 05:42:14,688 INFO L290 TraceCheckUtils]: 67: Hoare triple {6035#false} assume 0 == ~cond; {6035#false} is VALID [2022-04-08 05:42:14,689 INFO L290 TraceCheckUtils]: 68: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-08 05:42:14,689 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 16 proven. 15 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-08 05:42:14,689 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:42:15,125 INFO L290 TraceCheckUtils]: 68: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-08 05:42:15,126 INFO L290 TraceCheckUtils]: 67: Hoare triple {6035#false} assume 0 == ~cond; {6035#false} is VALID [2022-04-08 05:42:15,126 INFO L290 TraceCheckUtils]: 66: Hoare triple {6035#false} ~cond := #in~cond; {6035#false} is VALID [2022-04-08 05:42:15,126 INFO L272 TraceCheckUtils]: 65: Hoare triple {6035#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6035#false} is VALID [2022-04-08 05:42:15,126 INFO L290 TraceCheckUtils]: 64: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-08 05:42:15,126 INFO L290 TraceCheckUtils]: 63: Hoare triple {6264#(< main_~b~0 main_~a~0)} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6035#false} is VALID [2022-04-08 05:42:15,126 INFO L290 TraceCheckUtils]: 62: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} assume !!(~a~0 != ~b~0); {6264#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 05:42:15,127 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6034#true} {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #78#return; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:15,127 INFO L290 TraceCheckUtils]: 60: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:15,127 INFO L290 TraceCheckUtils]: 59: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:15,127 INFO L290 TraceCheckUtils]: 58: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:15,127 INFO L272 TraceCheckUtils]: 57: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:15,128 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6034#true} {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #76#return; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:15,128 INFO L290 TraceCheckUtils]: 55: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:15,128 INFO L290 TraceCheckUtils]: 54: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:15,128 INFO L290 TraceCheckUtils]: 53: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:15,128 INFO L272 TraceCheckUtils]: 52: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:15,129 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6034#true} {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #74#return; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:15,129 INFO L290 TraceCheckUtils]: 50: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:15,129 INFO L290 TraceCheckUtils]: 49: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:15,129 INFO L290 TraceCheckUtils]: 48: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:15,129 INFO L272 TraceCheckUtils]: 47: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:15,129 INFO L290 TraceCheckUtils]: 46: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} assume !false; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:15,130 INFO L290 TraceCheckUtils]: 45: Hoare triple {6123#(<= main_~a~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:15,130 INFO L290 TraceCheckUtils]: 44: Hoare triple {6123#(<= main_~a~0 2)} assume !!(~a~0 != ~b~0); {6123#(<= main_~a~0 2)} is VALID [2022-04-08 05:42:15,131 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #78#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 05:42:15,131 INFO L290 TraceCheckUtils]: 42: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:15,131 INFO L290 TraceCheckUtils]: 41: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:15,131 INFO L290 TraceCheckUtils]: 40: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:15,131 INFO L272 TraceCheckUtils]: 39: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:15,140 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #76#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 05:42:15,140 INFO L290 TraceCheckUtils]: 37: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:15,140 INFO L290 TraceCheckUtils]: 36: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:15,140 INFO L290 TraceCheckUtils]: 35: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:15,140 INFO L272 TraceCheckUtils]: 34: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:15,143 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #74#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 05:42:15,144 INFO L290 TraceCheckUtils]: 32: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:15,144 INFO L290 TraceCheckUtils]: 31: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:15,144 INFO L290 TraceCheckUtils]: 30: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:15,144 INFO L272 TraceCheckUtils]: 29: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:15,144 INFO L290 TraceCheckUtils]: 28: Hoare triple {6123#(<= main_~a~0 2)} assume !false; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 05:42:15,144 INFO L290 TraceCheckUtils]: 27: Hoare triple {6374#(<= main_~x~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6123#(<= main_~a~0 2)} is VALID [2022-04-08 05:42:15,145 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6034#true} {6374#(<= main_~x~0 2)} #72#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-08 05:42:15,145 INFO L290 TraceCheckUtils]: 25: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:15,145 INFO L290 TraceCheckUtils]: 24: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:15,145 INFO L290 TraceCheckUtils]: 23: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:15,145 INFO L272 TraceCheckUtils]: 22: Hoare triple {6374#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:15,148 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6034#true} {6374#(<= main_~x~0 2)} #70#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-08 05:42:15,148 INFO L290 TraceCheckUtils]: 20: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:15,148 INFO L290 TraceCheckUtils]: 19: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:15,148 INFO L290 TraceCheckUtils]: 18: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:15,148 INFO L272 TraceCheckUtils]: 17: Hoare triple {6374#(<= main_~x~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:15,149 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6034#true} {6374#(<= main_~x~0 2)} #68#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-08 05:42:15,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:15,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-08 05:42:15,149 INFO L290 TraceCheckUtils]: 13: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-08 05:42:15,149 INFO L272 TraceCheckUtils]: 12: Hoare triple {6374#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:15,149 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#(<= main_~x~0 2)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6374#(<= main_~x~0 2)} is VALID [2022-04-08 05:42:15,150 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6064#(not (= |assume_abort_if_not_#in~cond| 0))} {6034#true} #66#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-08 05:42:15,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {6064#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6064#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:15,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {6435#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {6064#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:15,151 INFO L290 TraceCheckUtils]: 7: Hoare triple {6034#true} ~cond := #in~cond; {6435#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:42:15,151 INFO L272 TraceCheckUtils]: 6: Hoare triple {6034#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6034#true} is VALID [2022-04-08 05:42:15,151 INFO L290 TraceCheckUtils]: 5: Hoare triple {6034#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6034#true} is VALID [2022-04-08 05:42:15,151 INFO L272 TraceCheckUtils]: 4: Hoare triple {6034#true} call #t~ret6 := main(); {6034#true} is VALID [2022-04-08 05:42:15,151 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6034#true} {6034#true} #88#return; {6034#true} is VALID [2022-04-08 05:42:15,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-08 05:42:15,151 INFO L290 TraceCheckUtils]: 1: Hoare triple {6034#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(10, 2);call #Ultimate.allocInit(12, 3); {6034#true} is VALID [2022-04-08 05:42:15,151 INFO L272 TraceCheckUtils]: 0: Hoare triple {6034#true} call ULTIMATE.init(); {6034#true} is VALID [2022-04-08 05:42:15,151 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 16 proven. 15 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-08 05:42:15,152 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:15,152 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1078069834] [2022-04-08 05:42:15,152 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:15,152 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1118709955] [2022-04-08 05:42:15,152 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1118709955] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:42:15,152 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:42:15,152 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-08 05:42:15,152 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:15,152 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [790389869] [2022-04-08 05:42:15,152 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [790389869] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:15,152 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:15,152 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:42:15,152 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1958548261] [2022-04-08 05:42:15,152 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:15,153 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-08 05:42:15,153 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:15,153 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:15,184 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:15,184 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:42:15,184 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:15,184 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:42:15,184 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:42:15,184 INFO L87 Difference]: Start difference. First operand 131 states and 167 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:15,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:15,753 INFO L93 Difference]: Finished difference Result 156 states and 197 transitions. [2022-04-08 05:42:15,753 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:42:15,753 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-08 05:42:15,754 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:15,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:15,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-08 05:42:15,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:15,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-08 05:42:15,756 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-08 05:42:15,811 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:15,813 INFO L225 Difference]: With dead ends: 156 [2022-04-08 05:42:15,813 INFO L226 Difference]: Without dead ends: 119 [2022-04-08 05:42:15,815 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 127 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=63, Invalid=209, Unknown=0, NotChecked=0, Total=272 [2022-04-08 05:42:15,815 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 14 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 129 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 159 SdHoareTripleChecker+Invalid, 154 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 129 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:15,816 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 159 Invalid, 154 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 129 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:42:15,817 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2022-04-08 05:42:15,980 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 115. [2022-04-08 05:42:15,980 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:15,980 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 05:42:15,980 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 05:42:15,981 INFO L87 Difference]: Start difference. First operand 119 states. Second operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 05:42:15,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:15,983 INFO L93 Difference]: Finished difference Result 119 states and 145 transitions. [2022-04-08 05:42:15,983 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 145 transitions. [2022-04-08 05:42:15,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:15,983 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:15,983 INFO L74 IsIncluded]: Start isIncluded. First operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 119 states. [2022-04-08 05:42:15,983 INFO L87 Difference]: Start difference. First operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 119 states. [2022-04-08 05:42:15,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:15,985 INFO L93 Difference]: Finished difference Result 119 states and 145 transitions. [2022-04-08 05:42:15,985 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 145 transitions. [2022-04-08 05:42:15,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:15,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:15,986 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:15,986 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:15,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 05:42:15,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 140 transitions. [2022-04-08 05:42:15,988 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 140 transitions. Word has length 69 [2022-04-08 05:42:15,988 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:15,988 INFO L478 AbstractCegarLoop]: Abstraction has 115 states and 140 transitions. [2022-04-08 05:42:15,988 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:15,988 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 115 states and 140 transitions. [2022-04-08 05:42:16,151 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:16,152 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 140 transitions. [2022-04-08 05:42:16,152 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 05:42:16,152 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:16,152 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:42:16,170 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 05:42:16,367 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 05:42:16,367 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:16,368 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:16,368 INFO L85 PathProgramCache]: Analyzing trace with hash 1872855628, now seen corresponding path program 3 times [2022-04-08 05:42:16,368 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:16,368 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [161026031] [2022-04-08 05:42:16,368 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:16,368 INFO L85 PathProgramCache]: Analyzing trace with hash 1872855628, now seen corresponding path program 4 times [2022-04-08 05:42:16,368 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:16,368 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [191117011] [2022-04-08 05:42:16,368 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:16,369 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:16,381 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:16,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1842488086] [2022-04-08 05:42:16,382 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:42:16,382 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:16,382 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:16,383 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:42:16,397 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 05:42:16,421 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:42:16,422 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:16,422 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 05:42:16,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:16,434 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:16,765 INFO L272 TraceCheckUtils]: 0: Hoare triple {7249#true} call ULTIMATE.init(); {7249#true} is VALID [2022-04-08 05:42:16,765 INFO L290 TraceCheckUtils]: 1: Hoare triple {7249#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(10, 2);call #Ultimate.allocInit(12, 3); {7249#true} is VALID [2022-04-08 05:42:16,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:16,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7249#true} {7249#true} #88#return; {7249#true} is VALID [2022-04-08 05:42:16,765 INFO L272 TraceCheckUtils]: 4: Hoare triple {7249#true} call #t~ret6 := main(); {7249#true} is VALID [2022-04-08 05:42:16,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {7249#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7249#true} is VALID [2022-04-08 05:42:16,765 INFO L272 TraceCheckUtils]: 6: Hoare triple {7249#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:16,766 INFO L290 TraceCheckUtils]: 7: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:16,766 INFO L290 TraceCheckUtils]: 8: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:16,766 INFO L290 TraceCheckUtils]: 9: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:16,766 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7249#true} {7249#true} #66#return; {7249#true} is VALID [2022-04-08 05:42:16,766 INFO L290 TraceCheckUtils]: 11: Hoare triple {7249#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7249#true} is VALID [2022-04-08 05:42:16,766 INFO L272 TraceCheckUtils]: 12: Hoare triple {7249#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:16,766 INFO L290 TraceCheckUtils]: 13: Hoare triple {7249#true} ~cond := #in~cond; {7293#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:42:16,766 INFO L290 TraceCheckUtils]: 14: Hoare triple {7293#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7297#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:16,767 INFO L290 TraceCheckUtils]: 15: Hoare triple {7297#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7297#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:16,767 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7297#(not (= |assume_abort_if_not_#in~cond| 0))} {7249#true} #68#return; {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-08 05:42:16,767 INFO L272 TraceCheckUtils]: 17: Hoare triple {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:16,768 INFO L290 TraceCheckUtils]: 18: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:16,768 INFO L290 TraceCheckUtils]: 19: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:16,768 INFO L290 TraceCheckUtils]: 20: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:16,768 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7249#true} {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #70#return; {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-08 05:42:16,768 INFO L272 TraceCheckUtils]: 22: Hoare triple {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:16,768 INFO L290 TraceCheckUtils]: 23: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:16,768 INFO L290 TraceCheckUtils]: 24: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:16,768 INFO L290 TraceCheckUtils]: 25: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:16,769 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7249#true} {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #72#return; {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-08 05:42:16,769 INFO L290 TraceCheckUtils]: 27: Hoare triple {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 05:42:16,769 INFO L290 TraceCheckUtils]: 28: Hoare triple {7338#(<= main_~b~0 2)} assume !false; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 05:42:16,769 INFO L272 TraceCheckUtils]: 29: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:16,769 INFO L290 TraceCheckUtils]: 30: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:16,770 INFO L290 TraceCheckUtils]: 31: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:16,770 INFO L290 TraceCheckUtils]: 32: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:16,770 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #74#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 05:42:16,770 INFO L272 TraceCheckUtils]: 34: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:16,770 INFO L290 TraceCheckUtils]: 35: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:16,770 INFO L290 TraceCheckUtils]: 36: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:16,770 INFO L290 TraceCheckUtils]: 37: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:16,771 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #76#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 05:42:16,771 INFO L272 TraceCheckUtils]: 39: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:16,771 INFO L290 TraceCheckUtils]: 40: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:16,771 INFO L290 TraceCheckUtils]: 41: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:16,771 INFO L290 TraceCheckUtils]: 42: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:16,772 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #78#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 05:42:16,772 INFO L290 TraceCheckUtils]: 44: Hoare triple {7338#(<= main_~b~0 2)} assume !!(~a~0 != ~b~0); {7390#(and (<= main_~b~0 2) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:42:16,773 INFO L290 TraceCheckUtils]: 45: Hoare triple {7390#(and (<= main_~b~0 2) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-08 05:42:16,773 INFO L290 TraceCheckUtils]: 46: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} assume !false; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-08 05:42:16,773 INFO L272 TraceCheckUtils]: 47: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:16,773 INFO L290 TraceCheckUtils]: 48: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:16,773 INFO L290 TraceCheckUtils]: 49: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:16,774 INFO L290 TraceCheckUtils]: 50: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:16,774 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7249#true} {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} #74#return; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-08 05:42:16,774 INFO L272 TraceCheckUtils]: 52: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:16,774 INFO L290 TraceCheckUtils]: 53: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:16,774 INFO L290 TraceCheckUtils]: 54: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:16,774 INFO L290 TraceCheckUtils]: 55: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:16,775 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7249#true} {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} #76#return; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-08 05:42:16,775 INFO L272 TraceCheckUtils]: 57: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:16,775 INFO L290 TraceCheckUtils]: 58: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:16,775 INFO L290 TraceCheckUtils]: 59: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:16,775 INFO L290 TraceCheckUtils]: 60: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:16,776 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7249#true} {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} #78#return; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-08 05:42:16,776 INFO L290 TraceCheckUtils]: 62: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} assume !!(~a~0 != ~b~0); {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-08 05:42:16,777 INFO L290 TraceCheckUtils]: 63: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7250#false} is VALID [2022-04-08 05:42:16,777 INFO L290 TraceCheckUtils]: 64: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-08 05:42:16,777 INFO L272 TraceCheckUtils]: 65: Hoare triple {7250#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7250#false} is VALID [2022-04-08 05:42:16,777 INFO L290 TraceCheckUtils]: 66: Hoare triple {7250#false} ~cond := #in~cond; {7250#false} is VALID [2022-04-08 05:42:16,777 INFO L290 TraceCheckUtils]: 67: Hoare triple {7250#false} assume 0 == ~cond; {7250#false} is VALID [2022-04-08 05:42:16,777 INFO L290 TraceCheckUtils]: 68: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-08 05:42:16,777 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 19 proven. 12 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-08 05:42:16,777 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:42:17,121 INFO L290 TraceCheckUtils]: 68: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-08 05:42:17,122 INFO L290 TraceCheckUtils]: 67: Hoare triple {7250#false} assume 0 == ~cond; {7250#false} is VALID [2022-04-08 05:42:17,122 INFO L290 TraceCheckUtils]: 66: Hoare triple {7250#false} ~cond := #in~cond; {7250#false} is VALID [2022-04-08 05:42:17,122 INFO L272 TraceCheckUtils]: 65: Hoare triple {7250#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7250#false} is VALID [2022-04-08 05:42:17,122 INFO L290 TraceCheckUtils]: 64: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-08 05:42:17,122 INFO L290 TraceCheckUtils]: 63: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7250#false} is VALID [2022-04-08 05:42:17,122 INFO L290 TraceCheckUtils]: 62: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} assume !!(~a~0 != ~b~0); {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:17,123 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7249#true} {7479#(not (< main_~b~0 main_~a~0))} #78#return; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:17,123 INFO L290 TraceCheckUtils]: 60: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:17,123 INFO L290 TraceCheckUtils]: 59: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:17,123 INFO L290 TraceCheckUtils]: 58: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:17,123 INFO L272 TraceCheckUtils]: 57: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:17,123 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7249#true} {7479#(not (< main_~b~0 main_~a~0))} #76#return; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:17,124 INFO L290 TraceCheckUtils]: 55: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:17,124 INFO L290 TraceCheckUtils]: 54: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:17,124 INFO L290 TraceCheckUtils]: 53: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:17,124 INFO L272 TraceCheckUtils]: 52: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:17,124 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7249#true} {7479#(not (< main_~b~0 main_~a~0))} #74#return; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:17,124 INFO L290 TraceCheckUtils]: 50: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:17,124 INFO L290 TraceCheckUtils]: 49: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:17,124 INFO L290 TraceCheckUtils]: 48: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:17,124 INFO L272 TraceCheckUtils]: 47: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:17,125 INFO L290 TraceCheckUtils]: 46: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} assume !false; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:17,125 INFO L290 TraceCheckUtils]: 45: Hoare triple {7534#(or (< main_~b~0 main_~a~0) (<= (* main_~a~0 2) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:17,126 INFO L290 TraceCheckUtils]: 44: Hoare triple {7338#(<= main_~b~0 2)} assume !!(~a~0 != ~b~0); {7534#(or (< main_~b~0 main_~a~0) (<= (* main_~a~0 2) main_~b~0))} is VALID [2022-04-08 05:42:17,126 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #78#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 05:42:17,126 INFO L290 TraceCheckUtils]: 42: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:17,126 INFO L290 TraceCheckUtils]: 41: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:17,126 INFO L290 TraceCheckUtils]: 40: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:17,126 INFO L272 TraceCheckUtils]: 39: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:17,127 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #76#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 05:42:17,127 INFO L290 TraceCheckUtils]: 37: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:17,127 INFO L290 TraceCheckUtils]: 36: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:17,127 INFO L290 TraceCheckUtils]: 35: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:17,127 INFO L272 TraceCheckUtils]: 34: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:17,128 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #74#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 05:42:17,128 INFO L290 TraceCheckUtils]: 32: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:17,128 INFO L290 TraceCheckUtils]: 31: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:17,128 INFO L290 TraceCheckUtils]: 30: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:17,128 INFO L272 TraceCheckUtils]: 29: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:17,128 INFO L290 TraceCheckUtils]: 28: Hoare triple {7338#(<= main_~b~0 2)} assume !false; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 05:42:17,128 INFO L290 TraceCheckUtils]: 27: Hoare triple {7589#(<= main_~y~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7338#(<= main_~b~0 2)} is VALID [2022-04-08 05:42:17,129 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7249#true} {7589#(<= main_~y~0 2)} #72#return; {7589#(<= main_~y~0 2)} is VALID [2022-04-08 05:42:17,129 INFO L290 TraceCheckUtils]: 25: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:17,129 INFO L290 TraceCheckUtils]: 24: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:17,129 INFO L290 TraceCheckUtils]: 23: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:17,129 INFO L272 TraceCheckUtils]: 22: Hoare triple {7589#(<= main_~y~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:17,129 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7249#true} {7589#(<= main_~y~0 2)} #70#return; {7589#(<= main_~y~0 2)} is VALID [2022-04-08 05:42:17,129 INFO L290 TraceCheckUtils]: 20: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:17,129 INFO L290 TraceCheckUtils]: 19: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:17,129 INFO L290 TraceCheckUtils]: 18: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:17,129 INFO L272 TraceCheckUtils]: 17: Hoare triple {7589#(<= main_~y~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:17,130 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7297#(not (= |assume_abort_if_not_#in~cond| 0))} {7249#true} #68#return; {7589#(<= main_~y~0 2)} is VALID [2022-04-08 05:42:17,130 INFO L290 TraceCheckUtils]: 15: Hoare triple {7297#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7297#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:17,130 INFO L290 TraceCheckUtils]: 14: Hoare triple {7632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {7297#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:17,131 INFO L290 TraceCheckUtils]: 13: Hoare triple {7249#true} ~cond := #in~cond; {7632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:42:17,131 INFO L272 TraceCheckUtils]: 12: Hoare triple {7249#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:17,131 INFO L290 TraceCheckUtils]: 11: Hoare triple {7249#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7249#true} is VALID [2022-04-08 05:42:17,131 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7249#true} {7249#true} #66#return; {7249#true} is VALID [2022-04-08 05:42:17,131 INFO L290 TraceCheckUtils]: 9: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:17,131 INFO L290 TraceCheckUtils]: 8: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-08 05:42:17,131 INFO L290 TraceCheckUtils]: 7: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-08 05:42:17,131 INFO L272 TraceCheckUtils]: 6: Hoare triple {7249#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {7249#true} is VALID [2022-04-08 05:42:17,131 INFO L290 TraceCheckUtils]: 5: Hoare triple {7249#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7249#true} is VALID [2022-04-08 05:42:17,131 INFO L272 TraceCheckUtils]: 4: Hoare triple {7249#true} call #t~ret6 := main(); {7249#true} is VALID [2022-04-08 05:42:17,131 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7249#true} {7249#true} #88#return; {7249#true} is VALID [2022-04-08 05:42:17,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-08 05:42:17,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {7249#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(10, 2);call #Ultimate.allocInit(12, 3); {7249#true} is VALID [2022-04-08 05:42:17,131 INFO L272 TraceCheckUtils]: 0: Hoare triple {7249#true} call ULTIMATE.init(); {7249#true} is VALID [2022-04-08 05:42:17,132 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 19 proven. 12 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-08 05:42:17,132 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:17,132 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [191117011] [2022-04-08 05:42:17,132 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:17,132 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1842488086] [2022-04-08 05:42:17,132 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1842488086] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:42:17,132 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:42:17,132 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-08 05:42:17,132 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:17,132 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [161026031] [2022-04-08 05:42:17,132 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [161026031] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:17,132 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:17,132 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:42:17,132 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1581750551] [2022-04-08 05:42:17,132 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:17,133 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-08 05:42:17,133 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:17,133 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:17,164 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:17,164 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:42:17,164 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:17,164 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:42:17,164 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2022-04-08 05:42:17,165 INFO L87 Difference]: Start difference. First operand 115 states and 140 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:17,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:17,633 INFO L93 Difference]: Finished difference Result 133 states and 154 transitions. [2022-04-08 05:42:17,633 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:42:17,634 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-08 05:42:17,634 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:17,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:17,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-08 05:42:17,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:17,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-08 05:42:17,636 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-08 05:42:17,691 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:17,693 INFO L225 Difference]: With dead ends: 133 [2022-04-08 05:42:17,693 INFO L226 Difference]: Without dead ends: 106 [2022-04-08 05:42:17,693 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 141 GetRequests, 126 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=189, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:42:17,694 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 13 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 176 SdHoareTripleChecker+Invalid, 123 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:17,694 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 176 Invalid, 123 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:42:17,694 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-08 05:42:17,870 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 106. [2022-04-08 05:42:17,870 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:17,870 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:42:17,870 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:42:17,871 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:42:17,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:17,872 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-08 05:42:17,873 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-08 05:42:17,873 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:17,873 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:17,873 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-08 05:42:17,873 INFO L87 Difference]: Start difference. First operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-08 05:42:17,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:17,875 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-08 05:42:17,875 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-08 05:42:17,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:17,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:17,875 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:17,875 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:17,875 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-08 05:42:17,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 124 transitions. [2022-04-08 05:42:17,880 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 124 transitions. Word has length 69 [2022-04-08 05:42:17,882 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:17,882 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 124 transitions. [2022-04-08 05:42:17,882 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-08 05:42:17,882 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 124 transitions. [2022-04-08 05:42:18,035 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:18,036 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-08 05:42:18,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-08 05:42:18,038 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:18,038 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:42:18,056 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 05:42:18,247 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 05:42:18,247 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:18,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:18,248 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-08 05:42:18,248 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:18,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [211983123] [2022-04-08 05:42:18,248 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:18,248 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-08 05:42:18,248 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:18,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1672038611] [2022-04-08 05:42:18,248 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:18,248 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:18,258 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:18,259 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [103567039] [2022-04-08 05:42:18,259 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 05:42:18,259 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:18,259 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:18,262 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:42:18,263 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 05:42:18,308 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 05:42:18,308 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:18,309 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 05:42:18,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:18,320 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:18,621 INFO L272 TraceCheckUtils]: 0: Hoare triple {8372#true} call ULTIMATE.init(); {8372#true} is VALID [2022-04-08 05:42:18,621 INFO L290 TraceCheckUtils]: 1: Hoare triple {8372#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(10, 2);call #Ultimate.allocInit(12, 3); {8372#true} is VALID [2022-04-08 05:42:18,621 INFO L290 TraceCheckUtils]: 2: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:18,621 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8372#true} {8372#true} #88#return; {8372#true} is VALID [2022-04-08 05:42:18,621 INFO L272 TraceCheckUtils]: 4: Hoare triple {8372#true} call #t~ret6 := main(); {8372#true} is VALID [2022-04-08 05:42:18,621 INFO L290 TraceCheckUtils]: 5: Hoare triple {8372#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8372#true} is VALID [2022-04-08 05:42:18,621 INFO L272 TraceCheckUtils]: 6: Hoare triple {8372#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:18,622 INFO L290 TraceCheckUtils]: 7: Hoare triple {8372#true} ~cond := #in~cond; {8398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:42:18,622 INFO L290 TraceCheckUtils]: 8: Hoare triple {8398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:18,622 INFO L290 TraceCheckUtils]: 9: Hoare triple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:18,623 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} {8372#true} #66#return; {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:18,623 INFO L290 TraceCheckUtils]: 11: Hoare triple {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:18,623 INFO L272 TraceCheckUtils]: 12: Hoare triple {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:18,623 INFO L290 TraceCheckUtils]: 13: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:18,623 INFO L290 TraceCheckUtils]: 14: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:18,623 INFO L290 TraceCheckUtils]: 15: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:18,623 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8372#true} {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #68#return; {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:18,624 INFO L272 TraceCheckUtils]: 17: Hoare triple {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:18,624 INFO L290 TraceCheckUtils]: 18: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:18,624 INFO L290 TraceCheckUtils]: 19: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:18,624 INFO L290 TraceCheckUtils]: 20: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:18,624 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8372#true} {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #70#return; {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:18,624 INFO L272 TraceCheckUtils]: 22: Hoare triple {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:18,624 INFO L290 TraceCheckUtils]: 23: Hoare triple {8372#true} ~cond := #in~cond; {8398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:42:18,625 INFO L290 TraceCheckUtils]: 24: Hoare triple {8398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:18,625 INFO L290 TraceCheckUtils]: 25: Hoare triple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:18,625 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #72#return; {8458#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-08 05:42:18,626 INFO L290 TraceCheckUtils]: 27: Hoare triple {8458#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 05:42:18,626 INFO L290 TraceCheckUtils]: 28: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} assume !false; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 05:42:18,626 INFO L272 TraceCheckUtils]: 29: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:18,626 INFO L290 TraceCheckUtils]: 30: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:18,626 INFO L290 TraceCheckUtils]: 31: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:18,626 INFO L290 TraceCheckUtils]: 32: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:18,627 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8372#true} {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} #74#return; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 05:42:18,627 INFO L272 TraceCheckUtils]: 34: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:18,627 INFO L290 TraceCheckUtils]: 35: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:18,627 INFO L290 TraceCheckUtils]: 36: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:18,627 INFO L290 TraceCheckUtils]: 37: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:18,627 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8372#true} {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} #76#return; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 05:42:18,627 INFO L272 TraceCheckUtils]: 39: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:18,627 INFO L290 TraceCheckUtils]: 40: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:18,627 INFO L290 TraceCheckUtils]: 41: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:18,628 INFO L290 TraceCheckUtils]: 42: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:18,628 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8372#true} {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} #78#return; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 05:42:18,628 INFO L290 TraceCheckUtils]: 44: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} assume !!(~a~0 != ~b~0); {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-08 05:42:18,629 INFO L290 TraceCheckUtils]: 45: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-08 05:42:18,629 INFO L290 TraceCheckUtils]: 46: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} assume !false; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-08 05:42:18,629 INFO L272 TraceCheckUtils]: 47: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:18,629 INFO L290 TraceCheckUtils]: 48: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:18,629 INFO L290 TraceCheckUtils]: 49: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:18,630 INFO L290 TraceCheckUtils]: 50: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:18,630 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8372#true} {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} #74#return; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-08 05:42:18,630 INFO L272 TraceCheckUtils]: 52: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:18,630 INFO L290 TraceCheckUtils]: 53: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:18,630 INFO L290 TraceCheckUtils]: 54: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:18,630 INFO L290 TraceCheckUtils]: 55: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:18,632 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8372#true} {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} #76#return; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-08 05:42:18,632 INFO L272 TraceCheckUtils]: 57: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:18,632 INFO L290 TraceCheckUtils]: 58: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:18,632 INFO L290 TraceCheckUtils]: 59: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:18,632 INFO L290 TraceCheckUtils]: 60: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:18,633 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8372#true} {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} #78#return; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-08 05:42:18,633 INFO L290 TraceCheckUtils]: 62: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} assume !!(~a~0 != ~b~0); {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-08 05:42:18,634 INFO L290 TraceCheckUtils]: 63: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8373#false} is VALID [2022-04-08 05:42:18,634 INFO L290 TraceCheckUtils]: 64: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-08 05:42:18,634 INFO L272 TraceCheckUtils]: 65: Hoare triple {8373#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8373#false} is VALID [2022-04-08 05:42:18,634 INFO L290 TraceCheckUtils]: 66: Hoare triple {8373#false} ~cond := #in~cond; {8373#false} is VALID [2022-04-08 05:42:18,634 INFO L290 TraceCheckUtils]: 67: Hoare triple {8373#false} assume !(0 == ~cond); {8373#false} is VALID [2022-04-08 05:42:18,634 INFO L290 TraceCheckUtils]: 68: Hoare triple {8373#false} assume true; {8373#false} is VALID [2022-04-08 05:42:18,634 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8373#false} {8373#false} #74#return; {8373#false} is VALID [2022-04-08 05:42:18,634 INFO L272 TraceCheckUtils]: 70: Hoare triple {8373#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8373#false} is VALID [2022-04-08 05:42:18,634 INFO L290 TraceCheckUtils]: 71: Hoare triple {8373#false} ~cond := #in~cond; {8373#false} is VALID [2022-04-08 05:42:18,634 INFO L290 TraceCheckUtils]: 72: Hoare triple {8373#false} assume 0 == ~cond; {8373#false} is VALID [2022-04-08 05:42:18,634 INFO L290 TraceCheckUtils]: 73: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-08 05:42:18,634 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 54 proven. 6 refuted. 0 times theorem prover too weak. 74 trivial. 0 not checked. [2022-04-08 05:42:18,634 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:42:19,532 INFO L290 TraceCheckUtils]: 73: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-08 05:42:19,532 INFO L290 TraceCheckUtils]: 72: Hoare triple {8373#false} assume 0 == ~cond; {8373#false} is VALID [2022-04-08 05:42:19,532 INFO L290 TraceCheckUtils]: 71: Hoare triple {8373#false} ~cond := #in~cond; {8373#false} is VALID [2022-04-08 05:42:19,532 INFO L272 TraceCheckUtils]: 70: Hoare triple {8373#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8373#false} is VALID [2022-04-08 05:42:19,532 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8372#true} {8373#false} #74#return; {8373#false} is VALID [2022-04-08 05:42:19,532 INFO L290 TraceCheckUtils]: 68: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:19,532 INFO L290 TraceCheckUtils]: 67: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:19,532 INFO L290 TraceCheckUtils]: 66: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:19,532 INFO L272 TraceCheckUtils]: 65: Hoare triple {8373#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:19,532 INFO L290 TraceCheckUtils]: 64: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-08 05:42:19,533 INFO L290 TraceCheckUtils]: 63: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8373#false} is VALID [2022-04-08 05:42:19,533 INFO L290 TraceCheckUtils]: 62: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} assume !!(~a~0 != ~b~0); {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:19,533 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8372#true} {8632#(not (< main_~b~0 main_~a~0))} #78#return; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:19,533 INFO L290 TraceCheckUtils]: 60: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:19,533 INFO L290 TraceCheckUtils]: 59: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:19,534 INFO L290 TraceCheckUtils]: 58: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:19,534 INFO L272 TraceCheckUtils]: 57: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:19,534 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8372#true} {8632#(not (< main_~b~0 main_~a~0))} #76#return; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:19,534 INFO L290 TraceCheckUtils]: 55: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:19,534 INFO L290 TraceCheckUtils]: 54: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:19,534 INFO L290 TraceCheckUtils]: 53: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:19,534 INFO L272 TraceCheckUtils]: 52: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:19,535 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8372#true} {8632#(not (< main_~b~0 main_~a~0))} #74#return; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:19,535 INFO L290 TraceCheckUtils]: 50: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:19,535 INFO L290 TraceCheckUtils]: 49: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:19,535 INFO L290 TraceCheckUtils]: 48: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:19,535 INFO L272 TraceCheckUtils]: 47: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:19,535 INFO L290 TraceCheckUtils]: 46: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} assume !false; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:19,536 INFO L290 TraceCheckUtils]: 45: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:19,536 INFO L290 TraceCheckUtils]: 44: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} assume !!(~a~0 != ~b~0); {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-08 05:42:19,537 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8372#true} {8687#(<= main_~a~0 (* main_~b~0 2))} #78#return; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-08 05:42:19,537 INFO L290 TraceCheckUtils]: 42: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:19,537 INFO L290 TraceCheckUtils]: 41: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:19,537 INFO L290 TraceCheckUtils]: 40: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:19,537 INFO L272 TraceCheckUtils]: 39: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:19,537 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8372#true} {8687#(<= main_~a~0 (* main_~b~0 2))} #76#return; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-08 05:42:19,537 INFO L290 TraceCheckUtils]: 37: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:19,538 INFO L290 TraceCheckUtils]: 36: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:19,538 INFO L290 TraceCheckUtils]: 35: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:19,538 INFO L272 TraceCheckUtils]: 34: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:19,539 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8372#true} {8687#(<= main_~a~0 (* main_~b~0 2))} #74#return; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-08 05:42:19,539 INFO L290 TraceCheckUtils]: 32: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:19,539 INFO L290 TraceCheckUtils]: 31: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:19,539 INFO L290 TraceCheckUtils]: 30: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:19,539 INFO L272 TraceCheckUtils]: 29: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:19,539 INFO L290 TraceCheckUtils]: 28: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} assume !false; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-08 05:42:19,540 INFO L290 TraceCheckUtils]: 27: Hoare triple {8742#(<= (div (- main_~x~0) (- 2)) main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-08 05:42:19,540 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} #72#return; {8742#(<= (div (- main_~x~0) (- 2)) main_~y~0)} is VALID [2022-04-08 05:42:19,540 INFO L290 TraceCheckUtils]: 25: Hoare triple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:19,541 INFO L290 TraceCheckUtils]: 24: Hoare triple {8756#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:19,541 INFO L290 TraceCheckUtils]: 23: Hoare triple {8372#true} ~cond := #in~cond; {8756#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:42:19,541 INFO L272 TraceCheckUtils]: 22: Hoare triple {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:19,541 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8372#true} {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} #70#return; {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} is VALID [2022-04-08 05:42:19,541 INFO L290 TraceCheckUtils]: 20: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:19,541 INFO L290 TraceCheckUtils]: 19: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:19,542 INFO L290 TraceCheckUtils]: 18: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:19,542 INFO L272 TraceCheckUtils]: 17: Hoare triple {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:19,542 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8372#true} {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} #68#return; {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} is VALID [2022-04-08 05:42:19,542 INFO L290 TraceCheckUtils]: 15: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:19,542 INFO L290 TraceCheckUtils]: 14: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-08 05:42:19,542 INFO L290 TraceCheckUtils]: 13: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-08 05:42:19,542 INFO L272 TraceCheckUtils]: 12: Hoare triple {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:19,544 INFO L290 TraceCheckUtils]: 11: Hoare triple {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} is VALID [2022-04-08 05:42:19,544 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} {8372#true} #66#return; {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} is VALID [2022-04-08 05:42:19,545 INFO L290 TraceCheckUtils]: 9: Hoare triple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:19,545 INFO L290 TraceCheckUtils]: 8: Hoare triple {8756#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:19,545 INFO L290 TraceCheckUtils]: 7: Hoare triple {8372#true} ~cond := #in~cond; {8756#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:42:19,545 INFO L272 TraceCheckUtils]: 6: Hoare triple {8372#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8372#true} is VALID [2022-04-08 05:42:19,546 INFO L290 TraceCheckUtils]: 5: Hoare triple {8372#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8372#true} is VALID [2022-04-08 05:42:19,546 INFO L272 TraceCheckUtils]: 4: Hoare triple {8372#true} call #t~ret6 := main(); {8372#true} is VALID [2022-04-08 05:42:19,546 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8372#true} {8372#true} #88#return; {8372#true} is VALID [2022-04-08 05:42:19,546 INFO L290 TraceCheckUtils]: 2: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-08 05:42:19,546 INFO L290 TraceCheckUtils]: 1: Hoare triple {8372#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(10, 2);call #Ultimate.allocInit(12, 3); {8372#true} is VALID [2022-04-08 05:42:19,546 INFO L272 TraceCheckUtils]: 0: Hoare triple {8372#true} call ULTIMATE.init(); {8372#true} is VALID [2022-04-08 05:42:19,546 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 26 proven. 12 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-08 05:42:19,546 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:19,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1672038611] [2022-04-08 05:42:19,546 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:19,546 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [103567039] [2022-04-08 05:42:19,546 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [103567039] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:42:19,546 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:42:19,546 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-08 05:42:19,547 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:19,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [211983123] [2022-04-08 05:42:19,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [211983123] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:19,547 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:19,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 05:42:19,547 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [495634648] [2022-04-08 05:42:19,547 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:19,547 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-08 05:42:19,547 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:19,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:42:19,591 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-08 05:42:19,591 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 05:42:19,591 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:19,592 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 05:42:19,592 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-08 05:42:19,592 INFO L87 Difference]: Start difference. First operand 106 states and 124 transitions. Second operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:42:20,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:20,130 INFO L93 Difference]: Finished difference Result 123 states and 139 transitions. [2022-04-08 05:42:20,130 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 05:42:20,130 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-08 05:42:20,130 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:20,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:42:20,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2022-04-08 05:42:20,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:42:20,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2022-04-08 05:42:20,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 75 transitions. [2022-04-08 05:42:20,185 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:20,187 INFO L225 Difference]: With dead ends: 123 [2022-04-08 05:42:20,187 INFO L226 Difference]: Without dead ends: 85 [2022-04-08 05:42:20,187 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 136 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2022-04-08 05:42:20,187 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 10 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:20,188 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 191 Invalid, 124 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:42:20,188 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-08 05:42:20,313 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 85. [2022-04-08 05:42:20,313 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:20,314 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 05:42:20,314 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 05:42:20,314 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 05:42:20,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:20,316 INFO L93 Difference]: Finished difference Result 85 states and 100 transitions. [2022-04-08 05:42:20,316 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-08 05:42:20,316 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:20,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:20,316 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 85 states. [2022-04-08 05:42:20,316 INFO L87 Difference]: Start difference. First operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 85 states. [2022-04-08 05:42:20,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:20,318 INFO L93 Difference]: Finished difference Result 85 states and 100 transitions. [2022-04-08 05:42:20,318 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-08 05:42:20,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:20,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:20,318 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:20,318 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:20,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 05:42:20,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 100 transitions. [2022-04-08 05:42:20,320 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 100 transitions. Word has length 74 [2022-04-08 05:42:20,320 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:20,320 INFO L478 AbstractCegarLoop]: Abstraction has 85 states and 100 transitions. [2022-04-08 05:42:20,320 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 05:42:20,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 100 transitions. [2022-04-08 05:42:20,453 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:20,453 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-08 05:42:20,453 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-08 05:42:20,453 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 05:42:20,454 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 05:42:20,471 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-08 05:42:20,654 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 05:42:20,654 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 05:42:20,654 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 05:42:20,655 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-08 05:42:20,655 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:20,655 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [199771792] [2022-04-08 05:42:20,655 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 05:42:20,655 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-08 05:42:20,655 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 05:42:20,655 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [779559266] [2022-04-08 05:42:20,655 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 05:42:20,655 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 05:42:20,665 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 05:42:20,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1690630815] [2022-04-08 05:42:20,665 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 05:42:20,665 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 05:42:20,665 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 05:42:20,666 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 05:42:20,666 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 05:42:20,701 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 05:42:20,701 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 05:42:20,702 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 05:42:20,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 05:42:20,713 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 05:42:21,183 INFO L272 TraceCheckUtils]: 0: Hoare triple {9420#true} call ULTIMATE.init(); {9420#true} is VALID [2022-04-08 05:42:21,183 INFO L290 TraceCheckUtils]: 1: Hoare triple {9420#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(10, 2);call #Ultimate.allocInit(12, 3); {9420#true} is VALID [2022-04-08 05:42:21,183 INFO L290 TraceCheckUtils]: 2: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:21,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9420#true} {9420#true} #88#return; {9420#true} is VALID [2022-04-08 05:42:21,184 INFO L272 TraceCheckUtils]: 4: Hoare triple {9420#true} call #t~ret6 := main(); {9420#true} is VALID [2022-04-08 05:42:21,184 INFO L290 TraceCheckUtils]: 5: Hoare triple {9420#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9420#true} is VALID [2022-04-08 05:42:21,184 INFO L272 TraceCheckUtils]: 6: Hoare triple {9420#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:21,184 INFO L290 TraceCheckUtils]: 7: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:21,184 INFO L290 TraceCheckUtils]: 8: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:21,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:21,184 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9420#true} {9420#true} #66#return; {9420#true} is VALID [2022-04-08 05:42:21,184 INFO L290 TraceCheckUtils]: 11: Hoare triple {9420#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9420#true} is VALID [2022-04-08 05:42:21,184 INFO L272 TraceCheckUtils]: 12: Hoare triple {9420#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:21,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {9420#true} ~cond := #in~cond; {9464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:42:21,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {9464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:21,186 INFO L290 TraceCheckUtils]: 15: Hoare triple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:21,187 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} {9420#true} #68#return; {9475#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-08 05:42:21,187 INFO L272 TraceCheckUtils]: 17: Hoare triple {9475#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:21,187 INFO L290 TraceCheckUtils]: 18: Hoare triple {9420#true} ~cond := #in~cond; {9464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 05:42:21,188 INFO L290 TraceCheckUtils]: 19: Hoare triple {9464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:21,188 INFO L290 TraceCheckUtils]: 20: Hoare triple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:21,188 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} {9475#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #70#return; {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-08 05:42:21,188 INFO L272 TraceCheckUtils]: 22: Hoare triple {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:21,188 INFO L290 TraceCheckUtils]: 23: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:21,188 INFO L290 TraceCheckUtils]: 24: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:21,189 INFO L290 TraceCheckUtils]: 25: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:21,189 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9420#true} {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #72#return; {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-08 05:42:21,189 INFO L290 TraceCheckUtils]: 27: Hoare triple {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-08 05:42:21,189 INFO L290 TraceCheckUtils]: 28: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} assume !false; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-08 05:42:21,190 INFO L272 TraceCheckUtils]: 29: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:21,190 INFO L290 TraceCheckUtils]: 30: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:21,190 INFO L290 TraceCheckUtils]: 31: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:21,190 INFO L290 TraceCheckUtils]: 32: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:21,190 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9420#true} {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} #74#return; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-08 05:42:21,190 INFO L272 TraceCheckUtils]: 34: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:21,190 INFO L290 TraceCheckUtils]: 35: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:21,190 INFO L290 TraceCheckUtils]: 36: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:21,190 INFO L290 TraceCheckUtils]: 37: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:21,191 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9420#true} {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} #76#return; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-08 05:42:21,191 INFO L272 TraceCheckUtils]: 39: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:21,191 INFO L290 TraceCheckUtils]: 40: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:21,191 INFO L290 TraceCheckUtils]: 41: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:21,191 INFO L290 TraceCheckUtils]: 42: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:21,192 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {9420#true} {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} #78#return; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-08 05:42:21,192 INFO L290 TraceCheckUtils]: 44: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} assume !!(~a~0 != ~b~0); {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-08 05:42:21,193 INFO L290 TraceCheckUtils]: 45: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-08 05:42:21,193 INFO L290 TraceCheckUtils]: 46: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} assume !false; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-08 05:42:21,193 INFO L272 TraceCheckUtils]: 47: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:21,193 INFO L290 TraceCheckUtils]: 48: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:21,193 INFO L290 TraceCheckUtils]: 49: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:21,193 INFO L290 TraceCheckUtils]: 50: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:21,194 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9420#true} {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} #74#return; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-08 05:42:21,194 INFO L272 TraceCheckUtils]: 52: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:21,194 INFO L290 TraceCheckUtils]: 53: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:21,194 INFO L290 TraceCheckUtils]: 54: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:21,194 INFO L290 TraceCheckUtils]: 55: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:21,194 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9420#true} {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} #76#return; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-08 05:42:21,194 INFO L272 TraceCheckUtils]: 57: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:21,194 INFO L290 TraceCheckUtils]: 58: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:21,194 INFO L290 TraceCheckUtils]: 59: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:21,194 INFO L290 TraceCheckUtils]: 60: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:21,195 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9420#true} {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} #78#return; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-08 05:42:21,195 INFO L290 TraceCheckUtils]: 62: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} assume !!(~a~0 != ~b~0); {9617#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-08 05:42:21,196 INFO L290 TraceCheckUtils]: 63: Hoare triple {9617#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9421#false} is VALID [2022-04-08 05:42:21,196 INFO L290 TraceCheckUtils]: 64: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-08 05:42:21,196 INFO L272 TraceCheckUtils]: 65: Hoare triple {9421#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9421#false} is VALID [2022-04-08 05:42:21,196 INFO L290 TraceCheckUtils]: 66: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-08 05:42:21,196 INFO L290 TraceCheckUtils]: 67: Hoare triple {9421#false} assume !(0 == ~cond); {9421#false} is VALID [2022-04-08 05:42:21,196 INFO L290 TraceCheckUtils]: 68: Hoare triple {9421#false} assume true; {9421#false} is VALID [2022-04-08 05:42:21,196 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {9421#false} {9421#false} #74#return; {9421#false} is VALID [2022-04-08 05:42:21,196 INFO L272 TraceCheckUtils]: 70: Hoare triple {9421#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9421#false} is VALID [2022-04-08 05:42:21,196 INFO L290 TraceCheckUtils]: 71: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-08 05:42:21,196 INFO L290 TraceCheckUtils]: 72: Hoare triple {9421#false} assume !(0 == ~cond); {9421#false} is VALID [2022-04-08 05:42:21,196 INFO L290 TraceCheckUtils]: 73: Hoare triple {9421#false} assume true; {9421#false} is VALID [2022-04-08 05:42:21,196 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {9421#false} {9421#false} #76#return; {9421#false} is VALID [2022-04-08 05:42:21,196 INFO L272 TraceCheckUtils]: 75: Hoare triple {9421#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9421#false} is VALID [2022-04-08 05:42:21,197 INFO L290 TraceCheckUtils]: 76: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-08 05:42:21,197 INFO L290 TraceCheckUtils]: 77: Hoare triple {9421#false} assume 0 == ~cond; {9421#false} is VALID [2022-04-08 05:42:21,197 INFO L290 TraceCheckUtils]: 78: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-08 05:42:21,197 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 80 proven. 6 refuted. 0 times theorem prover too weak. 80 trivial. 0 not checked. [2022-04-08 05:42:21,197 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 05:42:22,087 INFO L290 TraceCheckUtils]: 78: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-08 05:42:22,087 INFO L290 TraceCheckUtils]: 77: Hoare triple {9421#false} assume 0 == ~cond; {9421#false} is VALID [2022-04-08 05:42:22,087 INFO L290 TraceCheckUtils]: 76: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-08 05:42:22,087 INFO L272 TraceCheckUtils]: 75: Hoare triple {9421#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9421#false} is VALID [2022-04-08 05:42:22,087 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {9420#true} {9421#false} #76#return; {9421#false} is VALID [2022-04-08 05:42:22,087 INFO L290 TraceCheckUtils]: 73: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:22,087 INFO L290 TraceCheckUtils]: 72: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:22,087 INFO L290 TraceCheckUtils]: 71: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:22,087 INFO L272 TraceCheckUtils]: 70: Hoare triple {9421#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:22,087 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {9420#true} {9421#false} #74#return; {9421#false} is VALID [2022-04-08 05:42:22,087 INFO L290 TraceCheckUtils]: 68: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:22,087 INFO L290 TraceCheckUtils]: 67: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:22,087 INFO L290 TraceCheckUtils]: 66: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:22,088 INFO L272 TraceCheckUtils]: 65: Hoare triple {9421#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:22,088 INFO L290 TraceCheckUtils]: 64: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-08 05:42:22,088 INFO L290 TraceCheckUtils]: 63: Hoare triple {9711#(< main_~b~0 main_~a~0)} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9421#false} is VALID [2022-04-08 05:42:22,088 INFO L290 TraceCheckUtils]: 62: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} assume !!(~a~0 != ~b~0); {9711#(< main_~b~0 main_~a~0)} is VALID [2022-04-08 05:42:22,089 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9420#true} {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #78#return; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:22,089 INFO L290 TraceCheckUtils]: 60: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:22,089 INFO L290 TraceCheckUtils]: 59: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:22,089 INFO L290 TraceCheckUtils]: 58: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:22,089 INFO L272 TraceCheckUtils]: 57: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:22,089 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9420#true} {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #76#return; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:22,089 INFO L290 TraceCheckUtils]: 55: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:22,090 INFO L290 TraceCheckUtils]: 54: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:22,090 INFO L290 TraceCheckUtils]: 53: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:22,090 INFO L272 TraceCheckUtils]: 52: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:22,090 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9420#true} {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #74#return; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:22,090 INFO L290 TraceCheckUtils]: 50: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:22,090 INFO L290 TraceCheckUtils]: 49: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:22,090 INFO L290 TraceCheckUtils]: 48: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:22,090 INFO L272 TraceCheckUtils]: 47: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:22,091 INFO L290 TraceCheckUtils]: 46: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} assume !false; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:22,091 INFO L290 TraceCheckUtils]: 45: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-08 05:42:22,092 INFO L290 TraceCheckUtils]: 44: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} assume !!(~a~0 != ~b~0); {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-08 05:42:22,092 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {9420#true} {9767#(<= main_~b~0 (* main_~a~0 2))} #78#return; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-08 05:42:22,092 INFO L290 TraceCheckUtils]: 42: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:22,092 INFO L290 TraceCheckUtils]: 41: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:22,092 INFO L290 TraceCheckUtils]: 40: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:22,092 INFO L272 TraceCheckUtils]: 39: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:22,093 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9420#true} {9767#(<= main_~b~0 (* main_~a~0 2))} #76#return; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-08 05:42:22,093 INFO L290 TraceCheckUtils]: 37: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:22,093 INFO L290 TraceCheckUtils]: 36: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:22,093 INFO L290 TraceCheckUtils]: 35: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:22,093 INFO L272 TraceCheckUtils]: 34: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:22,093 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9420#true} {9767#(<= main_~b~0 (* main_~a~0 2))} #74#return; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-08 05:42:22,093 INFO L290 TraceCheckUtils]: 32: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:22,094 INFO L290 TraceCheckUtils]: 31: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:22,094 INFO L290 TraceCheckUtils]: 30: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:22,094 INFO L272 TraceCheckUtils]: 29: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:22,094 INFO L290 TraceCheckUtils]: 28: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} assume !false; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-08 05:42:22,094 INFO L290 TraceCheckUtils]: 27: Hoare triple {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-08 05:42:22,095 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9420#true} {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} #72#return; {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} is VALID [2022-04-08 05:42:22,095 INFO L290 TraceCheckUtils]: 25: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:22,095 INFO L290 TraceCheckUtils]: 24: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:22,095 INFO L290 TraceCheckUtils]: 23: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:22,095 INFO L272 TraceCheckUtils]: 22: Hoare triple {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:22,096 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} {9841#(<= (div (* (- 1) main_~y~0) (- 2)) 1)} #70#return; {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} is VALID [2022-04-08 05:42:22,096 INFO L290 TraceCheckUtils]: 20: Hoare triple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:22,096 INFO L290 TraceCheckUtils]: 19: Hoare triple {9851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:22,096 INFO L290 TraceCheckUtils]: 18: Hoare triple {9420#true} ~cond := #in~cond; {9851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:42:22,096 INFO L272 TraceCheckUtils]: 17: Hoare triple {9841#(<= (div (* (- 1) main_~y~0) (- 2)) 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:22,097 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} {9420#true} #68#return; {9841#(<= (div (* (- 1) main_~y~0) (- 2)) 1)} is VALID [2022-04-08 05:42:22,097 INFO L290 TraceCheckUtils]: 15: Hoare triple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:22,097 INFO L290 TraceCheckUtils]: 14: Hoare triple {9851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 05:42:22,098 INFO L290 TraceCheckUtils]: 13: Hoare triple {9420#true} ~cond := #in~cond; {9851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 05:42:22,098 INFO L272 TraceCheckUtils]: 12: Hoare triple {9420#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:22,098 INFO L290 TraceCheckUtils]: 11: Hoare triple {9420#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9420#true} is VALID [2022-04-08 05:42:22,098 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9420#true} {9420#true} #66#return; {9420#true} is VALID [2022-04-08 05:42:22,098 INFO L290 TraceCheckUtils]: 9: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:22,098 INFO L290 TraceCheckUtils]: 8: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-08 05:42:22,098 INFO L290 TraceCheckUtils]: 7: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-08 05:42:22,098 INFO L272 TraceCheckUtils]: 6: Hoare triple {9420#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {9420#true} is VALID [2022-04-08 05:42:22,098 INFO L290 TraceCheckUtils]: 5: Hoare triple {9420#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9420#true} is VALID [2022-04-08 05:42:22,098 INFO L272 TraceCheckUtils]: 4: Hoare triple {9420#true} call #t~ret6 := main(); {9420#true} is VALID [2022-04-08 05:42:22,098 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9420#true} {9420#true} #88#return; {9420#true} is VALID [2022-04-08 05:42:22,098 INFO L290 TraceCheckUtils]: 2: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-08 05:42:22,098 INFO L290 TraceCheckUtils]: 1: Hoare triple {9420#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(10, 2);call #Ultimate.allocInit(12, 3); {9420#true} is VALID [2022-04-08 05:42:22,098 INFO L272 TraceCheckUtils]: 0: Hoare triple {9420#true} call ULTIMATE.init(); {9420#true} is VALID [2022-04-08 05:42:22,099 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 30 proven. 12 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-08 05:42:22,099 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 05:42:22,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [779559266] [2022-04-08 05:42:22,099 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 05:42:22,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1690630815] [2022-04-08 05:42:22,099 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1690630815] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 05:42:22,099 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 05:42:22,099 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2022-04-08 05:42:22,099 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 05:42:22,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [199771792] [2022-04-08 05:42:22,099 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [199771792] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 05:42:22,099 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 05:42:22,100 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 05:42:22,100 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [704066507] [2022-04-08 05:42:22,100 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 05:42:22,100 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 79 [2022-04-08 05:42:22,100 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 05:42:22,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 05:42:22,134 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:22,134 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 05:42:22,134 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 05:42:22,134 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 05:42:22,134 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-08 05:42:22,134 INFO L87 Difference]: Start difference. First operand 85 states and 100 transitions. Second operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 05:42:22,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:22,471 INFO L93 Difference]: Finished difference Result 93 states and 106 transitions. [2022-04-08 05:42:22,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 05:42:22,471 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 79 [2022-04-08 05:42:22,471 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 05:42:22,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 05:42:22,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-08 05:42:22,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 05:42:22,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-08 05:42:22,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-04-08 05:42:22,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:22,520 INFO L225 Difference]: With dead ends: 93 [2022-04-08 05:42:22,521 INFO L226 Difference]: Without dead ends: 0 [2022-04-08 05:42:22,521 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 144 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=81, Invalid=261, Unknown=0, NotChecked=0, Total=342 [2022-04-08 05:42:22,522 INFO L913 BasicCegarLoop]: 30 mSDtfsCounter, 6 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 99 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 05:42:22,522 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [7 Valid, 115 Invalid, 99 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 05:42:22,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-08 05:42:22,522 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-08 05:42:22,522 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 05:42:22,522 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 05:42:22,523 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 05:42:22,523 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 05:42:22,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:22,523 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 05:42:22,523 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 05:42:22,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:22,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:22,523 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 05:42:22,523 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-08 05:42:22,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 05:42:22,523 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-08 05:42:22,523 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 05:42:22,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:22,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 05:42:22,523 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 05:42:22,524 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 05:42:22,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-08 05:42:22,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-08 05:42:22,524 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 79 [2022-04-08 05:42:22,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 05:42:22,524 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-08 05:42:22,524 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 05:42:22,524 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-08 05:42:22,524 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 05:42:22,524 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-08 05:42:22,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 05:42:22,527 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-08 05:42:22,556 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 05:42:22,739 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 05:42:22,741 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-08 05:42:24,364 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-08 05:42:24,364 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-08 05:42:24,364 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-08 05:42:24,364 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-08 05:42:24,365 INFO L878 garLoopResultBuilder]: At program point L8(line 8) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-08 05:42:24,365 INFO L878 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-08 05:42:24,365 INFO L878 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-08 05:42:24,365 INFO L878 garLoopResultBuilder]: At program point L35-2(lines 35 52) the Hoare annotation is: (let ((.cse4 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (let ((.cse0 (= main_~s~0 1)) (.cse1 (= main_~a~0 .cse4)) (.cse2 (<= 1 main_~y~0)) (.cse3 (= main_~p~0 1))) (or (and (= main_~b~0 main_~a~0) (<= 1 main_~x~0) .cse0 .cse1 (= main_~b~0 main_~y~0) (= main_~q~0 0) .cse2 .cse3) (and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= main_~b~0 .cse4) .cse0 .cse1 (= (+ main_~q~0 1) 0) .cse2 (= main_~a~0 main_~x~0) (<= main_~x~0 2) .cse3)))) [2022-04-08 05:42:24,365 INFO L878 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (<= main_~x~0 2)) [2022-04-08 05:42:24,365 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 18 59) the Hoare annotation is: true [2022-04-08 05:42:24,365 INFO L878 garLoopResultBuilder]: At program point L56(line 56) the Hoare annotation is: (let ((.cse1 (<= 1 main_~x~0)) (.cse2 (= main_~s~0 1)) (.cse3 (<= 1 main_~y~0))) (or (let ((.cse0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= main_~b~0 .cse0) .cse1 .cse2 (= main_~a~0 .cse0) (= (+ main_~q~0 1) 0) .cse3 (<= main_~x~0 2))) (and .cse1 .cse2 (= main_~b~0 main_~y~0) (= main_~q~0 0) .cse3))) [2022-04-08 05:42:24,365 INFO L878 garLoopResultBuilder]: At program point L54(line 54) the Hoare annotation is: (let ((.cse4 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (let ((.cse0 (= main_~s~0 1)) (.cse1 (= main_~a~0 .cse4)) (.cse2 (<= 1 main_~y~0)) (.cse3 (= main_~p~0 1))) (or (and (= main_~b~0 main_~a~0) (<= 1 main_~x~0) .cse0 .cse1 (= main_~b~0 main_~y~0) (= main_~q~0 0) .cse2 .cse3) (and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= main_~b~0 .cse4) .cse0 .cse1 (= (+ main_~q~0 1) 0) .cse2 (= main_~a~0 main_~x~0) (<= main_~x~0 2) .cse3)))) [2022-04-08 05:42:24,365 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 18 59) the Hoare annotation is: true [2022-04-08 05:42:24,365 INFO L878 garLoopResultBuilder]: At program point L38(lines 35 52) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (<= (+ main_~b~0 main_~a~0) 2) (= (+ main_~r~0 1) 0) .cse1 .cse2 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-08 05:42:24,365 INFO L878 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) .cse1 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 (< main_~b~0 2) .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-08 05:42:24,365 INFO L878 garLoopResultBuilder]: At program point L36-1(line 36) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) .cse1 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 (< main_~b~0 2) .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-08 05:42:24,365 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 18 59) the Hoare annotation is: true [2022-04-08 05:42:24,365 INFO L878 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= 1 main_~x~0) (<= main_~y~0 2) (<= 1 main_~y~0) (<= main_~x~0 2)) [2022-04-08 05:42:24,365 INFO L885 garLoopResultBuilder]: At program point L57(line 57) the Hoare annotation is: true [2022-04-08 05:42:24,365 INFO L878 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-08 05:42:24,366 INFO L878 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-08 05:42:24,366 INFO L878 garLoopResultBuilder]: At program point L55(line 55) the Hoare annotation is: (let ((.cse0 (<= 1 main_~x~0)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~b~0 main_~y~0)) (.cse3 (= main_~q~0 0)) (.cse4 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse5 (= main_~p~0 1))) (or (and (= main_~b~0 main_~a~0) .cse0 .cse1 .cse2 .cse3 .cse4 .cse5) (let ((.cse6 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= main_~b~0 .cse6) .cse1 (= main_~a~0 .cse6) (= (+ main_~q~0 1) 0) .cse4 .cse7 (<= main_~x~0 2) .cse5)) (and (= main_~r~0 0) .cse0 .cse1 .cse2 .cse3 .cse4 .cse7 .cse5))) [2022-04-08 05:42:24,366 INFO L885 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-08 05:42:24,366 INFO L878 garLoopResultBuilder]: At program point L22-1(line 22) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-08 05:42:24,366 INFO L878 garLoopResultBuilder]: At program point L43(lines 43 51) the Hoare annotation is: (and (<= main_~y~0 2) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1)) [2022-04-08 05:42:24,366 INFO L878 garLoopResultBuilder]: At program point L43-2(lines 35 52) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) .cse1 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 (< main_~b~0 2) .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-08 05:42:24,366 INFO L878 garLoopResultBuilder]: At program point L37(line 37) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (<= (+ main_~b~0 main_~a~0) 2) (= (+ main_~r~0 1) 0) .cse1 .cse2 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-08 05:42:24,366 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-08 05:42:24,366 INFO L878 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-08 05:42:24,366 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-08 05:42:24,366 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-08 05:42:24,366 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-08 05:42:24,366 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-08 05:42:24,366 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-08 05:42:24,366 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-08 05:42:24,366 INFO L878 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 05:42:24,366 INFO L878 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-08 05:42:24,366 INFO L878 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-08 05:42:24,366 INFO L878 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-08 05:42:24,367 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-08 05:42:24,369 INFO L719 BasicCegarLoop]: Path program histogram: [6, 4, 4, 2, 2, 2, 2, 2, 2] [2022-04-08 05:42:24,369 INFO L178 ceAbstractionStarter]: Computing trace abstraction results [2022-04-08 05:42:24,371 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-08 05:42:24,381 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-08 05:42:24,411 INFO L163 areAnnotationChecker]: CFG has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-08 05:42:24,422 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.04 05:42:24 BoogieIcfgContainer [2022-04-08 05:42:24,422 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-08 05:42:24,423 INFO L158 Benchmark]: Toolchain (without parser) took 67074.99ms. Allocated memory was 182.5MB in the beginning and 219.2MB in the end (delta: 36.7MB). Free memory was 131.4MB in the beginning and 80.2MB in the end (delta: 51.2MB). Peak memory consumption was 101.8MB. Max. memory is 8.0GB. [2022-04-08 05:42:24,423 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 182.5MB. Free memory is still 147.4MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 05:42:24,424 INFO L158 Benchmark]: CACSL2BoogieTranslator took 259.81ms. Allocated memory is still 182.5MB. Free memory was 131.2MB in the beginning and 157.7MB in the end (delta: -26.5MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-08 05:42:24,424 INFO L158 Benchmark]: Boogie Preprocessor took 33.75ms. Allocated memory is still 182.5MB. Free memory was 157.7MB in the beginning and 156.0MB in the end (delta: 1.7MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-08 05:42:24,424 INFO L158 Benchmark]: RCFGBuilder took 275.68ms. Allocated memory is still 182.5MB. Free memory was 156.0MB in the beginning and 144.1MB in the end (delta: 11.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-08 05:42:24,424 INFO L158 Benchmark]: TraceAbstraction took 66501.90ms. Allocated memory was 182.5MB in the beginning and 219.2MB in the end (delta: 36.7MB). Free memory was 143.7MB in the beginning and 80.2MB in the end (delta: 63.5MB). Peak memory consumption was 114.6MB. Max. memory is 8.0GB. [2022-04-08 05:42:24,427 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 182.5MB. Free memory is still 147.4MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 259.81ms. Allocated memory is still 182.5MB. Free memory was 131.2MB in the beginning and 157.7MB in the end (delta: -26.5MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 33.75ms. Allocated memory is still 182.5MB. Free memory was 157.7MB in the beginning and 156.0MB in the end (delta: 1.7MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 275.68ms. Allocated memory is still 182.5MB. Free memory was 156.0MB in the beginning and 144.1MB in the end (delta: 11.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 66501.90ms. Allocated memory was 182.5MB in the beginning and 219.2MB in the end (delta: 36.7MB). Free memory was 143.7MB in the beginning and 80.2MB in the end (delta: 63.5MB). Peak memory consumption was 114.6MB. 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, 40 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 66.4s, OverallIterations: 13, TraceHistogramMax: 9, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 6.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.6s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 233 SdHoareTripleChecker+Valid, 1.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 159 mSDsluCounter, 1917 SdHoareTripleChecker+Invalid, 1.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1399 mSDsCounter, 109 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1309 IncrementalHoareTripleChecker+Invalid, 1418 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 109 mSolverCounterUnsat, 518 mSDtfsCounter, 1309 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1176 GetRequests, 1051 SyntacticMatches, 6 SemanticMatches, 119 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 151 ImplicationChecksByTransitivity, 0.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=131occurred in iteration=9, InterpolantAutomatonStates: 92, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.2s AutomataMinimizationTime, 13 MinimizatonAttempts, 12 StatesRemovedByMinimization, 5 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 37 LocationsWithAnnotation, 409 PreInvPairs, 510 NumberOfFragments, 1034 HoareAnnotationTreeSize, 409 FomulaSimplifications, 252 FormulaSimplificationTreeSizeReduction, 0.3s HoareSimplificationTime, 37 FomulaSimplificationsInter, 852 FormulaSimplificationTreeSizeReductionInter, 1.2s 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: 35]: Loop Invariant Derived loop invariant: (((((((((y == b + x && y <= 2) && s == 1) && a == y * r + p * x) && 1 <= a) && q + 1 == 0) && 0 < b) && a == x) && p == 1) || (((((((((a + y == x && r + 1 == 0) && s == 1) && 0 < a) && q == 0) && 1 <= b) && 1 <= y) && b < 2) && x <= 2) && p == 1)) || (((((((((y <= 2 && s == 1) && a == y * r + p * x) && 1 <= a) && b == y) && q == 0) && 1 <= y) && a == x) && x <= 2) && 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-08 05:42:24,444 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...