/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 14:44:07,384 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 14:44:07,386 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 14:44:07,418 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 14:44:07,418 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 14:44:07,419 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 14:44:07,421 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 14:44:07,422 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 14:44:07,424 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 14:44:07,427 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 14:44:07,427 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 14:44:07,428 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 14:44:07,428 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 14:44:07,432 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 14:44:07,432 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 14:44:07,434 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 14:44:07,435 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 14:44:07,435 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 14:44:07,437 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 14:44:07,440 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 14:44:07,442 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 14:44:07,442 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 14:44:07,443 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 14:44:07,443 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 14:44:07,444 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 14:44:07,448 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 14:44:07,449 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 14:44:07,449 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 14:44:07,449 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 14:44:07,449 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 14:44:07,450 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 14:44:07,450 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 14:44:07,451 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 14:44:07,452 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 14:44:07,452 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 14:44:07,452 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 14:44:07,453 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 14:44:07,453 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 14:44:07,453 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 14:44:07,453 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 14:44:07,454 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 14:44:07,455 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 14:44:07,455 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 14:44:07,463 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 14:44:07,463 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 14:44:07,464 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 14:44:07,464 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 14:44:07,464 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 14:44:07,465 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 14:44:07,465 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 14:44:07,465 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 14:44:07,465 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 14:44:07,465 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 14:44:07,465 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 14:44:07,465 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 14:44:07,466 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 14:44:07,466 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 14:44:07,466 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 14:44:07,466 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 14:44:07,466 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 14:44:07,466 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 14:44:07,466 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 14:44:07,466 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 14:44:07,466 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 14:44:07,466 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 14:44:07,466 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-15 14:44:07,600 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 14:44:07,613 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 14:44:07,614 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 14:44:07,615 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 14:44:07,617 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 14:44:07,618 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-15 14:44:07,669 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5a24a9bf0/ce552aa11e8d4f0eb1c69aaec514e5e3/FLAGe5dc66567 [2022-04-15 14:44:07,995 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 14:44:07,995 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound2.c [2022-04-15 14:44:07,999 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5a24a9bf0/ce552aa11e8d4f0eb1c69aaec514e5e3/FLAGe5dc66567 [2022-04-15 14:44:08,441 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5a24a9bf0/ce552aa11e8d4f0eb1c69aaec514e5e3 [2022-04-15 14:44:08,443 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 14:44:08,444 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 14:44:08,445 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 14:44:08,445 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 14:44:08,454 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 14:44:08,455 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 02:44:08" (1/1) ... [2022-04-15 14:44:08,455 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2322f66c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:44:08, skipping insertion in model container [2022-04-15 14:44:08,456 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 02:44:08" (1/1) ... [2022-04-15 14:44:08,463 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 14:44:08,471 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 14:44:08,577 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-15 14:44:08,606 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 14:44:08,611 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 14:44:08,619 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-15 14:44:08,625 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 14:44:08,633 INFO L208 MainTranslator]: Completed translation [2022-04-15 14:44:08,633 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:44:08 WrapperNode [2022-04-15 14:44:08,633 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 14:44:08,634 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 14:44:08,634 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 14:44:08,634 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 14:44:08,640 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:44:08" (1/1) ... [2022-04-15 14:44:08,640 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:44:08" (1/1) ... [2022-04-15 14:44:08,644 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:44:08" (1/1) ... [2022-04-15 14:44:08,644 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:44:08" (1/1) ... [2022-04-15 14:44:08,648 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:44:08" (1/1) ... [2022-04-15 14:44:08,650 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:44:08" (1/1) ... [2022-04-15 14:44:08,651 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:44:08" (1/1) ... [2022-04-15 14:44:08,652 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 14:44:08,653 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 14:44:08,653 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 14:44:08,653 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 14:44:08,653 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:44:08" (1/1) ... [2022-04-15 14:44:08,658 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 14:44:08,672 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:08,682 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-15 14:44:08,684 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-15 14:44:08,705 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 14:44:08,705 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 14:44:08,705 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 14:44:08,705 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 14:44:08,705 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 14:44:08,705 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 14:44:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 14:44:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 14:44:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 14:44:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 14:44:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 14:44:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 14:44:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 14:44:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 14:44:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 14:44:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 14:44:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 14:44:08,707 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 14:44:08,707 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 14:44:08,707 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 14:44:08,761 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 14:44:08,762 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 14:44:08,910 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 14:44:08,917 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 14:44:08,917 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 14:44:08,919 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 02:44:08 BoogieIcfgContainer [2022-04-15 14:44:08,919 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 14:44:08,920 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 14:44:08,920 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 14:44:08,927 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 14:44:08,928 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 02:44:08" (1/3) ... [2022-04-15 14:44:08,928 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@207963cc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 02:44:08, skipping insertion in model container [2022-04-15 14:44:08,928 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:44:08" (2/3) ... [2022-04-15 14:44:08,929 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@207963cc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 02:44:08, skipping insertion in model container [2022-04-15 14:44:08,929 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 02:44:08" (3/3) ... [2022-04-15 14:44:08,930 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound2.c [2022-04-15 14:44:08,935 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 14:44:08,935 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 14:44:08,962 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 14:44:08,967 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-15 14:44:08,967 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 14:44:08,980 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-15 14:44:08,988 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 14:44:08,988 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:08,988 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-15 14:44:08,989 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:08,992 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:08,992 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-15 14:44:08,997 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:08,998 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1713858712] [2022-04-15 14:44:09,004 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:09,005 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-15 14:44:09,007 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:09,007 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [442360820] [2022-04-15 14:44:09,007 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:09,008 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:09,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:09,141 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 14:44:09,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:09,167 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-15 14:44:09,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-15 14:44:09,167 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-15 14:44:09,168 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 14:44:09,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:09,180 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:44:09,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:44:09,182 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:44:09,182 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-15 14:44:09,183 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 14:44:09,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:09,195 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:44:09,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:44:09,196 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:44:09,196 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-15 14:44:09,197 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 14:44:09,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:09,212 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:44:09,213 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:44:09,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:44:09,214 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-15 14:44:09,214 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-15 14:44:09,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:09,227 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:44:09,228 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:44:09,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:44:09,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-15 14:44:09,230 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-15 14:44:09,230 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-15 14:44:09,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-15 14:44:09,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-15 14:44:09,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-15 14:44:09,232 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-15 14:44:09,232 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-15 14:44:09,232 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:44:09,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:44:09,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:44:09,233 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-15 14:44:09,233 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-15 14:44:09,233 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-15 14:44:09,234 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:44:09,234 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:44:09,234 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:44:09,234 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-15 14:44:09,234 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-15 14:44:09,235 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:44:09,235 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:44:09,235 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:44:09,236 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-15 14:44:09,236 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-15 14:44:09,236 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-15 14:44:09,237 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-15 14:44:09,238 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-15 14:44:09,238 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-15 14:44:09,238 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-15 14:44:09,240 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-15 14:44:09,240 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-15 14:44:09,241 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-15 14:44:09,241 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-15 14:44:09,241 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-15 14:44:09,242 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-15 14:44:09,242 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:09,242 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [442360820] [2022-04-15 14:44:09,243 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [442360820] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:09,243 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:09,243 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 14:44:09,247 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:09,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1713858712] [2022-04-15 14:44:09,248 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1713858712] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:09,248 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:09,248 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 14:44:09,249 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [576772725] [2022-04-15 14:44:09,249 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:09,253 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-15 14:44:09,255 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:09,257 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-15 14:44:09,291 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-15 14:44:09,291 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 14:44:09,292 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:09,310 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 14:44:09,311 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 14:44:09,314 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-15 14:44:09,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:09,489 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-15 14:44:09,493 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 14:44:09,493 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-15 14:44:09,493 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:09,494 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-15 14:44:09,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-15 14:44:09,511 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-15 14:44:09,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-15 14:44:09,517 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-15 14:44:09,637 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-15 14:44:09,656 INFO L225 Difference]: With dead ends: 67 [2022-04-15 14:44:09,656 INFO L226 Difference]: Without dead ends: 32 [2022-04-15 14:44:09,659 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-15 14:44:09,662 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-15 14:44:09,663 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-15 14:44:09,674 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-15 14:44:09,688 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-15 14:44:09,688 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:09,688 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-15 14:44:09,689 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-15 14:44:09,690 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-15 14:44:09,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:09,698 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-15 14:44:09,698 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-15 14:44:09,698 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:09,698 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:09,699 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-15 14:44:09,700 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-15 14:44:09,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:09,705 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-15 14:44:09,705 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-15 14:44:09,706 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:09,706 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:09,706 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:09,706 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:09,707 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-15 14:44:09,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-15 14:44:09,715 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-15 14:44:09,716 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:09,716 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-15 14:44:09,716 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-15 14:44:09,716 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-15 14:44:09,766 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-15 14:44:09,766 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-15 14:44:09,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 14:44:09,767 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:09,767 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-15 14:44:09,767 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 14:44:09,768 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:09,768 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:09,768 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-15 14:44:09,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:09,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1498150007] [2022-04-15 14:44:09,769 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:09,769 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-15 14:44:09,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:09,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [245977072] [2022-04-15 14:44:09,770 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:09,770 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:09,785 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:09,786 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [297713875] [2022-04-15 14:44:09,786 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:44:09,786 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:09,786 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:09,789 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-15 14:44:09,815 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-15 14:44:09,843 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 14:44:09,843 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:09,845 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:44:09,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:09,856 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:10,026 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-15 14:44:10,027 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-15 14:44:10,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:44:10,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-15 14:44:10,028 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-15 14:44:10,029 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-15 14:44:10,029 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-15 14:44:10,029 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 14:44:10,029 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 14:44:10,029 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:44:10,029 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-15 14:44:10,029 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-15 14:44:10,029 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-15 14:44:10,030 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 14:44:10,030 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 14:44:10,030 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:44:10,030 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-15 14:44:10,030 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-15 14:44:10,030 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 14:44:10,030 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 14:44:10,030 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:44:10,031 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-15 14:44:10,031 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-15 14:44:10,031 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-15 14:44:10,031 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-15 14:44:10,031 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-15 14:44:10,031 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-15 14:44:10,032 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-15 14:44:10,033 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-15 14:44:10,034 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-15 14:44:10,034 INFO L290 TraceCheckUtils]: 30: Hoare triple {419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:10,035 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-15 14:44:10,035 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-15 14:44:10,035 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-15 14:44:10,035 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:44:10,035 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:10,035 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [245977072] [2022-04-15 14:44:10,036 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:10,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [297713875] [2022-04-15 14:44:10,036 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [297713875] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:10,037 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:10,037 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:44:10,037 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:10,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1498150007] [2022-04-15 14:44:10,038 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1498150007] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:10,038 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:10,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:44:10,038 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [357182096] [2022-04-15 14:44:10,038 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:10,039 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-15 14:44:10,039 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:10,040 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-15 14:44:10,056 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-15 14:44:10,056 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:44:10,057 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:10,060 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:44:10,060 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:44:10,061 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-15 14:44:10,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:10,255 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-15 14:44:10,255 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:44:10,255 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-15 14:44:10,256 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:10,256 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-15 14:44:10,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:44:10,257 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-15 14:44:10,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-15 14:44:10,259 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-15 14:44:10,314 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-15 14:44:10,316 INFO L225 Difference]: With dead ends: 48 [2022-04-15 14:44:10,316 INFO L226 Difference]: Without dead ends: 46 [2022-04-15 14:44:10,316 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-15 14:44:10,317 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-15 14:44:10,317 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-15 14:44:10,318 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-15 14:44:10,327 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-15 14:44:10,327 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:10,328 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-15 14:44:10,328 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-15 14:44:10,328 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-15 14:44:10,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:10,331 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-15 14:44:10,331 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-15 14:44:10,331 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:10,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:10,332 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-15 14:44:10,332 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-15 14:44:10,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:10,334 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-15 14:44:10,334 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-15 14:44:10,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:10,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:10,335 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:10,335 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:10,336 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-15 14:44:10,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-15 14:44:10,337 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-15 14:44:10,338 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:10,338 INFO L478 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-15 14:44:10,338 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-15 14:44:10,338 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-15 14:44:10,390 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-15 14:44:10,390 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-15 14:44:10,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 14:44:10,391 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:10,391 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-15 14:44:10,415 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-15 14:44:10,613 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-15 14:44:10,614 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:10,614 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:10,614 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-15 14:44:10,614 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:10,614 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [852871191] [2022-04-15 14:44:10,615 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:10,615 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-15 14:44:10,615 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:10,615 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1245512979] [2022-04-15 14:44:10,615 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:10,615 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:10,631 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:10,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1434336942] [2022-04-15 14:44:10,631 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:44:10,632 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:10,632 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:10,633 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-15 14:44:10,634 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-15 14:44:10,668 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:44:10,668 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:10,669 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 14:44:10,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:10,683 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:10,887 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-15 14:44:10,887 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-15 14:44:10,888 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:44:10,888 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-15 14:44:10,888 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-15 14:44:10,888 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-15 14:44:10,888 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-15 14:44:10,888 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:44:10,888 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:44:10,889 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:44:10,889 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-15 14:44:10,889 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-15 14:44:10,889 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-15 14:44:10,889 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:44:10,889 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:44:10,889 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:44:10,890 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-15 14:44:10,890 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-15 14:44:10,892 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-15 14:44:10,892 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-15 14:44:10,892 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-15 14:44:10,893 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-15 14:44:10,893 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-15 14:44:10,893 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:44:10,893 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:44:10,893 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:44:10,894 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {779#(<= 1 main_~x~0)} #72#return; {779#(<= 1 main_~x~0)} is VALID [2022-04-15 14:44:10,895 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-15 14:44:10,895 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-15 14:44:10,895 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-15 14:44:10,895 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-15 14:44:10,895 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-15 14:44:10,896 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-15 14:44:10,898 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-15 14:44:10,898 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-15 14:44:10,907 INFO L290 TraceCheckUtils]: 35: Hoare triple {820#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:10,908 INFO L290 TraceCheckUtils]: 36: Hoare triple {824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-15 14:44:10,908 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-15 14:44:10,932 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-15 14:44:10,933 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:44:45,527 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:45,527 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1245512979] [2022-04-15 14:44:45,527 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:45,527 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1434336942] [2022-04-15 14:44:45,527 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1434336942] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 14:44:45,527 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:44:45,527 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2022-04-15 14:44:45,528 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:45,528 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [852871191] [2022-04-15 14:44:45,528 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [852871191] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:45,528 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:45,528 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:44:45,528 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1821080190] [2022-04-15 14:44:45,528 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:45,528 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-15 14:44:45,529 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:45,529 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-15 14:44:45,552 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-15 14:44:45,552 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:44:45,552 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:45,552 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:44:45,552 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:44:45,553 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-15 14:44:45,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:45,893 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-15 14:44:45,893 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:44:45,893 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-15 14:44:45,894 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:45,894 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-15 14:44:45,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-15 14:44:45,896 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-15 14:44:45,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-15 14:44:45,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-15 14:44:45,948 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-15 14:44:45,951 INFO L225 Difference]: With dead ends: 52 [2022-04-15 14:44:45,951 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 14:44:45,952 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 34 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-15 14:44:45,954 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-15 14:44:45,954 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-15 14:44:45,955 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 14:44:45,978 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-15 14:44:45,978 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:45,979 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-15 14:44:45,982 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-15 14:44:45,982 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-15 14:44:45,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:45,985 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-15 14:44:45,985 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-15 14:44:45,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:45,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:45,987 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-15 14:44:45,988 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-15 14:44:45,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:45,993 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-15 14:44:45,993 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-15 14:44:45,993 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:45,993 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:45,993 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:45,993 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:45,994 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-15 14:44:45,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-15 14:44:45,998 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-15 14:44:45,999 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:45,999 INFO L478 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-15 14:44:46,000 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-15 14:44:46,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-15 14:44:46,071 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-15 14:44:46,072 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-15 14:44:46,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 14:44:46,073 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:46,074 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-15 14:44:46,093 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-15 14:44:46,289 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-15 14:44:46,290 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:46,290 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:46,290 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-15 14:44:46,290 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:46,290 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [525739624] [2022-04-15 14:44:46,291 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:46,291 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-15 14:44:46,291 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:46,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [157199417] [2022-04-15 14:44:46,291 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:46,291 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:46,311 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:46,311 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [332986127] [2022-04-15 14:44:46,311 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:44:46,312 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:46,312 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:46,312 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-15 14:44:46,313 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-15 14:44:46,350 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:44:46,350 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:46,351 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 14:44:46,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:46,364 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:46,534 INFO L272 TraceCheckUtils]: 0: Hoare triple {1152#true} call ULTIMATE.init(); {1152#true} is VALID [2022-04-15 14:44:46,535 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-15 14:44:46,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-15 14:44:46,535 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1152#true} {1152#true} #88#return; {1152#true} is VALID [2022-04-15 14:44:46,535 INFO L272 TraceCheckUtils]: 4: Hoare triple {1152#true} call #t~ret6 := main(); {1152#true} is VALID [2022-04-15 14:44:46,535 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-15 14:44:46,535 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-15 14:44:46,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-15 14:44:46,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-15 14:44:46,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-15 14:44:46,536 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1152#true} {1152#true} #66#return; {1152#true} is VALID [2022-04-15 14:44:46,536 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-15 14:44:46,536 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-15 14:44:46,536 INFO L290 TraceCheckUtils]: 13: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-15 14:44:46,536 INFO L290 TraceCheckUtils]: 14: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-15 14:44:46,536 INFO L290 TraceCheckUtils]: 15: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-15 14:44:46,536 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1152#true} {1152#true} #68#return; {1152#true} is VALID [2022-04-15 14:44:46,536 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-15 14:44:46,536 INFO L290 TraceCheckUtils]: 18: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-15 14:44:46,536 INFO L290 TraceCheckUtils]: 19: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-15 14:44:46,537 INFO L290 TraceCheckUtils]: 20: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-15 14:44:46,537 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1152#true} {1152#true} #70#return; {1152#true} is VALID [2022-04-15 14:44:46,537 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-15 14:44:46,537 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-15 14:44:46,538 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-15 14:44:46,538 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-15 14:44:46,538 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-15 14:44:46,539 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-15 14:44:46,539 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-15 14:44:46,539 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-15 14:44:46,539 INFO L290 TraceCheckUtils]: 30: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-15 14:44:46,540 INFO L290 TraceCheckUtils]: 31: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-15 14:44:46,540 INFO L290 TraceCheckUtils]: 32: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-15 14:44:46,540 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-15 14:44:46,541 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-15 14:44:46,541 INFO L290 TraceCheckUtils]: 35: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-15 14:44:46,541 INFO L290 TraceCheckUtils]: 36: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-15 14:44:46,541 INFO L290 TraceCheckUtils]: 37: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-15 14:44:46,541 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-15 14:44:46,542 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-15 14:44:46,543 INFO L290 TraceCheckUtils]: 40: Hoare triple {1278#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1282#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:46,543 INFO L290 TraceCheckUtils]: 41: Hoare triple {1282#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1153#false} is VALID [2022-04-15 14:44:46,543 INFO L290 TraceCheckUtils]: 42: Hoare triple {1153#false} assume !false; {1153#false} is VALID [2022-04-15 14:44:46,543 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-15 14:44:46,543 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:44:46,544 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:46,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [157199417] [2022-04-15 14:44:46,544 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:46,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [332986127] [2022-04-15 14:44:46,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [332986127] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:46,544 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:46,544 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:44:46,544 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:46,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [525739624] [2022-04-15 14:44:46,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [525739624] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:46,545 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:46,545 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:44:46,545 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1742169433] [2022-04-15 14:44:46,545 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:46,545 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-15 14:44:46,545 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:46,546 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-15 14:44:46,569 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-15 14:44:46,569 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:44:46,569 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:46,569 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:44:46,570 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-15 14:44:46,570 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-15 14:44:47,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:47,196 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-15 14:44:47,196 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:44:47,196 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-15 14:44:47,197 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:47,197 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-15 14:44:47,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-15 14:44:47,198 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-15 14:44:47,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-15 14:44:47,199 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-15 14:44:47,245 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-15 14:44:47,247 INFO L225 Difference]: With dead ends: 74 [2022-04-15 14:44:47,247 INFO L226 Difference]: Without dead ends: 70 [2022-04-15 14:44:47,248 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-15 14:44:47,248 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-15 14:44:47,248 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-15 14:44:47,249 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-15 14:44:47,293 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-15 14:44:47,293 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:47,293 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-15 14:44:47,294 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-15 14:44:47,294 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-15 14:44:47,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:47,296 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-15 14:44:47,296 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-15 14:44:47,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:47,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:47,297 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-15 14:44:47,297 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-15 14:44:47,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:47,300 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-15 14:44:47,300 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-15 14:44:47,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:47,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:47,300 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:47,300 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:47,301 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-15 14:44:47,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-15 14:44:47,303 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-15 14:44:47,303 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:47,303 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-15 14:44:47,303 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-15 14:44:47,303 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-15 14:44:47,412 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-15 14:44:47,413 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-15 14:44:47,413 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-15 14:44:47,413 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:47,413 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-15 14:44:47,429 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-15 14:44:47,629 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-15 14:44:47,629 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:47,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:47,629 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-15 14:44:47,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:47,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1918610751] [2022-04-15 14:44:47,630 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:47,630 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-15 14:44:47,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:47,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1308205382] [2022-04-15 14:44:47,630 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:47,630 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:47,642 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:47,642 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [253190959] [2022-04-15 14:44:47,642 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:44:47,642 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:47,643 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:47,643 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-15 14:44:47,644 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-15 14:44:47,673 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:44:47,673 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:47,674 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 14:44:47,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:47,694 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:47,796 INFO L272 TraceCheckUtils]: 0: Hoare triple {1720#true} call ULTIMATE.init(); {1720#true} is VALID [2022-04-15 14:44:47,796 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-15 14:44:47,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-15 14:44:47,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1720#true} {1720#true} #88#return; {1720#true} is VALID [2022-04-15 14:44:47,797 INFO L272 TraceCheckUtils]: 4: Hoare triple {1720#true} call #t~ret6 := main(); {1720#true} is VALID [2022-04-15 14:44:47,797 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-15 14:44:47,797 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-15 14:44:47,797 INFO L290 TraceCheckUtils]: 7: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-15 14:44:47,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-15 14:44:47,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-15 14:44:47,797 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1720#true} {1720#true} #66#return; {1720#true} is VALID [2022-04-15 14:44:47,797 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-15 14:44:47,798 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-15 14:44:47,798 INFO L290 TraceCheckUtils]: 13: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-15 14:44:47,798 INFO L290 TraceCheckUtils]: 14: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-15 14:44:47,798 INFO L290 TraceCheckUtils]: 15: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-15 14:44:47,798 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1720#true} {1720#true} #68#return; {1720#true} is VALID [2022-04-15 14:44:47,798 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-15 14:44:47,798 INFO L290 TraceCheckUtils]: 18: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-15 14:44:47,798 INFO L290 TraceCheckUtils]: 19: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-15 14:44:47,798 INFO L290 TraceCheckUtils]: 20: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-15 14:44:47,798 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1720#true} {1720#true} #70#return; {1720#true} is VALID [2022-04-15 14:44:47,799 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-15 14:44:47,799 INFO L290 TraceCheckUtils]: 23: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-15 14:44:47,799 INFO L290 TraceCheckUtils]: 24: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-15 14:44:47,799 INFO L290 TraceCheckUtils]: 25: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-15 14:44:47,799 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1720#true} {1720#true} #72#return; {1720#true} is VALID [2022-04-15 14:44:47,799 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-15 14:44:47,799 INFO L290 TraceCheckUtils]: 28: Hoare triple {1720#true} assume !false; {1720#true} is VALID [2022-04-15 14:44:47,799 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-15 14:44:47,799 INFO L290 TraceCheckUtils]: 30: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-15 14:44:47,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-15 14:44:47,800 INFO L290 TraceCheckUtils]: 32: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-15 14:44:47,800 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1720#true} {1720#true} #74#return; {1720#true} is VALID [2022-04-15 14:44:47,800 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-15 14:44:47,800 INFO L290 TraceCheckUtils]: 35: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-15 14:44:47,800 INFO L290 TraceCheckUtils]: 36: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-15 14:44:47,800 INFO L290 TraceCheckUtils]: 37: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-15 14:44:47,800 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1720#true} {1720#true} #76#return; {1720#true} is VALID [2022-04-15 14:44:47,800 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-15 14:44:47,800 INFO L290 TraceCheckUtils]: 40: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-15 14:44:47,800 INFO L290 TraceCheckUtils]: 41: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-15 14:44:47,801 INFO L290 TraceCheckUtils]: 42: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-15 14:44:47,801 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1720#true} {1720#true} #78#return; {1720#true} is VALID [2022-04-15 14:44:47,801 INFO L290 TraceCheckUtils]: 44: Hoare triple {1720#true} assume !(~a~0 != ~b~0); {1857#(= main_~b~0 main_~a~0)} is VALID [2022-04-15 14:44:47,802 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-15 14:44:47,802 INFO L290 TraceCheckUtils]: 46: Hoare triple {1861#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1865#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:47,802 INFO L290 TraceCheckUtils]: 47: Hoare triple {1865#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1721#false} is VALID [2022-04-15 14:44:47,802 INFO L290 TraceCheckUtils]: 48: Hoare triple {1721#false} assume !false; {1721#false} is VALID [2022-04-15 14:44:47,803 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-15 14:44:47,803 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:44:47,803 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:47,803 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1308205382] [2022-04-15 14:44:47,803 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:47,803 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [253190959] [2022-04-15 14:44:47,803 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [253190959] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:47,803 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:47,803 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:44:47,804 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:47,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1918610751] [2022-04-15 14:44:47,804 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1918610751] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:47,804 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:47,804 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:44:47,804 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1907751878] [2022-04-15 14:44:47,804 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:47,804 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-15 14:44:47,804 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:47,805 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-15 14:44:47,827 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-15 14:44:47,827 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:44:47,828 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:47,828 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:44:47,828 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:44:47,828 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-15 14:44:47,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:47,997 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-15 14:44:47,997 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:44:47,997 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-15 14:44:47,997 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:47,997 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-15 14:44:47,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 14:44:47,998 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-15 14:44:47,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-15 14:44:47,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-15 14:44:48,029 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-15 14:44:48,030 INFO L225 Difference]: With dead ends: 76 [2022-04-15 14:44:48,030 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 14:44:48,030 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-15 14:44:48,031 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-15 14:44:48,031 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-15 14:44:48,032 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 14:44:48,077 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-15 14:44:48,077 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:48,077 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-15 14:44:48,077 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-15 14:44:48,078 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-15 14:44:48,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:48,080 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-15 14:44:48,080 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-15 14:44:48,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:48,080 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:48,081 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-15 14:44:48,081 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-15 14:44:48,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:48,083 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-15 14:44:48,083 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-15 14:44:48,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:48,083 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:48,083 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:48,083 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:48,084 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-15 14:44:48,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-15 14:44:48,086 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-15 14:44:48,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:48,086 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-15 14:44:48,086 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-15 14:44:48,086 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-15 14:44:48,175 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-15 14:44:48,175 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-15 14:44:48,176 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-15 14:44:48,176 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:48,176 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-15 14:44:48,194 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-15 14:44:48,376 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-15 14:44:48,377 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:48,377 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:48,377 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-15 14:44:48,377 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:48,377 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [933699032] [2022-04-15 14:44:48,378 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:48,378 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-15 14:44:48,378 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:48,378 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [101881916] [2022-04-15 14:44:48,378 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:48,378 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:48,410 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:48,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1299092850] [2022-04-15 14:44:48,410 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:44:48,411 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:48,411 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:48,414 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-15 14:44:48,414 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-15 14:44:48,452 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:44:48,453 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:48,453 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 14:44:48,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:48,467 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:48,607 INFO L272 TraceCheckUtils]: 0: Hoare triple {2321#true} call ULTIMATE.init(); {2321#true} is VALID [2022-04-15 14:44:48,607 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-15 14:44:48,607 INFO L290 TraceCheckUtils]: 2: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-15 14:44:48,607 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2321#true} {2321#true} #88#return; {2321#true} is VALID [2022-04-15 14:44:48,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {2321#true} call #t~ret6 := main(); {2321#true} is VALID [2022-04-15 14:44:48,608 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-15 14:44:48,608 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-15 14:44:48,608 INFO L290 TraceCheckUtils]: 7: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-15 14:44:48,608 INFO L290 TraceCheckUtils]: 8: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-15 14:44:48,608 INFO L290 TraceCheckUtils]: 9: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-15 14:44:48,608 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2321#true} {2321#true} #66#return; {2321#true} is VALID [2022-04-15 14:44:48,608 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-15 14:44:48,608 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-15 14:44:48,608 INFO L290 TraceCheckUtils]: 13: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-15 14:44:48,608 INFO L290 TraceCheckUtils]: 14: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-15 14:44:48,608 INFO L290 TraceCheckUtils]: 15: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-15 14:44:48,609 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2321#true} {2321#true} #68#return; {2321#true} is VALID [2022-04-15 14:44:48,609 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-15 14:44:48,609 INFO L290 TraceCheckUtils]: 18: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-15 14:44:48,609 INFO L290 TraceCheckUtils]: 19: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-15 14:44:48,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-15 14:44:48,609 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2321#true} {2321#true} #70#return; {2321#true} is VALID [2022-04-15 14:44:48,609 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-15 14:44:48,609 INFO L290 TraceCheckUtils]: 23: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-15 14:44:48,609 INFO L290 TraceCheckUtils]: 24: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-15 14:44:48,609 INFO L290 TraceCheckUtils]: 25: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-15 14:44:48,609 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2321#true} {2321#true} #72#return; {2321#true} is VALID [2022-04-15 14:44:48,610 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-15 14:44:48,610 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-15 14:44:48,610 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-15 14:44:48,610 INFO L290 TraceCheckUtils]: 30: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-15 14:44:48,610 INFO L290 TraceCheckUtils]: 31: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-15 14:44:48,611 INFO L290 TraceCheckUtils]: 32: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-15 14:44:48,612 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-15 14:44:48,612 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-15 14:44:48,612 INFO L290 TraceCheckUtils]: 35: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-15 14:44:48,612 INFO L290 TraceCheckUtils]: 36: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-15 14:44:48,612 INFO L290 TraceCheckUtils]: 37: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-15 14:44:48,613 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-15 14:44:48,614 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-15 14:44:48,614 INFO L290 TraceCheckUtils]: 40: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-15 14:44:48,614 INFO L290 TraceCheckUtils]: 41: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-15 14:44:48,614 INFO L290 TraceCheckUtils]: 42: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-15 14:44:48,623 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-15 14:44:48,624 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-15 14:44:48,624 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-15 14:44:48,625 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-15 14:44:48,625 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-15 14:44:48,626 INFO L290 TraceCheckUtils]: 48: Hoare triple {2468#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2472#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:48,626 INFO L290 TraceCheckUtils]: 49: Hoare triple {2472#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2322#false} is VALID [2022-04-15 14:44:48,626 INFO L290 TraceCheckUtils]: 50: Hoare triple {2322#false} assume !false; {2322#false} is VALID [2022-04-15 14:44:48,626 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-15 14:44:48,626 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:44:48,626 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:44:48,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [101881916] [2022-04-15 14:44:48,627 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:44:48,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1299092850] [2022-04-15 14:44:48,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1299092850] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:48,627 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:48,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:44:48,627 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:44:48,627 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [933699032] [2022-04-15 14:44:48,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [933699032] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:44:48,627 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:44:48,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:44:48,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2052533326] [2022-04-15 14:44:48,627 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:44:48,628 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-15 14:44:48,628 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:44:48,628 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-15 14:44:48,647 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-15 14:44:48,647 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:44:48,647 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:48,648 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:44:48,648 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:44:48,648 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-15 14:44:48,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:48,840 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-15 14:44:48,840 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:44:48,840 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-15 14:44:48,840 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:44:48,840 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-15 14:44:48,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-15 14:44:48,841 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-15 14:44:48,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-15 14:44:48,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-15 14:44:48,892 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-15 14:44:48,893 INFO L225 Difference]: With dead ends: 84 [2022-04-15 14:44:48,893 INFO L226 Difference]: Without dead ends: 81 [2022-04-15 14:44:48,894 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-15 14:44:48,894 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-15 14:44:48,894 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-15 14:44:48,895 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-15 14:44:48,945 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-15 14:44:48,946 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:44:48,946 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-15 14:44:48,946 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-15 14:44:48,946 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-15 14:44:48,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:48,949 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-15 14:44:48,949 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-15 14:44:48,949 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:48,949 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:48,950 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-15 14:44:48,950 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-15 14:44:48,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:44:48,952 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-15 14:44:48,952 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-15 14:44:48,953 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:44:48,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:44:48,953 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:44:48,953 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:44:48,953 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-15 14:44:48,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-15 14:44:48,955 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-15 14:44:48,955 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:44:48,955 INFO L478 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-15 14:44:48,955 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-15 14:44:48,955 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-15 14:44:49,054 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-15 14:44:49,055 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-15 14:44:49,055 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-15 14:44:49,055 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:44:49,055 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-15 14:44:49,071 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-15 14:44:49,256 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-15 14:44:49,256 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:44:49,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:44:49,264 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-15 14:44:49,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:44:49,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [325457462] [2022-04-15 14:44:49,265 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:44:49,265 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-15 14:44:49,265 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:44:49,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1018126486] [2022-04-15 14:44:49,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:44:49,265 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:44:49,276 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:44:49,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1133448468] [2022-04-15 14:44:49,276 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:44:49,277 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:44:49,277 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:44:49,277 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-15 14:44:49,278 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-15 14:44:49,318 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:44:49,318 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:44:49,319 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 14:44:49,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:44:49,327 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:44:49,473 INFO L272 TraceCheckUtils]: 0: Hoare triple {2968#true} call ULTIMATE.init(); {2968#true} is VALID [2022-04-15 14:44:49,473 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-15 14:44:49,473 INFO L290 TraceCheckUtils]: 2: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:44:49,474 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2968#true} {2968#true} #88#return; {2968#true} is VALID [2022-04-15 14:44:49,474 INFO L272 TraceCheckUtils]: 4: Hoare triple {2968#true} call #t~ret6 := main(); {2968#true} is VALID [2022-04-15 14:44:49,474 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-15 14:44:49,474 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-15 14:44:49,474 INFO L290 TraceCheckUtils]: 7: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:44:49,474 INFO L290 TraceCheckUtils]: 8: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:44:49,474 INFO L290 TraceCheckUtils]: 9: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:44:49,474 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2968#true} {2968#true} #66#return; {2968#true} is VALID [2022-04-15 14:44:49,474 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-15 14:44:49,474 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-15 14:44:49,475 INFO L290 TraceCheckUtils]: 13: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:44:49,475 INFO L290 TraceCheckUtils]: 14: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:44:49,475 INFO L290 TraceCheckUtils]: 15: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:44:49,475 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2968#true} {2968#true} #68#return; {2968#true} is VALID [2022-04-15 14:44:49,475 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-15 14:44:49,475 INFO L290 TraceCheckUtils]: 18: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:44:49,475 INFO L290 TraceCheckUtils]: 19: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:44:49,475 INFO L290 TraceCheckUtils]: 20: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:44:49,475 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2968#true} {2968#true} #70#return; {2968#true} is VALID [2022-04-15 14:44:49,476 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-15 14:44:49,476 INFO L290 TraceCheckUtils]: 23: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:44:49,476 INFO L290 TraceCheckUtils]: 24: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:44:49,476 INFO L290 TraceCheckUtils]: 25: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:44:49,476 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2968#true} {2968#true} #72#return; {2968#true} is VALID [2022-04-15 14:44:49,476 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-15 14:44:49,476 INFO L290 TraceCheckUtils]: 28: Hoare triple {2968#true} assume !false; {2968#true} is VALID [2022-04-15 14:44:49,476 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-15 14:44:49,476 INFO L290 TraceCheckUtils]: 30: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:44:49,476 INFO L290 TraceCheckUtils]: 31: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:44:49,477 INFO L290 TraceCheckUtils]: 32: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:44:49,477 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2968#true} {2968#true} #74#return; {2968#true} is VALID [2022-04-15 14:44:49,477 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-15 14:44:49,477 INFO L290 TraceCheckUtils]: 35: Hoare triple {2968#true} ~cond := #in~cond; {3078#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:49,477 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-15 14:44:49,478 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-15 14:44:49,479 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-15 14:44:49,479 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-15 14:44:49,480 INFO L290 TraceCheckUtils]: 40: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:44:49,480 INFO L290 TraceCheckUtils]: 41: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:44:49,480 INFO L290 TraceCheckUtils]: 42: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:44:49,480 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-15 14:44:49,481 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-15 14:44:49,481 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-15 14:44:49,481 INFO L290 TraceCheckUtils]: 46: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:44:49,481 INFO L290 TraceCheckUtils]: 47: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:44:49,481 INFO L290 TraceCheckUtils]: 48: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:44:49,482 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-15 14:44:49,483 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-15 14:44:49,483 INFO L290 TraceCheckUtils]: 51: Hoare triple {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:44:49,483 INFO L290 TraceCheckUtils]: 52: Hoare triple {3131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2969#false} is VALID [2022-04-15 14:44:49,484 INFO L290 TraceCheckUtils]: 53: Hoare triple {2969#false} assume !false; {2969#false} is VALID [2022-04-15 14:44:49,484 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-15 14:44:49,484 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:45:09,501 INFO L290 TraceCheckUtils]: 53: Hoare triple {2969#false} assume !false; {2969#false} is VALID [2022-04-15 14:45:09,505 INFO L290 TraceCheckUtils]: 52: Hoare triple {3131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2969#false} is VALID [2022-04-15 14:45:09,506 INFO L290 TraceCheckUtils]: 51: Hoare triple {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:45:09,507 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-15 14:45:09,507 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-15 14:45:09,507 INFO L290 TraceCheckUtils]: 48: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:45:09,507 INFO L290 TraceCheckUtils]: 47: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:45:09,507 INFO L290 TraceCheckUtils]: 46: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:45:09,508 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-15 14:45:09,508 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-15 14:45:09,509 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-15 14:45:09,509 INFO L290 TraceCheckUtils]: 42: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:45:09,509 INFO L290 TraceCheckUtils]: 41: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:45:09,509 INFO L290 TraceCheckUtils]: 40: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:45:09,509 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-15 14:45:09,509 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-15 14:45:09,510 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-15 14:45:09,510 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-15 14:45:09,510 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-15 14:45:09,510 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-15 14:45:09,511 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2968#true} {2968#true} #74#return; {2968#true} is VALID [2022-04-15 14:45:09,511 INFO L290 TraceCheckUtils]: 32: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:45:09,511 INFO L290 TraceCheckUtils]: 31: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:45:09,511 INFO L290 TraceCheckUtils]: 30: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:45:09,511 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-15 14:45:09,511 INFO L290 TraceCheckUtils]: 28: Hoare triple {2968#true} assume !false; {2968#true} is VALID [2022-04-15 14:45:09,511 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-15 14:45:09,511 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2968#true} {2968#true} #72#return; {2968#true} is VALID [2022-04-15 14:45:09,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:45:09,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:45:09,511 INFO L290 TraceCheckUtils]: 23: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:45:09,511 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-15 14:45:09,511 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2968#true} {2968#true} #70#return; {2968#true} is VALID [2022-04-15 14:45:09,512 INFO L290 TraceCheckUtils]: 20: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:45:09,512 INFO L290 TraceCheckUtils]: 19: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:45:09,512 INFO L290 TraceCheckUtils]: 18: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:45:09,512 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-15 14:45:09,512 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2968#true} {2968#true} #68#return; {2968#true} is VALID [2022-04-15 14:45:09,512 INFO L290 TraceCheckUtils]: 15: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:45:09,512 INFO L290 TraceCheckUtils]: 14: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:45:09,512 INFO L290 TraceCheckUtils]: 13: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:45:09,512 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-15 14:45:09,512 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-15 14:45:09,512 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2968#true} {2968#true} #66#return; {2968#true} is VALID [2022-04-15 14:45:09,512 INFO L290 TraceCheckUtils]: 9: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:45:09,513 INFO L290 TraceCheckUtils]: 8: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-15 14:45:09,513 INFO L290 TraceCheckUtils]: 7: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-15 14:45:09,513 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-15 14:45:09,513 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-15 14:45:09,513 INFO L272 TraceCheckUtils]: 4: Hoare triple {2968#true} call #t~ret6 := main(); {2968#true} is VALID [2022-04-15 14:45:09,513 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2968#true} {2968#true} #88#return; {2968#true} is VALID [2022-04-15 14:45:09,513 INFO L290 TraceCheckUtils]: 2: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-15 14:45:09,513 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-15 14:45:09,513 INFO L272 TraceCheckUtils]: 0: Hoare triple {2968#true} call ULTIMATE.init(); {2968#true} is VALID [2022-04-15 14:45:09,513 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-15 14:45:09,514 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:45:09,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1018126486] [2022-04-15 14:45:09,514 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:45:09,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1133448468] [2022-04-15 14:45:09,514 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1133448468] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:45:09,514 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:45:09,514 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 14:45:09,514 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:45:09,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [325457462] [2022-04-15 14:45:09,514 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [325457462] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:45:09,514 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:45:09,514 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:45:09,514 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1882156726] [2022-04-15 14:45:09,515 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:45:09,515 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-15 14:45:09,515 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:45:09,515 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-15 14:45:09,554 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-15 14:45:09,554 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:45:09,554 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:09,554 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:45:09,554 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:45:09,554 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-15 14:45:10,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:10,131 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-15 14:45:10,132 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:45:10,132 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-15 14:45:10,132 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:45:10,132 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-15 14:45:10,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-15 14:45:10,133 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-15 14:45:10,134 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-15 14:45:10,134 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-15 14:45:10,170 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-15 14:45:10,171 INFO L225 Difference]: With dead ends: 88 [2022-04-15 14:45:10,171 INFO L226 Difference]: Without dead ends: 84 [2022-04-15 14:45:10,172 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-15 14:45:10,172 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-15 14:45:10,172 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-15 14:45:10,173 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-15 14:45:10,232 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-15 14:45:10,232 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:45:10,233 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-15 14:45:10,233 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-15 14:45:10,233 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-15 14:45:10,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:10,235 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-15 14:45:10,235 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-15 14:45:10,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:10,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:10,236 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-15 14:45:10,236 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-15 14:45:10,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:10,238 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-15 14:45:10,239 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-15 14:45:10,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:10,239 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:10,239 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:45:10,239 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:45:10,239 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-15 14:45:10,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-15 14:45:10,242 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-15 14:45:10,242 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:45:10,242 INFO L478 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-15 14:45:10,242 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-15 14:45:10,242 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-15 14:45:10,341 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-15 14:45:10,342 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-15 14:45:10,342 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-15 14:45:10,342 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:45:10,342 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-15 14:45:10,360 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-15 14:45:10,543 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-15 14:45:10,543 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:45:10,543 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:45:10,543 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-15 14:45:10,543 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:10,543 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1085083303] [2022-04-15 14:45:10,544 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:45:10,544 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-15 14:45:10,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:45:10,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1950170449] [2022-04-15 14:45:10,544 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:45:10,544 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:45:10,570 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:45:10,570 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [306487581] [2022-04-15 14:45:10,570 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:45:10,571 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:45:10,571 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:45:10,575 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-15 14:45:10,576 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-15 14:45:10,611 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:45:10,611 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:45:10,612 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-15 14:45:10,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:45:10,624 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:45:11,190 INFO L272 TraceCheckUtils]: 0: Hoare triple {3818#true} call ULTIMATE.init(); {3818#true} is VALID [2022-04-15 14:45:11,191 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-15 14:45:11,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,191 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3818#true} {3818#true} #88#return; {3818#true} is VALID [2022-04-15 14:45:11,191 INFO L272 TraceCheckUtils]: 4: Hoare triple {3818#true} call #t~ret6 := main(); {3818#true} is VALID [2022-04-15 14:45:11,191 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-15 14:45:11,191 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-15 14:45:11,195 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-15 14:45:11,196 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-15 14:45:11,196 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-15 14:45:11,196 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-15 14:45:11,197 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-15 14:45:11,197 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-15 14:45:11,197 INFO L290 TraceCheckUtils]: 13: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,197 INFO L290 TraceCheckUtils]: 14: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,197 INFO L290 TraceCheckUtils]: 15: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,198 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-15 14:45:11,198 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-15 14:45:11,198 INFO L290 TraceCheckUtils]: 18: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,198 INFO L290 TraceCheckUtils]: 19: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,198 INFO L290 TraceCheckUtils]: 20: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,198 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-15 14:45:11,198 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-15 14:45:11,201 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-15 14:45:11,201 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-15 14:45:11,202 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-15 14:45:11,202 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-15 14:45:11,203 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-15 14:45:11,203 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-15 14:45:11,203 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-15 14:45:11,203 INFO L290 TraceCheckUtils]: 30: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,203 INFO L290 TraceCheckUtils]: 31: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,203 INFO L290 TraceCheckUtils]: 32: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,204 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-15 14:45:11,204 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-15 14:45:11,204 INFO L290 TraceCheckUtils]: 35: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,204 INFO L290 TraceCheckUtils]: 36: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,205 INFO L290 TraceCheckUtils]: 37: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,205 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-15 14:45:11,205 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-15 14:45:11,205 INFO L290 TraceCheckUtils]: 40: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,205 INFO L290 TraceCheckUtils]: 41: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,205 INFO L290 TraceCheckUtils]: 42: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,206 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-15 14:45:11,207 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-15 14:45:11,207 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-15 14:45:11,208 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-15 14:45:11,208 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-15 14:45:11,208 INFO L290 TraceCheckUtils]: 48: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,208 INFO L290 TraceCheckUtils]: 49: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,208 INFO L290 TraceCheckUtils]: 50: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,208 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-15 14:45:11,209 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-15 14:45:11,210 INFO L290 TraceCheckUtils]: 53: Hoare triple {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3989#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:45:11,210 INFO L290 TraceCheckUtils]: 54: Hoare triple {3989#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3819#false} is VALID [2022-04-15 14:45:11,210 INFO L290 TraceCheckUtils]: 55: Hoare triple {3819#false} assume !false; {3819#false} is VALID [2022-04-15 14:45:11,210 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-15 14:45:11,210 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:45:11,522 INFO L290 TraceCheckUtils]: 55: Hoare triple {3819#false} assume !false; {3819#false} is VALID [2022-04-15 14:45:11,523 INFO L290 TraceCheckUtils]: 54: Hoare triple {3989#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3819#false} is VALID [2022-04-15 14:45:11,523 INFO L290 TraceCheckUtils]: 53: Hoare triple {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3989#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:45:11,524 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-15 14:45:11,524 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-15 14:45:11,524 INFO L290 TraceCheckUtils]: 50: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,525 INFO L290 TraceCheckUtils]: 49: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,525 INFO L290 TraceCheckUtils]: 48: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,525 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-15 14:45:11,525 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-15 14:45:11,729 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-15 14:45:11,729 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-15 14:45:11,730 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-15 14:45:11,730 INFO L290 TraceCheckUtils]: 42: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,730 INFO L290 TraceCheckUtils]: 41: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,730 INFO L290 TraceCheckUtils]: 40: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,730 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-15 14:45:11,731 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-15 14:45:11,731 INFO L290 TraceCheckUtils]: 37: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,731 INFO L290 TraceCheckUtils]: 36: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,731 INFO L290 TraceCheckUtils]: 35: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,731 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-15 14:45:11,732 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-15 14:45:11,732 INFO L290 TraceCheckUtils]: 32: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,732 INFO L290 TraceCheckUtils]: 31: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,732 INFO L290 TraceCheckUtils]: 30: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,732 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-15 14:45:11,733 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-15 14:45:11,733 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-15 14:45:11,733 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3818#true} {3818#true} #72#return; {3818#true} is VALID [2022-04-15 14:45:11,733 INFO L290 TraceCheckUtils]: 25: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,733 INFO L290 TraceCheckUtils]: 24: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,733 INFO L290 TraceCheckUtils]: 23: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,733 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-15 14:45:11,734 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3818#true} {3818#true} #70#return; {3818#true} is VALID [2022-04-15 14:45:11,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,734 INFO L290 TraceCheckUtils]: 19: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,734 INFO L290 TraceCheckUtils]: 18: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,734 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-15 14:45:11,734 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3818#true} {3818#true} #68#return; {3818#true} is VALID [2022-04-15 14:45:11,734 INFO L290 TraceCheckUtils]: 15: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,734 INFO L290 TraceCheckUtils]: 14: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,734 INFO L290 TraceCheckUtils]: 13: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,734 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-15 14:45:11,734 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-15 14:45:11,735 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3818#true} {3818#true} #66#return; {3818#true} is VALID [2022-04-15 14:45:11,735 INFO L290 TraceCheckUtils]: 9: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,735 INFO L290 TraceCheckUtils]: 8: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-15 14:45:11,735 INFO L290 TraceCheckUtils]: 7: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-15 14:45:11,735 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-15 14:45:11,735 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-15 14:45:11,735 INFO L272 TraceCheckUtils]: 4: Hoare triple {3818#true} call #t~ret6 := main(); {3818#true} is VALID [2022-04-15 14:45:11,735 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3818#true} {3818#true} #88#return; {3818#true} is VALID [2022-04-15 14:45:11,735 INFO L290 TraceCheckUtils]: 2: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-15 14:45:11,735 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-15 14:45:11,735 INFO L272 TraceCheckUtils]: 0: Hoare triple {3818#true} call ULTIMATE.init(); {3818#true} is VALID [2022-04-15 14:45:11,736 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-15 14:45:11,736 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:45:11,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1950170449] [2022-04-15 14:45:11,736 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:45:11,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [306487581] [2022-04-15 14:45:11,736 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [306487581] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:45:11,736 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:45:11,736 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 6] total 12 [2022-04-15 14:45:11,736 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:45:11,736 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1085083303] [2022-04-15 14:45:11,736 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1085083303] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:45:11,737 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:45:11,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 14:45:11,737 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [385103657] [2022-04-15 14:45:11,737 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:45:11,737 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-15 14:45:11,737 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:45:11,737 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-15 14:45:11,776 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-15 14:45:11,776 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 14:45:11,776 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:11,776 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 14:45:11,776 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-15 14:45:11,776 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-15 14:45:12,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:12,784 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-15 14:45:12,784 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 14:45:12,784 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-15 14:45:12,785 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:45:12,785 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-15 14:45:12,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2022-04-15 14:45:12,786 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-15 14:45:12,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2022-04-15 14:45:12,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 75 transitions. [2022-04-15 14:45:12,852 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-15 14:45:12,854 INFO L225 Difference]: With dead ends: 118 [2022-04-15 14:45:12,854 INFO L226 Difference]: Without dead ends: 116 [2022-04-15 14:45:12,855 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-15 14:45:12,855 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-15 14:45:12,855 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-15 14:45:12,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-15 14:45:12,973 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-15 14:45:12,973 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:45:12,974 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-15 14:45:12,974 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-15 14:45:12,974 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-15 14:45:12,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:12,977 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-15 14:45:12,978 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-15 14:45:12,978 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:12,978 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:12,978 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-15 14:45:12,978 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-15 14:45:12,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:12,981 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-15 14:45:12,981 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-15 14:45:12,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:12,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:12,982 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:45:12,982 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:45:12,983 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-15 14:45:12,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-15 14:45:12,985 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-15 14:45:12,985 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:45:12,986 INFO L478 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-15 14:45:12,986 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-15 14:45:12,986 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-15 14:45:13,117 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-15 14:45:13,117 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-15 14:45:13,117 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 14:45:13,117 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:45:13,117 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-15 14:45:13,133 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-15 14:45:13,323 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-15 14:45:13,323 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:45:13,324 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:45:13,324 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-15 14:45:13,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:13,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [911719290] [2022-04-15 14:45:13,324 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:45:13,324 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-15 14:45:13,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:45:13,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1586796624] [2022-04-15 14:45:13,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:45:13,325 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:45:13,338 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:45:13,338 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1785169978] [2022-04-15 14:45:13,338 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:45:13,338 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:45:13,339 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:45:13,339 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-15 14:45:13,340 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-15 14:45:13,376 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:45:13,377 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:45:13,377 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 14:45:13,385 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:45:13,386 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:45:13,675 INFO L272 TraceCheckUtils]: 0: Hoare triple {4861#true} call ULTIMATE.init(); {4861#true} is VALID [2022-04-15 14:45:13,675 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-15 14:45:13,675 INFO L290 TraceCheckUtils]: 2: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:13,675 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4861#true} {4861#true} #88#return; {4861#true} is VALID [2022-04-15 14:45:13,675 INFO L272 TraceCheckUtils]: 4: Hoare triple {4861#true} call #t~ret6 := main(); {4861#true} is VALID [2022-04-15 14:45:13,675 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-15 14:45:13,675 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-15 14:45:13,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:13,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:13,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:13,676 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4861#true} {4861#true} #66#return; {4861#true} is VALID [2022-04-15 14:45:13,676 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-15 14:45:13,676 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-15 14:45:13,676 INFO L290 TraceCheckUtils]: 13: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:13,676 INFO L290 TraceCheckUtils]: 14: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:13,676 INFO L290 TraceCheckUtils]: 15: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:13,676 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4861#true} {4861#true} #68#return; {4861#true} is VALID [2022-04-15 14:45:13,676 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-15 14:45:13,676 INFO L290 TraceCheckUtils]: 18: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:13,676 INFO L290 TraceCheckUtils]: 19: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:13,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:13,676 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4861#true} {4861#true} #70#return; {4861#true} is VALID [2022-04-15 14:45:13,677 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-15 14:45:13,677 INFO L290 TraceCheckUtils]: 23: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:13,677 INFO L290 TraceCheckUtils]: 24: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:13,677 INFO L290 TraceCheckUtils]: 25: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:13,677 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4861#true} {4861#true} #72#return; {4861#true} is VALID [2022-04-15 14:45:13,677 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-15 14:45:13,678 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-15 14:45:13,678 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-15 14:45:13,678 INFO L290 TraceCheckUtils]: 30: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:13,678 INFO L290 TraceCheckUtils]: 31: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:13,678 INFO L290 TraceCheckUtils]: 32: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:13,679 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-15 14:45:13,679 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-15 14:45:13,679 INFO L290 TraceCheckUtils]: 35: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:13,679 INFO L290 TraceCheckUtils]: 36: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:13,679 INFO L290 TraceCheckUtils]: 37: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:13,680 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-15 14:45:13,680 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-15 14:45:13,680 INFO L290 TraceCheckUtils]: 40: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:13,680 INFO L290 TraceCheckUtils]: 41: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:13,680 INFO L290 TraceCheckUtils]: 42: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:13,681 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-15 14:45:13,682 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-15 14:45:13,682 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-15 14:45:13,682 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-15 14:45:13,683 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-15 14:45:13,683 INFO L290 TraceCheckUtils]: 48: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:13,683 INFO L290 TraceCheckUtils]: 49: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:13,683 INFO L290 TraceCheckUtils]: 50: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:13,683 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-15 14:45:13,684 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-15 14:45:13,684 INFO L290 TraceCheckUtils]: 53: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:13,684 INFO L290 TraceCheckUtils]: 54: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:13,684 INFO L290 TraceCheckUtils]: 55: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:13,684 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-15 14:45:13,685 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-15 14:45:13,685 INFO L290 TraceCheckUtils]: 58: Hoare triple {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5043#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:45:13,686 INFO L290 TraceCheckUtils]: 59: Hoare triple {5043#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4862#false} is VALID [2022-04-15 14:45:13,686 INFO L290 TraceCheckUtils]: 60: Hoare triple {4862#false} assume !false; {4862#false} is VALID [2022-04-15 14:45:13,686 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-15 14:45:13,686 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:45:13,866 INFO L290 TraceCheckUtils]: 60: Hoare triple {4862#false} assume !false; {4862#false} is VALID [2022-04-15 14:45:13,866 INFO L290 TraceCheckUtils]: 59: Hoare triple {5043#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4862#false} is VALID [2022-04-15 14:45:13,867 INFO L290 TraceCheckUtils]: 58: Hoare triple {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5043#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:45:13,868 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-15 14:45:13,868 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-15 14:45:13,868 INFO L290 TraceCheckUtils]: 55: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:13,868 INFO L290 TraceCheckUtils]: 54: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:13,869 INFO L290 TraceCheckUtils]: 53: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:13,869 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-15 14:45:13,869 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-15 14:45:13,869 INFO L290 TraceCheckUtils]: 50: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:13,869 INFO L290 TraceCheckUtils]: 49: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:13,869 INFO L290 TraceCheckUtils]: 48: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:13,870 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-15 14:45:13,870 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-15 14:45:14,204 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-15 14:45:14,204 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-15 14:45:14,205 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-15 14:45:14,205 INFO L290 TraceCheckUtils]: 42: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:14,205 INFO L290 TraceCheckUtils]: 41: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:14,206 INFO L290 TraceCheckUtils]: 40: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:14,206 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-15 14:45:14,206 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-15 14:45:14,206 INFO L290 TraceCheckUtils]: 37: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:14,206 INFO L290 TraceCheckUtils]: 36: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:14,207 INFO L290 TraceCheckUtils]: 35: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:14,207 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-15 14:45:14,207 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-15 14:45:14,207 INFO L290 TraceCheckUtils]: 32: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:14,207 INFO L290 TraceCheckUtils]: 31: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:14,207 INFO L290 TraceCheckUtils]: 30: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:14,208 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-15 14:45:14,208 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-15 14:45:14,208 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-15 14:45:14,208 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4861#true} {4861#true} #72#return; {4861#true} is VALID [2022-04-15 14:45:14,208 INFO L290 TraceCheckUtils]: 25: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:14,209 INFO L290 TraceCheckUtils]: 24: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:14,209 INFO L290 TraceCheckUtils]: 23: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:14,209 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-15 14:45:14,209 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4861#true} {4861#true} #70#return; {4861#true} is VALID [2022-04-15 14:45:14,209 INFO L290 TraceCheckUtils]: 20: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:14,209 INFO L290 TraceCheckUtils]: 19: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:14,209 INFO L290 TraceCheckUtils]: 18: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:14,209 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-15 14:45:14,209 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4861#true} {4861#true} #68#return; {4861#true} is VALID [2022-04-15 14:45:14,209 INFO L290 TraceCheckUtils]: 15: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:14,209 INFO L290 TraceCheckUtils]: 14: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:14,209 INFO L290 TraceCheckUtils]: 13: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:14,209 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-15 14:45:14,210 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-15 14:45:14,210 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4861#true} {4861#true} #66#return; {4861#true} is VALID [2022-04-15 14:45:14,210 INFO L290 TraceCheckUtils]: 9: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:14,210 INFO L290 TraceCheckUtils]: 8: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-15 14:45:14,210 INFO L290 TraceCheckUtils]: 7: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-15 14:45:14,210 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-15 14:45:14,210 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-15 14:45:14,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {4861#true} call #t~ret6 := main(); {4861#true} is VALID [2022-04-15 14:45:14,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4861#true} {4861#true} #88#return; {4861#true} is VALID [2022-04-15 14:45:14,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-15 14:45:14,210 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-15 14:45:14,210 INFO L272 TraceCheckUtils]: 0: Hoare triple {4861#true} call ULTIMATE.init(); {4861#true} is VALID [2022-04-15 14:45:14,211 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-15 14:45:14,211 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:45:14,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1586796624] [2022-04-15 14:45:14,211 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:45:14,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1785169978] [2022-04-15 14:45:14,211 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1785169978] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:45:14,211 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:45:14,211 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-15 14:45:14,211 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:45:14,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [911719290] [2022-04-15 14:45:14,211 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [911719290] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:45:14,212 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:45:14,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 14:45:14,212 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1970485909] [2022-04-15 14:45:14,212 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:45:14,212 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-15 14:45:14,212 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:45:14,212 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-15 14:45:14,245 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-15 14:45:14,245 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 14:45:14,245 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:14,246 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 14:45:14,246 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 14:45:14,246 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-15 14:45:14,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:14,731 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-15 14:45:14,732 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 14:45:14,732 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-15 14:45:14,732 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:45:14,732 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-15 14:45:14,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 14:45:14,733 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-15 14:45:14,734 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 14:45:14,734 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-15 14:45:14,794 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-15 14:45:14,796 INFO L225 Difference]: With dead ends: 137 [2022-04-15 14:45:14,796 INFO L226 Difference]: Without dead ends: 131 [2022-04-15 14:45:14,797 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-15 14:45:14,797 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-15 14:45:14,797 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-15 14:45:14,798 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-15 14:45:14,940 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-15 14:45:14,940 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:45:14,941 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-15 14:45:14,942 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-15 14:45:14,942 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-15 14:45:14,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:14,945 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-15 14:45:14,945 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-15 14:45:14,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:14,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:14,946 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-15 14:45:14,946 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-15 14:45:14,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:14,949 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-15 14:45:14,949 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-15 14:45:14,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:14,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:14,950 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:45:14,950 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:45:14,950 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-15 14:45:14,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-15 14:45:14,954 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-15 14:45:14,954 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:45:14,954 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-15 14:45:14,954 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-15 14:45:14,954 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-15 14:45:15,134 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-15 14:45:15,134 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-15 14:45:15,135 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-15 14:45:15,135 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:45:15,135 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-15 14:45:15,151 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-15 14:45:15,335 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-15 14:45:15,335 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:45:15,336 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:45:15,336 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-15 14:45:15,336 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:15,336 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1219764238] [2022-04-15 14:45:15,336 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:45:15,336 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-15 14:45:15,336 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:45:15,336 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [513053467] [2022-04-15 14:45:15,337 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:45:15,337 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:45:15,346 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:45:15,346 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1683220028] [2022-04-15 14:45:15,346 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:45:15,347 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:45:15,347 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:45:15,347 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-15 14:45:15,348 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-15 14:45:15,385 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:45:15,385 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:45:15,386 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 14:45:15,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:45:15,396 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:45:15,778 INFO L272 TraceCheckUtils]: 0: Hoare triple {6034#true} call ULTIMATE.init(); {6034#true} is VALID [2022-04-15 14:45:15,778 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-15 14:45:15,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:15,778 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6034#true} {6034#true} #88#return; {6034#true} is VALID [2022-04-15 14:45:15,778 INFO L272 TraceCheckUtils]: 4: Hoare triple {6034#true} call #t~ret6 := main(); {6034#true} is VALID [2022-04-15 14:45:15,779 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-15 14:45:15,779 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-15 14:45:15,779 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-15 14:45:15,779 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-15 14:45:15,780 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-15 14:45:15,780 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-15 14:45:15,780 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-15 14:45:15,781 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-15 14:45:15,781 INFO L290 TraceCheckUtils]: 13: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:15,781 INFO L290 TraceCheckUtils]: 14: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:15,781 INFO L290 TraceCheckUtils]: 15: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:15,781 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-15 14:45:15,781 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-15 14:45:15,781 INFO L290 TraceCheckUtils]: 18: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:15,781 INFO L290 TraceCheckUtils]: 19: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:15,781 INFO L290 TraceCheckUtils]: 20: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:15,782 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-15 14:45:15,782 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-15 14:45:15,782 INFO L290 TraceCheckUtils]: 23: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:15,782 INFO L290 TraceCheckUtils]: 24: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:15,782 INFO L290 TraceCheckUtils]: 25: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:15,783 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-15 14:45:15,783 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-15 14:45:15,788 INFO L290 TraceCheckUtils]: 28: Hoare triple {6123#(<= main_~a~0 2)} assume !false; {6123#(<= main_~a~0 2)} is VALID [2022-04-15 14:45:15,788 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-15 14:45:15,788 INFO L290 TraceCheckUtils]: 30: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:15,788 INFO L290 TraceCheckUtils]: 31: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:15,788 INFO L290 TraceCheckUtils]: 32: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:15,789 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #74#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-15 14:45:15,789 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-15 14:45:15,789 INFO L290 TraceCheckUtils]: 35: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:15,789 INFO L290 TraceCheckUtils]: 36: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:15,789 INFO L290 TraceCheckUtils]: 37: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:15,790 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #76#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-15 14:45:15,790 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-15 14:45:15,790 INFO L290 TraceCheckUtils]: 40: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:15,790 INFO L290 TraceCheckUtils]: 41: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:15,790 INFO L290 TraceCheckUtils]: 42: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:15,791 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #78#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-15 14:45:15,791 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-15 14:45:15,792 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-15 14:45:15,792 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-15 14:45:15,792 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-15 14:45:15,792 INFO L290 TraceCheckUtils]: 48: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:15,792 INFO L290 TraceCheckUtils]: 49: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:15,792 INFO L290 TraceCheckUtils]: 50: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:15,793 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-15 14:45:15,793 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-15 14:45:15,793 INFO L290 TraceCheckUtils]: 53: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:15,793 INFO L290 TraceCheckUtils]: 54: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:15,793 INFO L290 TraceCheckUtils]: 55: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:15,794 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-15 14:45:15,794 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-15 14:45:15,794 INFO L290 TraceCheckUtils]: 58: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:15,794 INFO L290 TraceCheckUtils]: 59: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:15,794 INFO L290 TraceCheckUtils]: 60: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:15,794 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-15 14:45:15,795 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-15 14:45:15,795 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-15 14:45:15,795 INFO L290 TraceCheckUtils]: 64: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-15 14:45:15,795 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-15 14:45:15,795 INFO L290 TraceCheckUtils]: 66: Hoare triple {6035#false} ~cond := #in~cond; {6035#false} is VALID [2022-04-15 14:45:15,796 INFO L290 TraceCheckUtils]: 67: Hoare triple {6035#false} assume 0 == ~cond; {6035#false} is VALID [2022-04-15 14:45:15,796 INFO L290 TraceCheckUtils]: 68: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-15 14:45:15,796 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-15 14:45:15,796 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:45:16,249 INFO L290 TraceCheckUtils]: 68: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-15 14:45:16,249 INFO L290 TraceCheckUtils]: 67: Hoare triple {6035#false} assume 0 == ~cond; {6035#false} is VALID [2022-04-15 14:45:16,249 INFO L290 TraceCheckUtils]: 66: Hoare triple {6035#false} ~cond := #in~cond; {6035#false} is VALID [2022-04-15 14:45:16,249 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-15 14:45:16,249 INFO L290 TraceCheckUtils]: 64: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-15 14:45:16,250 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-15 14:45:16,250 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-15 14:45:16,251 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-15 14:45:16,251 INFO L290 TraceCheckUtils]: 60: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:16,251 INFO L290 TraceCheckUtils]: 59: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:16,251 INFO L290 TraceCheckUtils]: 58: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:16,251 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-15 14:45:16,251 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-15 14:45:16,251 INFO L290 TraceCheckUtils]: 55: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:16,252 INFO L290 TraceCheckUtils]: 54: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:16,252 INFO L290 TraceCheckUtils]: 53: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:16,252 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-15 14:45:16,252 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-15 14:45:16,252 INFO L290 TraceCheckUtils]: 50: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:16,252 INFO L290 TraceCheckUtils]: 49: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:16,252 INFO L290 TraceCheckUtils]: 48: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:16,253 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-15 14:45:16,253 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-15 14:45:16,253 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-15 14:45:16,254 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-15 14:45:16,254 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #78#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-15 14:45:16,254 INFO L290 TraceCheckUtils]: 42: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:16,254 INFO L290 TraceCheckUtils]: 41: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:16,254 INFO L290 TraceCheckUtils]: 40: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:16,255 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-15 14:45:16,255 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #76#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-15 14:45:16,255 INFO L290 TraceCheckUtils]: 37: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:16,255 INFO L290 TraceCheckUtils]: 36: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:16,255 INFO L290 TraceCheckUtils]: 35: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:16,255 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-15 14:45:16,256 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #74#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-15 14:45:16,256 INFO L290 TraceCheckUtils]: 32: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:16,256 INFO L290 TraceCheckUtils]: 31: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:16,256 INFO L290 TraceCheckUtils]: 30: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:16,256 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-15 14:45:16,256 INFO L290 TraceCheckUtils]: 28: Hoare triple {6123#(<= main_~a~0 2)} assume !false; {6123#(<= main_~a~0 2)} is VALID [2022-04-15 14:45:16,257 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-15 14:45:16,257 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6034#true} {6374#(<= main_~x~0 2)} #72#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-15 14:45:16,257 INFO L290 TraceCheckUtils]: 25: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:16,257 INFO L290 TraceCheckUtils]: 24: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:16,257 INFO L290 TraceCheckUtils]: 23: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:16,257 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-15 14:45:16,258 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6034#true} {6374#(<= main_~x~0 2)} #70#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-15 14:45:16,258 INFO L290 TraceCheckUtils]: 20: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:16,258 INFO L290 TraceCheckUtils]: 19: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:16,258 INFO L290 TraceCheckUtils]: 18: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:16,258 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-15 14:45:16,258 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6034#true} {6374#(<= main_~x~0 2)} #68#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-15 14:45:16,258 INFO L290 TraceCheckUtils]: 15: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:16,258 INFO L290 TraceCheckUtils]: 14: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-15 14:45:16,259 INFO L290 TraceCheckUtils]: 13: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-15 14:45:16,259 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-15 14:45:16,259 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-15 14:45:16,259 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-15 14:45:16,260 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-15 14:45:16,260 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-15 14:45:16,260 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-15 14:45:16,260 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-15 14:45:16,260 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-15 14:45:16,260 INFO L272 TraceCheckUtils]: 4: Hoare triple {6034#true} call #t~ret6 := main(); {6034#true} is VALID [2022-04-15 14:45:16,260 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6034#true} {6034#true} #88#return; {6034#true} is VALID [2022-04-15 14:45:16,261 INFO L290 TraceCheckUtils]: 2: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-15 14:45:16,261 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-15 14:45:16,261 INFO L272 TraceCheckUtils]: 0: Hoare triple {6034#true} call ULTIMATE.init(); {6034#true} is VALID [2022-04-15 14:45:16,261 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-15 14:45:16,261 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:45:16,261 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [513053467] [2022-04-15 14:45:16,261 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:45:16,261 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1683220028] [2022-04-15 14:45:16,261 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1683220028] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:45:16,261 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:45:16,261 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-15 14:45:16,262 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:45:16,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1219764238] [2022-04-15 14:45:16,262 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1219764238] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:45:16,262 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:45:16,262 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:45:16,262 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [836023167] [2022-04-15 14:45:16,262 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:45:16,262 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-15 14:45:16,262 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:45:16,263 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-15 14:45:16,293 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-15 14:45:16,294 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:45:16,294 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:16,294 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:45:16,294 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-15 14:45:16,294 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-15 14:45:16,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:16,834 INFO L93 Difference]: Finished difference Result 156 states and 197 transitions. [2022-04-15 14:45:16,834 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:45:16,834 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-15 14:45:16,834 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:45:16,834 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-15 14:45:16,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-15 14:45:16,836 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-15 14:45:16,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-15 14:45:16,837 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-15 14:45:16,894 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-15 14:45:16,896 INFO L225 Difference]: With dead ends: 156 [2022-04-15 14:45:16,896 INFO L226 Difference]: Without dead ends: 119 [2022-04-15 14:45:16,897 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-15 14:45:16,897 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-15 14:45:16,897 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-15 14:45:16,898 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2022-04-15 14:45:17,037 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 115. [2022-04-15 14:45:17,037 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:45:17,037 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-15 14:45:17,037 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-15 14:45:17,038 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-15 14:45:17,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:17,040 INFO L93 Difference]: Finished difference Result 119 states and 145 transitions. [2022-04-15 14:45:17,040 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 145 transitions. [2022-04-15 14:45:17,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:17,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:17,041 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-15 14:45:17,041 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-15 14:45:17,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:17,043 INFO L93 Difference]: Finished difference Result 119 states and 145 transitions. [2022-04-15 14:45:17,043 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 145 transitions. [2022-04-15 14:45:17,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:17,043 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:17,043 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:45:17,043 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:45:17,044 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-15 14:45:17,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 140 transitions. [2022-04-15 14:45:17,046 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 140 transitions. Word has length 69 [2022-04-15 14:45:17,046 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:45:17,046 INFO L478 AbstractCegarLoop]: Abstraction has 115 states and 140 transitions. [2022-04-15 14:45:17,046 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-15 14:45:17,046 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 115 states and 140 transitions. [2022-04-15 14:45:17,199 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-15 14:45:17,199 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 140 transitions. [2022-04-15 14:45:17,200 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-15 14:45:17,200 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:45:17,200 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-15 14:45:17,216 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-15 14:45:17,416 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-15 14:45:17,416 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:45:17,416 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:45:17,417 INFO L85 PathProgramCache]: Analyzing trace with hash 1872855628, now seen corresponding path program 3 times [2022-04-15 14:45:17,417 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:17,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1898965511] [2022-04-15 14:45:17,417 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:45:17,417 INFO L85 PathProgramCache]: Analyzing trace with hash 1872855628, now seen corresponding path program 4 times [2022-04-15 14:45:17,417 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:45:17,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1735429072] [2022-04-15 14:45:17,417 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:45:17,417 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:45:17,429 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:45:17,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [705321685] [2022-04-15 14:45:17,430 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:45:17,430 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:45:17,430 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:45:17,431 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-15 14:45:17,435 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-15 14:45:17,468 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:45:17,468 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:45:17,468 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 14:45:17,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:45:17,479 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:45:17,757 INFO L272 TraceCheckUtils]: 0: Hoare triple {7249#true} call ULTIMATE.init(); {7249#true} is VALID [2022-04-15 14:45:17,757 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-15 14:45:17,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:17,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7249#true} {7249#true} #88#return; {7249#true} is VALID [2022-04-15 14:45:17,758 INFO L272 TraceCheckUtils]: 4: Hoare triple {7249#true} call #t~ret6 := main(); {7249#true} is VALID [2022-04-15 14:45:17,758 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-15 14:45:17,758 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-15 14:45:17,758 INFO L290 TraceCheckUtils]: 7: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:17,758 INFO L290 TraceCheckUtils]: 8: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:17,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:17,758 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7249#true} {7249#true} #66#return; {7249#true} is VALID [2022-04-15 14:45:17,758 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-15 14:45:17,758 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-15 14:45:17,783 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-15 14:45:17,784 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-15 14:45:17,784 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-15 14:45:17,784 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-15 14:45:17,784 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-15 14:45:17,785 INFO L290 TraceCheckUtils]: 18: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:17,785 INFO L290 TraceCheckUtils]: 19: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:17,785 INFO L290 TraceCheckUtils]: 20: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:17,785 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-15 14:45:17,785 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-15 14:45:17,785 INFO L290 TraceCheckUtils]: 23: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:17,785 INFO L290 TraceCheckUtils]: 24: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:17,785 INFO L290 TraceCheckUtils]: 25: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:17,786 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-15 14:45:17,786 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-15 14:45:17,786 INFO L290 TraceCheckUtils]: 28: Hoare triple {7338#(<= main_~b~0 2)} assume !false; {7338#(<= main_~b~0 2)} is VALID [2022-04-15 14:45:17,786 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-15 14:45:17,787 INFO L290 TraceCheckUtils]: 30: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:17,787 INFO L290 TraceCheckUtils]: 31: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:17,787 INFO L290 TraceCheckUtils]: 32: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:17,787 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #74#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-15 14:45:17,787 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-15 14:45:17,787 INFO L290 TraceCheckUtils]: 35: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:17,787 INFO L290 TraceCheckUtils]: 36: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:17,787 INFO L290 TraceCheckUtils]: 37: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:17,788 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #76#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-15 14:45:17,788 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-15 14:45:17,788 INFO L290 TraceCheckUtils]: 40: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:17,788 INFO L290 TraceCheckUtils]: 41: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:17,788 INFO L290 TraceCheckUtils]: 42: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:17,789 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #78#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-15 14:45:17,789 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-15 14:45:17,790 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-15 14:45:17,790 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-15 14:45:17,790 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-15 14:45:17,790 INFO L290 TraceCheckUtils]: 48: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:17,790 INFO L290 TraceCheckUtils]: 49: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:17,790 INFO L290 TraceCheckUtils]: 50: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:17,791 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-15 14:45:17,791 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-15 14:45:17,791 INFO L290 TraceCheckUtils]: 53: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:17,791 INFO L290 TraceCheckUtils]: 54: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:17,791 INFO L290 TraceCheckUtils]: 55: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:17,792 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-15 14:45:17,792 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-15 14:45:17,792 INFO L290 TraceCheckUtils]: 58: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:17,792 INFO L290 TraceCheckUtils]: 59: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:17,792 INFO L290 TraceCheckUtils]: 60: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:17,792 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-15 14:45:17,793 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-15 14:45:17,793 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-15 14:45:17,793 INFO L290 TraceCheckUtils]: 64: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-15 14:45:17,793 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-15 14:45:17,793 INFO L290 TraceCheckUtils]: 66: Hoare triple {7250#false} ~cond := #in~cond; {7250#false} is VALID [2022-04-15 14:45:17,794 INFO L290 TraceCheckUtils]: 67: Hoare triple {7250#false} assume 0 == ~cond; {7250#false} is VALID [2022-04-15 14:45:17,794 INFO L290 TraceCheckUtils]: 68: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-15 14:45:17,794 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-15 14:45:17,794 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:45:18,089 INFO L290 TraceCheckUtils]: 68: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-15 14:45:18,089 INFO L290 TraceCheckUtils]: 67: Hoare triple {7250#false} assume 0 == ~cond; {7250#false} is VALID [2022-04-15 14:45:18,089 INFO L290 TraceCheckUtils]: 66: Hoare triple {7250#false} ~cond := #in~cond; {7250#false} is VALID [2022-04-15 14:45:18,089 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-15 14:45:18,089 INFO L290 TraceCheckUtils]: 64: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-15 14:45:18,090 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-15 14:45:18,090 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-15 14:45:18,090 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-15 14:45:18,090 INFO L290 TraceCheckUtils]: 60: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:18,091 INFO L290 TraceCheckUtils]: 59: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:18,091 INFO L290 TraceCheckUtils]: 58: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:18,091 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-15 14:45:18,091 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-15 14:45:18,091 INFO L290 TraceCheckUtils]: 55: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:18,091 INFO L290 TraceCheckUtils]: 54: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:18,091 INFO L290 TraceCheckUtils]: 53: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:18,092 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-15 14:45:18,092 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-15 14:45:18,092 INFO L290 TraceCheckUtils]: 50: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:18,092 INFO L290 TraceCheckUtils]: 49: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:18,092 INFO L290 TraceCheckUtils]: 48: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:18,092 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-15 14:45:18,107 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-15 14:45:18,108 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-15 14:45:18,108 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-15 14:45:18,109 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #78#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-15 14:45:18,109 INFO L290 TraceCheckUtils]: 42: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:18,109 INFO L290 TraceCheckUtils]: 41: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:18,109 INFO L290 TraceCheckUtils]: 40: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:18,109 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-15 14:45:18,110 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #76#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-15 14:45:18,110 INFO L290 TraceCheckUtils]: 37: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:18,110 INFO L290 TraceCheckUtils]: 36: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:18,110 INFO L290 TraceCheckUtils]: 35: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:18,110 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-15 14:45:18,110 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #74#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-15 14:45:18,110 INFO L290 TraceCheckUtils]: 32: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:18,111 INFO L290 TraceCheckUtils]: 31: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:18,111 INFO L290 TraceCheckUtils]: 30: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:18,111 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-15 14:45:18,111 INFO L290 TraceCheckUtils]: 28: Hoare triple {7338#(<= main_~b~0 2)} assume !false; {7338#(<= main_~b~0 2)} is VALID [2022-04-15 14:45:18,111 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-15 14:45:18,112 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7249#true} {7589#(<= main_~y~0 2)} #72#return; {7589#(<= main_~y~0 2)} is VALID [2022-04-15 14:45:18,112 INFO L290 TraceCheckUtils]: 25: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:18,112 INFO L290 TraceCheckUtils]: 24: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:18,112 INFO L290 TraceCheckUtils]: 23: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:18,112 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-15 14:45:18,112 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7249#true} {7589#(<= main_~y~0 2)} #70#return; {7589#(<= main_~y~0 2)} is VALID [2022-04-15 14:45:18,112 INFO L290 TraceCheckUtils]: 20: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:18,112 INFO L290 TraceCheckUtils]: 19: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:18,113 INFO L290 TraceCheckUtils]: 18: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:18,113 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-15 14:45:18,113 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-15 14:45:18,113 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-15 14:45:18,114 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-15 14:45:18,114 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-15 14:45:18,114 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-15 14:45:18,114 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-15 14:45:18,114 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7249#true} {7249#true} #66#return; {7249#true} is VALID [2022-04-15 14:45:18,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:18,114 INFO L290 TraceCheckUtils]: 8: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-15 14:45:18,114 INFO L290 TraceCheckUtils]: 7: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-15 14:45:18,114 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-15 14:45:18,114 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-15 14:45:18,115 INFO L272 TraceCheckUtils]: 4: Hoare triple {7249#true} call #t~ret6 := main(); {7249#true} is VALID [2022-04-15 14:45:18,115 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7249#true} {7249#true} #88#return; {7249#true} is VALID [2022-04-15 14:45:18,115 INFO L290 TraceCheckUtils]: 2: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-15 14:45:18,115 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-15 14:45:18,115 INFO L272 TraceCheckUtils]: 0: Hoare triple {7249#true} call ULTIMATE.init(); {7249#true} is VALID [2022-04-15 14:45:18,115 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-15 14:45:18,115 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:45:18,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1735429072] [2022-04-15 14:45:18,115 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:45:18,116 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [705321685] [2022-04-15 14:45:18,116 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [705321685] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:45:18,116 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:45:18,116 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-15 14:45:18,116 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:45:18,116 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1898965511] [2022-04-15 14:45:18,116 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1898965511] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:45:18,116 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:45:18,116 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:45:18,116 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [249446302] [2022-04-15 14:45:18,116 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:45:18,117 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-15 14:45:18,117 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:45:18,117 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-15 14:45:18,151 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-15 14:45:18,151 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:45:18,151 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:18,151 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:45:18,152 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2022-04-15 14:45:18,152 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-15 14:45:18,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:18,635 INFO L93 Difference]: Finished difference Result 133 states and 154 transitions. [2022-04-15 14:45:18,636 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:45:18,636 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-15 14:45:18,636 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:45:18,636 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-15 14:45:18,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-15 14:45:18,637 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-15 14:45:18,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-15 14:45:18,638 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-15 14:45:18,696 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-15 14:45:18,699 INFO L225 Difference]: With dead ends: 133 [2022-04-15 14:45:18,699 INFO L226 Difference]: Without dead ends: 106 [2022-04-15 14:45:18,699 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-15 14:45:18,700 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-15 14:45:18,700 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-15 14:45:18,700 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-15 14:45:18,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 106. [2022-04-15 14:45:18,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:45:18,873 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-15 14:45:18,873 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-15 14:45:18,873 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-15 14:45:18,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:18,875 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-15 14:45:18,875 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-15 14:45:18,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:18,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:18,876 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-15 14:45:18,876 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-15 14:45:18,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:18,878 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-15 14:45:18,878 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-15 14:45:18,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:18,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:18,878 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:45:18,878 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:45:18,878 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-15 14:45:18,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 124 transitions. [2022-04-15 14:45:18,880 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 124 transitions. Word has length 69 [2022-04-15 14:45:18,880 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:45:18,880 INFO L478 AbstractCegarLoop]: Abstraction has 106 states and 124 transitions. [2022-04-15 14:45:18,880 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-15 14:45:18,880 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 124 transitions. [2022-04-15 14:45:19,014 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-15 14:45:19,014 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-15 14:45:19,015 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-15 14:45:19,015 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:45:19,015 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-15 14:45:19,031 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-15 14:45:19,215 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-15 14:45:19,215 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:45:19,216 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:45:19,216 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-15 14:45:19,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:19,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [171026406] [2022-04-15 14:45:19,216 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:45:19,216 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-15 14:45:19,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:45:19,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [46194523] [2022-04-15 14:45:19,217 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:45:19,217 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:45:19,226 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:45:19,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [278168937] [2022-04-15 14:45:19,226 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 14:45:19,227 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:45:19,227 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:45:19,227 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-15 14:45:19,228 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-15 14:45:19,274 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 14:45:19,274 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:45:19,275 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 14:45:19,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:45:19,286 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:45:19,591 INFO L272 TraceCheckUtils]: 0: Hoare triple {8372#true} call ULTIMATE.init(); {8372#true} is VALID [2022-04-15 14:45:19,591 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-15 14:45:19,591 INFO L290 TraceCheckUtils]: 2: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:19,591 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8372#true} {8372#true} #88#return; {8372#true} is VALID [2022-04-15 14:45:19,591 INFO L272 TraceCheckUtils]: 4: Hoare triple {8372#true} call #t~ret6 := main(); {8372#true} is VALID [2022-04-15 14:45:19,591 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-15 14:45:19,591 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-15 14:45:19,592 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-15 14:45:19,592 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-15 14:45:19,592 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-15 14:45:19,593 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-15 14:45:19,593 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-15 14:45:19,593 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-15 14:45:19,593 INFO L290 TraceCheckUtils]: 13: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:19,593 INFO L290 TraceCheckUtils]: 14: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:19,594 INFO L290 TraceCheckUtils]: 15: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:19,594 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-15 14:45:19,594 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-15 14:45:19,594 INFO L290 TraceCheckUtils]: 18: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:19,594 INFO L290 TraceCheckUtils]: 19: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:19,594 INFO L290 TraceCheckUtils]: 20: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:19,594 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-15 14:45:19,595 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-15 14:45:19,595 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-15 14:45:19,595 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-15 14:45:19,595 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-15 14:45:19,596 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-15 14:45:19,596 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-15 14:45:19,596 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-15 14:45:19,597 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-15 14:45:19,597 INFO L290 TraceCheckUtils]: 30: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:19,597 INFO L290 TraceCheckUtils]: 31: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:19,597 INFO L290 TraceCheckUtils]: 32: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:19,597 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-15 14:45:19,597 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-15 14:45:19,597 INFO L290 TraceCheckUtils]: 35: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:19,598 INFO L290 TraceCheckUtils]: 36: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:19,598 INFO L290 TraceCheckUtils]: 37: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:19,598 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-15 14:45:19,598 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-15 14:45:19,598 INFO L290 TraceCheckUtils]: 40: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:19,598 INFO L290 TraceCheckUtils]: 41: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:19,598 INFO L290 TraceCheckUtils]: 42: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:19,599 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-15 14:45:19,599 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-15 14:45:19,600 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-15 14:45:19,600 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-15 14:45:19,600 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-15 14:45:19,600 INFO L290 TraceCheckUtils]: 48: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:19,600 INFO L290 TraceCheckUtils]: 49: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:19,600 INFO L290 TraceCheckUtils]: 50: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:19,601 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-15 14:45:19,601 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-15 14:45:19,601 INFO L290 TraceCheckUtils]: 53: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:19,601 INFO L290 TraceCheckUtils]: 54: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:19,601 INFO L290 TraceCheckUtils]: 55: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:19,602 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-15 14:45:19,602 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-15 14:45:19,602 INFO L290 TraceCheckUtils]: 58: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:19,602 INFO L290 TraceCheckUtils]: 59: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:19,602 INFO L290 TraceCheckUtils]: 60: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:19,602 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-15 14:45:19,603 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-15 14:45:19,603 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-15 14:45:19,603 INFO L290 TraceCheckUtils]: 64: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-15 14:45:19,603 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-15 14:45:19,604 INFO L290 TraceCheckUtils]: 66: Hoare triple {8373#false} ~cond := #in~cond; {8373#false} is VALID [2022-04-15 14:45:19,604 INFO L290 TraceCheckUtils]: 67: Hoare triple {8373#false} assume !(0 == ~cond); {8373#false} is VALID [2022-04-15 14:45:19,604 INFO L290 TraceCheckUtils]: 68: Hoare triple {8373#false} assume true; {8373#false} is VALID [2022-04-15 14:45:19,604 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8373#false} {8373#false} #74#return; {8373#false} is VALID [2022-04-15 14:45:19,604 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-15 14:45:19,604 INFO L290 TraceCheckUtils]: 71: Hoare triple {8373#false} ~cond := #in~cond; {8373#false} is VALID [2022-04-15 14:45:19,604 INFO L290 TraceCheckUtils]: 72: Hoare triple {8373#false} assume 0 == ~cond; {8373#false} is VALID [2022-04-15 14:45:19,604 INFO L290 TraceCheckUtils]: 73: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-15 14:45:19,604 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-15 14:45:19,604 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:45:20,435 INFO L290 TraceCheckUtils]: 73: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-15 14:45:20,436 INFO L290 TraceCheckUtils]: 72: Hoare triple {8373#false} assume 0 == ~cond; {8373#false} is VALID [2022-04-15 14:45:20,436 INFO L290 TraceCheckUtils]: 71: Hoare triple {8373#false} ~cond := #in~cond; {8373#false} is VALID [2022-04-15 14:45:20,436 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-15 14:45:20,436 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8372#true} {8373#false} #74#return; {8373#false} is VALID [2022-04-15 14:45:20,436 INFO L290 TraceCheckUtils]: 68: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:20,436 INFO L290 TraceCheckUtils]: 67: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:20,436 INFO L290 TraceCheckUtils]: 66: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:20,436 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-15 14:45:20,436 INFO L290 TraceCheckUtils]: 64: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-15 14:45:20,438 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-15 14:45:20,438 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-15 14:45:20,439 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-15 14:45:20,439 INFO L290 TraceCheckUtils]: 60: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:20,439 INFO L290 TraceCheckUtils]: 59: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:20,439 INFO L290 TraceCheckUtils]: 58: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:20,439 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-15 14:45:20,440 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-15 14:45:20,440 INFO L290 TraceCheckUtils]: 55: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:20,440 INFO L290 TraceCheckUtils]: 54: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:20,440 INFO L290 TraceCheckUtils]: 53: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:20,440 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-15 14:45:20,441 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-15 14:45:20,441 INFO L290 TraceCheckUtils]: 50: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:20,441 INFO L290 TraceCheckUtils]: 49: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:20,441 INFO L290 TraceCheckUtils]: 48: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:20,441 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-15 14:45:20,441 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-15 14:45:20,442 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-15 14:45:20,442 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-15 14:45:20,443 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-15 14:45:20,443 INFO L290 TraceCheckUtils]: 42: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:20,443 INFO L290 TraceCheckUtils]: 41: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:20,443 INFO L290 TraceCheckUtils]: 40: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:20,443 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-15 14:45:20,455 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-15 14:45:20,455 INFO L290 TraceCheckUtils]: 37: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:20,456 INFO L290 TraceCheckUtils]: 36: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:20,456 INFO L290 TraceCheckUtils]: 35: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:20,456 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-15 14:45:20,456 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-15 14:45:20,456 INFO L290 TraceCheckUtils]: 32: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:20,456 INFO L290 TraceCheckUtils]: 31: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:20,456 INFO L290 TraceCheckUtils]: 30: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:20,457 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-15 14:45:20,457 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-15 14:45:20,457 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-15 14:45:20,458 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-15 14:45:20,458 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-15 14:45:20,458 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-15 14:45:20,459 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-15 14:45:20,459 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-15 14:45:20,459 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-15 14:45:20,459 INFO L290 TraceCheckUtils]: 20: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:20,459 INFO L290 TraceCheckUtils]: 19: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:20,459 INFO L290 TraceCheckUtils]: 18: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:20,460 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-15 14:45:20,460 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-15 14:45:20,460 INFO L290 TraceCheckUtils]: 15: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:20,460 INFO L290 TraceCheckUtils]: 14: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-15 14:45:20,460 INFO L290 TraceCheckUtils]: 13: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-15 14:45:20,460 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-15 14:45:20,460 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-15 14:45:20,461 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-15 14:45:20,461 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-15 14:45:20,462 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-15 14:45:20,462 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-15 14:45:20,462 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-15 14:45:20,462 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-15 14:45:20,462 INFO L272 TraceCheckUtils]: 4: Hoare triple {8372#true} call #t~ret6 := main(); {8372#true} is VALID [2022-04-15 14:45:20,462 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8372#true} {8372#true} #88#return; {8372#true} is VALID [2022-04-15 14:45:20,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-15 14:45:20,462 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-15 14:45:20,462 INFO L272 TraceCheckUtils]: 0: Hoare triple {8372#true} call ULTIMATE.init(); {8372#true} is VALID [2022-04-15 14:45:20,463 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-15 14:45:20,463 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:45:20,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [46194523] [2022-04-15 14:45:20,463 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:45:20,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [278168937] [2022-04-15 14:45:20,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [278168937] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:45:20,463 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:45:20,463 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-15 14:45:20,463 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:45:20,463 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [171026406] [2022-04-15 14:45:20,463 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [171026406] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:45:20,464 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:45:20,464 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:45:20,464 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1847711147] [2022-04-15 14:45:20,464 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:45:20,464 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-15 14:45:20,464 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:45:20,464 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-15 14:45:20,497 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-15 14:45:20,497 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:45:20,498 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:20,498 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:45:20,498 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-15 14:45:20,498 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-15 14:45:21,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:21,015 INFO L93 Difference]: Finished difference Result 123 states and 139 transitions. [2022-04-15 14:45:21,015 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:45:21,016 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-15 14:45:21,016 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:45:21,016 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-15 14:45:21,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2022-04-15 14:45:21,017 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-15 14:45:21,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2022-04-15 14:45:21,018 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 75 transitions. [2022-04-15 14:45:21,073 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-15 14:45:21,074 INFO L225 Difference]: With dead ends: 123 [2022-04-15 14:45:21,074 INFO L226 Difference]: Without dead ends: 85 [2022-04-15 14:45:21,075 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-15 14:45:21,075 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-15 14:45:21,075 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-15 14:45:21,076 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-15 14:45:21,202 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 85. [2022-04-15 14:45:21,202 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:45:21,203 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-15 14:45:21,203 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-15 14:45:21,203 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-15 14:45:21,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:21,205 INFO L93 Difference]: Finished difference Result 85 states and 100 transitions. [2022-04-15 14:45:21,205 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-15 14:45:21,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:21,205 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:21,205 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-15 14:45:21,205 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-15 14:45:21,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:21,207 INFO L93 Difference]: Finished difference Result 85 states and 100 transitions. [2022-04-15 14:45:21,207 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-15 14:45:21,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:21,207 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:21,207 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:45:21,207 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:45:21,207 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-15 14:45:21,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 100 transitions. [2022-04-15 14:45:21,209 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 100 transitions. Word has length 74 [2022-04-15 14:45:21,209 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:45:21,209 INFO L478 AbstractCegarLoop]: Abstraction has 85 states and 100 transitions. [2022-04-15 14:45:21,209 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-15 14:45:21,209 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 100 transitions. [2022-04-15 14:45:21,310 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-15 14:45:21,310 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-15 14:45:21,311 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-15 14:45:21,311 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:45:21,311 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-15 14:45:21,327 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-15 14:45:21,511 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-15 14:45:21,511 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:45:21,512 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:45:21,512 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-15 14:45:21,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:21,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1153448061] [2022-04-15 14:45:21,512 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:45:21,512 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-15 14:45:21,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:45:21,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1283746146] [2022-04-15 14:45:21,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:45:21,513 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:45:21,523 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:45:21,523 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [550205584] [2022-04-15 14:45:21,523 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:45:21,523 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:45:21,523 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:45:21,524 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-15 14:45:21,525 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-15 14:45:21,563 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:45:21,563 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:45:21,564 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-15 14:45:21,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:45:21,575 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:45:22,016 INFO L272 TraceCheckUtils]: 0: Hoare triple {9420#true} call ULTIMATE.init(); {9420#true} is VALID [2022-04-15 14:45:22,016 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-15 14:45:22,016 INFO L290 TraceCheckUtils]: 2: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,016 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9420#true} {9420#true} #88#return; {9420#true} is VALID [2022-04-15 14:45:22,016 INFO L272 TraceCheckUtils]: 4: Hoare triple {9420#true} call #t~ret6 := main(); {9420#true} is VALID [2022-04-15 14:45:22,017 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-15 14:45:22,017 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-15 14:45:22,017 INFO L290 TraceCheckUtils]: 7: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,017 INFO L290 TraceCheckUtils]: 8: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,017 INFO L290 TraceCheckUtils]: 9: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,017 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9420#true} {9420#true} #66#return; {9420#true} is VALID [2022-04-15 14:45:22,017 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-15 14:45:22,017 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-15 14:45:22,017 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-15 14:45:22,018 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-15 14:45:22,018 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-15 14:45:22,018 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-15 14:45:22,018 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-15 14:45:22,019 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-15 14:45:22,019 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-15 14:45:22,019 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-15 14:45:22,020 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-15 14:45:22,020 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-15 14:45:22,020 INFO L290 TraceCheckUtils]: 23: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,020 INFO L290 TraceCheckUtils]: 24: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,020 INFO L290 TraceCheckUtils]: 25: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,020 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-15 14:45:22,021 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-15 14:45:22,021 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-15 14:45:22,021 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-15 14:45:22,021 INFO L290 TraceCheckUtils]: 30: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,021 INFO L290 TraceCheckUtils]: 31: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,021 INFO L290 TraceCheckUtils]: 32: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,022 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-15 14:45:22,022 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-15 14:45:22,022 INFO L290 TraceCheckUtils]: 35: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,022 INFO L290 TraceCheckUtils]: 36: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,022 INFO L290 TraceCheckUtils]: 37: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,023 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-15 14:45:22,023 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-15 14:45:22,023 INFO L290 TraceCheckUtils]: 40: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,023 INFO L290 TraceCheckUtils]: 41: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,023 INFO L290 TraceCheckUtils]: 42: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,024 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-15 14:45:22,024 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-15 14:45:22,025 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-15 14:45:22,025 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-15 14:45:22,025 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-15 14:45:22,025 INFO L290 TraceCheckUtils]: 48: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,025 INFO L290 TraceCheckUtils]: 49: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,025 INFO L290 TraceCheckUtils]: 50: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,026 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-15 14:45:22,026 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-15 14:45:22,026 INFO L290 TraceCheckUtils]: 53: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,026 INFO L290 TraceCheckUtils]: 54: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,026 INFO L290 TraceCheckUtils]: 55: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,027 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-15 14:45:22,027 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-15 14:45:22,027 INFO L290 TraceCheckUtils]: 58: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,027 INFO L290 TraceCheckUtils]: 59: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,027 INFO L290 TraceCheckUtils]: 60: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,027 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-15 14:45:22,028 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-15 14:45:22,028 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-15 14:45:22,028 INFO L290 TraceCheckUtils]: 64: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-15 14:45:22,028 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-15 14:45:22,028 INFO L290 TraceCheckUtils]: 66: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-15 14:45:22,029 INFO L290 TraceCheckUtils]: 67: Hoare triple {9421#false} assume !(0 == ~cond); {9421#false} is VALID [2022-04-15 14:45:22,029 INFO L290 TraceCheckUtils]: 68: Hoare triple {9421#false} assume true; {9421#false} is VALID [2022-04-15 14:45:22,029 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {9421#false} {9421#false} #74#return; {9421#false} is VALID [2022-04-15 14:45:22,029 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-15 14:45:22,029 INFO L290 TraceCheckUtils]: 71: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-15 14:45:22,029 INFO L290 TraceCheckUtils]: 72: Hoare triple {9421#false} assume !(0 == ~cond); {9421#false} is VALID [2022-04-15 14:45:22,029 INFO L290 TraceCheckUtils]: 73: Hoare triple {9421#false} assume true; {9421#false} is VALID [2022-04-15 14:45:22,029 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {9421#false} {9421#false} #76#return; {9421#false} is VALID [2022-04-15 14:45:22,029 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-15 14:45:22,029 INFO L290 TraceCheckUtils]: 76: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-15 14:45:22,029 INFO L290 TraceCheckUtils]: 77: Hoare triple {9421#false} assume 0 == ~cond; {9421#false} is VALID [2022-04-15 14:45:22,029 INFO L290 TraceCheckUtils]: 78: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-15 14:45:22,030 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-15 14:45:22,030 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:45:22,903 INFO L290 TraceCheckUtils]: 78: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-15 14:45:22,904 INFO L290 TraceCheckUtils]: 77: Hoare triple {9421#false} assume 0 == ~cond; {9421#false} is VALID [2022-04-15 14:45:22,904 INFO L290 TraceCheckUtils]: 76: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-15 14:45:22,904 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-15 14:45:22,904 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {9420#true} {9421#false} #76#return; {9421#false} is VALID [2022-04-15 14:45:22,904 INFO L290 TraceCheckUtils]: 73: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,904 INFO L290 TraceCheckUtils]: 72: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,904 INFO L290 TraceCheckUtils]: 71: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,904 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-15 14:45:22,904 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {9420#true} {9421#false} #74#return; {9421#false} is VALID [2022-04-15 14:45:22,904 INFO L290 TraceCheckUtils]: 68: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,904 INFO L290 TraceCheckUtils]: 67: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,905 INFO L290 TraceCheckUtils]: 66: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,905 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-15 14:45:22,905 INFO L290 TraceCheckUtils]: 64: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-15 14:45:22,905 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-15 14:45:22,905 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-15 14:45:22,906 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-15 14:45:22,906 INFO L290 TraceCheckUtils]: 60: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,906 INFO L290 TraceCheckUtils]: 59: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,906 INFO L290 TraceCheckUtils]: 58: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,906 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-15 14:45:22,907 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-15 14:45:22,907 INFO L290 TraceCheckUtils]: 55: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,907 INFO L290 TraceCheckUtils]: 54: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,907 INFO L290 TraceCheckUtils]: 53: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,907 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-15 14:45:22,907 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-15 14:45:22,908 INFO L290 TraceCheckUtils]: 50: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,908 INFO L290 TraceCheckUtils]: 49: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,908 INFO L290 TraceCheckUtils]: 48: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,908 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-15 14:45:22,908 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-15 14:45:22,909 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-15 14:45:22,909 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-15 14:45:22,910 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-15 14:45:22,910 INFO L290 TraceCheckUtils]: 42: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,910 INFO L290 TraceCheckUtils]: 41: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,910 INFO L290 TraceCheckUtils]: 40: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,910 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-15 14:45:22,910 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-15 14:45:22,910 INFO L290 TraceCheckUtils]: 37: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,911 INFO L290 TraceCheckUtils]: 36: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,911 INFO L290 TraceCheckUtils]: 35: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,911 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-15 14:45:22,911 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-15 14:45:22,911 INFO L290 TraceCheckUtils]: 32: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,911 INFO L290 TraceCheckUtils]: 31: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,911 INFO L290 TraceCheckUtils]: 30: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,911 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-15 14:45:22,912 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-15 14:45:22,912 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-15 14:45:22,913 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-15 14:45:22,913 INFO L290 TraceCheckUtils]: 25: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,913 INFO L290 TraceCheckUtils]: 24: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,913 INFO L290 TraceCheckUtils]: 23: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,913 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-15 14:45:22,914 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-15 14:45:22,914 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-15 14:45:22,914 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-15 14:45:22,914 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-15 14:45:22,915 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-15 14:45:22,915 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-15 14:45:22,915 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-15 14:45:22,916 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-15 14:45:22,916 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-15 14:45:22,916 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-15 14:45:22,916 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-15 14:45:22,916 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9420#true} {9420#true} #66#return; {9420#true} is VALID [2022-04-15 14:45:22,916 INFO L290 TraceCheckUtils]: 9: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,916 INFO L290 TraceCheckUtils]: 8: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-15 14:45:22,916 INFO L290 TraceCheckUtils]: 7: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-15 14:45:22,916 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-15 14:45:22,917 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-15 14:45:22,917 INFO L272 TraceCheckUtils]: 4: Hoare triple {9420#true} call #t~ret6 := main(); {9420#true} is VALID [2022-04-15 14:45:22,917 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9420#true} {9420#true} #88#return; {9420#true} is VALID [2022-04-15 14:45:22,917 INFO L290 TraceCheckUtils]: 2: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-15 14:45:22,917 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-15 14:45:22,917 INFO L272 TraceCheckUtils]: 0: Hoare triple {9420#true} call ULTIMATE.init(); {9420#true} is VALID [2022-04-15 14:45:22,917 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-15 14:45:22,917 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:45:22,917 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1283746146] [2022-04-15 14:45:22,917 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:45:22,917 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [550205584] [2022-04-15 14:45:22,918 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [550205584] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:45:22,918 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:45:22,918 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2022-04-15 14:45:22,918 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:45:22,918 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1153448061] [2022-04-15 14:45:22,918 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1153448061] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:45:22,918 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:45:22,918 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:45:22,918 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [930110778] [2022-04-15 14:45:22,918 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:45:22,919 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-15 14:45:22,919 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:45:22,920 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-15 14:45:22,956 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-15 14:45:22,956 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:45:22,956 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:45:22,956 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:45:22,957 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-15 14:45:22,957 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-15 14:45:23,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:23,268 INFO L93 Difference]: Finished difference Result 93 states and 106 transitions. [2022-04-15 14:45:23,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:45:23,268 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-15 14:45:23,268 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:45:23,268 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-15 14:45:23,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-15 14:45:23,269 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-15 14:45:23,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-15 14:45:23,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-04-15 14:45:23,319 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-15 14:45:23,320 INFO L225 Difference]: With dead ends: 93 [2022-04-15 14:45:23,320 INFO L226 Difference]: Without dead ends: 0 [2022-04-15 14:45:23,320 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-15 14:45:23,321 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-15 14:45:23,321 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-15 14:45:23,321 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-15 14:45:23,321 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-15 14:45:23,322 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:45:23,322 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-15 14:45:23,322 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-15 14:45:23,322 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-15 14:45:23,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:23,322 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 14:45:23,322 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 14:45:23,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:23,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:23,322 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-15 14:45:23,322 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-15 14:45:23,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:45:23,322 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 14:45:23,322 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 14:45:23,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:23,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:45:23,322 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:45:23,323 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:45:23,323 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-15 14:45:23,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-15 14:45:23,323 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 79 [2022-04-15 14:45:23,323 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:45:23,323 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-15 14:45:23,323 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-15 14:45:23,323 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-15 14:45:23,323 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-15 14:45:23,323 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 14:45:23,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:45:23,325 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-15 14:45:23,353 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-15 14:45:23,539 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-15 14:45:23,541 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-15 14:45:25,275 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-15 14:45:25,275 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-15 14:45:25,275 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-15 14:45:25,276 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-15 14:45:25,276 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-15 14:45:25,276 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-15 14:45:25,276 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-15 14:45:25,276 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-15 14:45:25,276 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-15 14:45:25,276 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 18 59) the Hoare annotation is: true [2022-04-15 14:45:25,276 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-15 14:45:25,276 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-15 14:45:25,276 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 18 59) the Hoare annotation is: true [2022-04-15 14:45:25,276 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-15 14:45:25,276 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-15 14:45:25,276 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-15 14:45:25,277 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 18 59) the Hoare annotation is: true [2022-04-15 14:45:25,277 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-15 14:45:25,277 INFO L885 garLoopResultBuilder]: At program point L57(line 57) the Hoare annotation is: true [2022-04-15 14:45:25,277 INFO L878 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-15 14:45:25,277 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-15 14:45:25,277 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-15 14:45:25,277 INFO L885 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-15 14:45:25,277 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-15 14:45:25,277 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-15 14:45:25,277 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-15 14:45:25,277 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-15 14:45:25,277 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-15 14:45:25,277 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-15 14:45:25,277 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-15 14:45:25,277 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-15 14:45:25,277 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-15 14:45:25,278 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-15 14:45:25,278 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-15 14:45:25,278 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-15 14:45:25,278 INFO L878 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 14:45:25,278 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-15 14:45:25,278 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-15 14:45:25,278 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-15 14:45:25,278 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 14:45:25,280 INFO L719 BasicCegarLoop]: Path program histogram: [6, 4, 4, 2, 2, 2, 2, 2, 2] [2022-04-15 14:45:25,281 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-15 14:45:25,285 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-15 14:45:25,288 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-15 14:45:25,318 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-15 14:45:25,326 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 02:45:25 BoogieIcfgContainer [2022-04-15 14:45:25,326 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-15 14:45:25,327 INFO L158 Benchmark]: Toolchain (without parser) took 76883.18ms. Allocated memory was 229.6MB in the beginning and 363.9MB in the end (delta: 134.2MB). Free memory was 176.4MB in the beginning and 304.3MB in the end (delta: -127.9MB). Peak memory consumption was 184.2MB. Max. memory is 8.0GB. [2022-04-15 14:45:25,327 INFO L158 Benchmark]: CDTParser took 0.12ms. Allocated memory is still 229.6MB. Free memory is still 192.9MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 14:45:25,327 INFO L158 Benchmark]: CACSL2BoogieTranslator took 188.81ms. Allocated memory was 229.6MB in the beginning and 363.9MB in the end (delta: 134.2MB). Free memory was 176.2MB in the beginning and 338.1MB in the end (delta: -161.9MB). Peak memory consumption was 11.7MB. Max. memory is 8.0GB. [2022-04-15 14:45:25,327 INFO L158 Benchmark]: Boogie Preprocessor took 18.38ms. Allocated memory is still 363.9MB. Free memory was 338.1MB in the beginning and 336.4MB in the end (delta: 1.7MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-15 14:45:25,328 INFO L158 Benchmark]: RCFGBuilder took 266.05ms. Allocated memory is still 363.9MB. Free memory was 336.4MB in the beginning and 324.5MB in the end (delta: 11.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-15 14:45:25,328 INFO L158 Benchmark]: TraceAbstraction took 76406.42ms. Allocated memory is still 363.9MB. Free memory was 323.9MB in the beginning and 304.3MB in the end (delta: 19.5MB). Peak memory consumption was 197.7MB. Max. memory is 8.0GB. [2022-04-15 14:45:25,328 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.12ms. Allocated memory is still 229.6MB. Free memory is still 192.9MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 188.81ms. Allocated memory was 229.6MB in the beginning and 363.9MB in the end (delta: 134.2MB). Free memory was 176.2MB in the beginning and 338.1MB in the end (delta: -161.9MB). Peak memory consumption was 11.7MB. Max. memory is 8.0GB. * Boogie Preprocessor took 18.38ms. Allocated memory is still 363.9MB. Free memory was 338.1MB in the beginning and 336.4MB in the end (delta: 1.7MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 266.05ms. Allocated memory is still 363.9MB. Free memory was 336.4MB in the beginning and 324.5MB in the end (delta: 11.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 76406.42ms. Allocated memory is still 363.9MB. Free memory was 323.9MB in the beginning and 304.3MB in the end (delta: 19.5MB). Peak memory consumption was 197.7MB. 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: 76.3s, OverallIterations: 13, TraceHistogramMax: 9, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 6.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.7s, 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.1s 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.3s 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-15 14:45:25,357 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...