/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/prod4br-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 14:02:25,569 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 14:02:25,570 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 14:02:25,607 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 14:02:25,607 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 14:02:25,608 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 14:02:25,609 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 14:02:25,610 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 14:02:25,611 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 14:02:25,613 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 14:02:25,614 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 14:02:25,614 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 14:02:25,615 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 14:02:25,615 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 14:02:25,616 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 14:02:25,617 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 14:02:25,617 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 14:02:25,618 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 14:02:25,620 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 14:02:25,621 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 14:02:25,622 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 14:02:25,628 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 14:02:25,629 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 14:02:25,630 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 14:02:25,631 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 14:02:25,633 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 14:02:25,633 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 14:02:25,633 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 14:02:25,634 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 14:02:25,634 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 14:02:25,635 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 14:02:25,635 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 14:02:25,636 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 14:02:25,637 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 14:02:25,637 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 14:02:25,638 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 14:02:25,638 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 14:02:25,639 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 14:02:25,643 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 14:02:25,643 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 14:02:25,644 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 14:02:25,646 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 14:02:25,647 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 14:02:25,657 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 14:02:25,658 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 14:02:25,659 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 14:02:25,659 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 14:02:25,659 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 14:02:25,659 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 14:02:25,659 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 14:02:25,659 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 14:02:25,659 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 14:02:25,660 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 14:02:25,660 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 14:02:25,660 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 14:02:25,660 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 14:02:25,660 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 14:02:25,660 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 14:02:25,660 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:02:25,660 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 14:02:25,661 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 14:02:25,661 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 14:02:25,661 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 14:02:25,661 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 14:02:25,661 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 14:02:25,661 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 14:02:25,850 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 14:02:25,868 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 14:02:25,870 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 14:02:25,871 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 14:02:25,872 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 14:02:25,873 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound2.c [2022-04-28 14:02:25,918 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e05d2d039/419663fe0a944c189ee08fb54915e617/FLAGff1003f3d [2022-04-28 14:02:26,286 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 14:02:26,286 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound2.c [2022-04-28 14:02:26,291 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e05d2d039/419663fe0a944c189ee08fb54915e617/FLAGff1003f3d [2022-04-28 14:02:26,302 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e05d2d039/419663fe0a944c189ee08fb54915e617 [2022-04-28 14:02:26,304 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 14:02:26,305 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 14:02:26,306 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 14:02:26,306 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 14:02:26,310 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 14:02:26,311 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:02:26" (1/1) ... [2022-04-28 14:02:26,312 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@109015dc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:26, skipping insertion in model container [2022-04-28 14:02:26,313 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:02:26" (1/1) ... [2022-04-28 14:02:26,322 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 14:02:26,334 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 14:02:26,464 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/prod4br-ll_valuebound2.c[524,537] [2022-04-28 14:02:26,482 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:02:26,489 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 14:02:26,499 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/prod4br-ll_valuebound2.c[524,537] [2022-04-28 14:02:26,508 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:02:26,519 INFO L208 MainTranslator]: Completed translation [2022-04-28 14:02:26,520 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:26 WrapperNode [2022-04-28 14:02:26,520 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 14:02:26,521 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 14:02:26,521 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 14:02:26,521 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 14:02:26,529 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:26" (1/1) ... [2022-04-28 14:02:26,530 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:26" (1/1) ... [2022-04-28 14:02:26,535 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:26" (1/1) ... [2022-04-28 14:02:26,535 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:26" (1/1) ... [2022-04-28 14:02:26,542 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:26" (1/1) ... [2022-04-28 14:02:26,553 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:26" (1/1) ... [2022-04-28 14:02:26,554 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:26" (1/1) ... [2022-04-28 14:02:26,555 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 14:02:26,556 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 14:02:26,556 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 14:02:26,556 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 14:02:26,560 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:26" (1/1) ... [2022-04-28 14:02:26,566 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:02:26,575 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:02:26,593 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 14:02:26,612 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 14:02:26,630 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 14:02:26,630 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 14:02:26,630 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 14:02:26,631 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 14:02:26,631 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 14:02:26,632 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 14:02:26,632 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 14:02:26,632 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 14:02:26,632 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 14:02:26,632 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 14:02:26,632 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 14:02:26,632 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 14:02:26,633 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 14:02:26,633 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 14:02:26,633 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 14:02:26,635 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 14:02:26,635 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 14:02:26,635 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 14:02:26,635 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 14:02:26,635 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 14:02:26,693 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 14:02:26,694 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 14:02:26,956 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 14:02:26,962 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 14:02:26,963 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 14:02:26,964 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:02:26 BoogieIcfgContainer [2022-04-28 14:02:26,964 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 14:02:26,966 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 14:02:26,966 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 14:02:26,969 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 14:02:26,969 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 02:02:26" (1/3) ... [2022-04-28 14:02:26,969 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7ced10c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:02:26, skipping insertion in model container [2022-04-28 14:02:26,970 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:26" (2/3) ... [2022-04-28 14:02:26,970 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7ced10c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:02:26, skipping insertion in model container [2022-04-28 14:02:26,970 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:02:26" (3/3) ... [2022-04-28 14:02:26,971 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_valuebound2.c [2022-04-28 14:02:26,984 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 14:02:26,984 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 14:02:27,023 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 14:02:27,028 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@298d2d4f, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@611b7718 [2022-04-28 14:02:27,028 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 14:02:27,036 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:02:27,043 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:02:27,043 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:02:27,043 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:02:27,044 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:02:27,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:02:27,048 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 1 times [2022-04-28 14:02:27,055 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:27,056 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2099060729] [2022-04-28 14:02:27,070 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:02:27,071 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 2 times [2022-04-28 14:02:27,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:02:27,075 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1127289986] [2022-04-28 14:02:27,075 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:02:27,075 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:02:27,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:27,215 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 14:02:27,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:27,240 INFO L290 TraceCheckUtils]: 0: Hoare triple {54#(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(13, 2);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-28 14:02:27,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 14:02:27,241 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-28 14:02:27,242 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 14:02:27,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:27,270 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:02:27,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:02:27,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:02:27,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-28 14:02:27,272 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 14:02:27,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:27,283 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:02:27,283 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:02:27,283 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:02:27,284 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-28 14:02:27,284 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 14:02:27,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:27,292 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:02:27,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:02:27,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:02:27,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-28 14:02:27,294 INFO L272 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {54#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 14:02:27,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {54#(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(13, 2);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-28 14:02:27,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 14:02:27,295 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-28 14:02:27,295 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-28 14:02:27,295 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {37#true} is VALID [2022-04-28 14:02:27,295 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {37#true} is VALID [2022-04-28 14:02:27,295 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:02:27,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:02:27,298 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:02:27,298 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-28 14:02:27,298 INFO L290 TraceCheckUtils]: 11: Hoare triple {38#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38#false} is VALID [2022-04-28 14:02:27,298 INFO L272 TraceCheckUtils]: 12: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {37#true} is VALID [2022-04-28 14:02:27,298 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:02:27,300 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:02:27,300 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:02:27,300 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-28 14:02:27,301 INFO L272 TraceCheckUtils]: 17: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-28 14:02:27,301 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:02:27,302 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:02:27,302 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:02:27,302 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-28 14:02:27,304 INFO L290 TraceCheckUtils]: 22: Hoare triple {38#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {38#false} is VALID [2022-04-28 14:02:27,304 INFO L290 TraceCheckUtils]: 23: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-28 14:02:27,304 INFO L272 TraceCheckUtils]: 24: Hoare triple {38#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {38#false} is VALID [2022-04-28 14:02:27,304 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-28 14:02:27,304 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-28 14:02:27,305 INFO L290 TraceCheckUtils]: 27: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-28 14:02:27,305 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:02:27,306 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:02:27,306 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1127289986] [2022-04-28 14:02:27,306 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1127289986] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:27,307 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:27,307 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:02:27,309 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:02:27,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2099060729] [2022-04-28 14:02:27,309 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2099060729] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:27,309 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:27,309 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:02:27,310 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1120629226] [2022-04-28 14:02:27,310 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:02:27,315 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 14:02:27,320 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:02:27,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:02:27,364 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:27,364 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 14:02:27,364 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:27,388 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 14:02:27,389 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:02:27,391 INFO L87 Difference]: Start difference. First operand has 34 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:02:27,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:27,552 INFO L93 Difference]: Finished difference Result 61 states and 88 transitions. [2022-04-28 14:02:27,552 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 14:02:27,552 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 14:02:27,552 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:02:27,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:02:27,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-28 14:02:27,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:02:27,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-28 14:02:27,569 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 88 transitions. [2022-04-28 14:02:27,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:27,699 INFO L225 Difference]: With dead ends: 61 [2022-04-28 14:02:27,700 INFO L226 Difference]: Without dead ends: 29 [2022-04-28 14:02:27,709 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:02:27,716 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 22 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 15 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:02:27,717 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 15 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:02:27,732 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-28 14:02:27,752 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-28 14:02:27,752 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:02:27,753 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:02:27,754 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:02:27,755 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:02:27,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:27,763 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-28 14:02:27,764 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 14:02:27,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:27,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:27,765 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 29 states. [2022-04-28 14:02:27,766 INFO L87 Difference]: Start difference. First operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 29 states. [2022-04-28 14:02:27,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:27,781 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-28 14:02:27,781 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 14:02:27,782 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:27,782 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:27,782 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:02:27,783 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:02:27,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:02:27,789 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-28 14:02:27,790 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 28 [2022-04-28 14:02:27,790 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:02:27,790 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-28 14:02:27,791 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:02:27,791 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-28 14:02:27,832 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:27,833 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 14:02:27,834 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:02:27,834 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:02:27,835 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:02:27,835 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 14:02:27,835 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:02:27,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:02:27,836 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 1 times [2022-04-28 14:02:27,837 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:27,837 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1833544925] [2022-04-28 14:02:27,838 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:02:27,838 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 2 times [2022-04-28 14:02:27,839 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:02:27,842 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2043755487] [2022-04-28 14:02:27,842 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:02:27,843 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:02:27,884 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:02:27,884 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [746436558] [2022-04-28 14:02:27,885 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:02:27,885 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:02:27,885 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:02:27,891 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:02:27,920 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 14:02:27,955 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 14:02:27,956 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:02:27,957 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 14:02:27,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:27,985 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:02:28,180 INFO L272 TraceCheckUtils]: 0: Hoare triple {295#true} call ULTIMATE.init(); {295#true} is VALID [2022-04-28 14:02:28,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {295#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(13, 2);call #Ultimate.allocInit(12, 3); {295#true} is VALID [2022-04-28 14:02:28,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 14:02:28,181 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {295#true} {295#true} #83#return; {295#true} is VALID [2022-04-28 14:02:28,181 INFO L272 TraceCheckUtils]: 4: Hoare triple {295#true} call #t~ret6 := main(); {295#true} is VALID [2022-04-28 14:02:28,181 INFO L290 TraceCheckUtils]: 5: Hoare triple {295#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {295#true} is VALID [2022-04-28 14:02:28,181 INFO L272 TraceCheckUtils]: 6: Hoare triple {295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {295#true} is VALID [2022-04-28 14:02:28,182 INFO L290 TraceCheckUtils]: 7: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 14:02:28,182 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 14:02:28,182 INFO L290 TraceCheckUtils]: 9: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 14:02:28,182 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {295#true} {295#true} #71#return; {295#true} is VALID [2022-04-28 14:02:28,182 INFO L290 TraceCheckUtils]: 11: Hoare triple {295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {295#true} is VALID [2022-04-28 14:02:28,183 INFO L272 TraceCheckUtils]: 12: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {295#true} is VALID [2022-04-28 14:02:28,183 INFO L290 TraceCheckUtils]: 13: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 14:02:28,183 INFO L290 TraceCheckUtils]: 14: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 14:02:28,183 INFO L290 TraceCheckUtils]: 15: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 14:02:28,184 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {295#true} {295#true} #73#return; {295#true} is VALID [2022-04-28 14:02:28,184 INFO L272 TraceCheckUtils]: 17: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {295#true} is VALID [2022-04-28 14:02:28,184 INFO L290 TraceCheckUtils]: 18: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 14:02:28,184 INFO L290 TraceCheckUtils]: 19: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 14:02:28,184 INFO L290 TraceCheckUtils]: 20: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 14:02:28,184 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {295#true} {295#true} #75#return; {295#true} is VALID [2022-04-28 14:02:28,185 INFO L290 TraceCheckUtils]: 22: Hoare triple {295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:02:28,186 INFO L290 TraceCheckUtils]: 23: Hoare triple {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:02:28,187 INFO L272 TraceCheckUtils]: 24: Hoare triple {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {373#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:02:28,188 INFO L290 TraceCheckUtils]: 25: Hoare triple {373#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {377#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:02:28,188 INFO L290 TraceCheckUtils]: 26: Hoare triple {377#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {296#false} is VALID [2022-04-28 14:02:28,188 INFO L290 TraceCheckUtils]: 27: Hoare triple {296#false} assume !false; {296#false} is VALID [2022-04-28 14:02:28,189 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:02:28,189 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:02:28,189 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:02:28,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2043755487] [2022-04-28 14:02:28,190 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:02:28,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [746436558] [2022-04-28 14:02:28,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [746436558] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:28,190 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:28,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:02:28,191 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:02:28,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1833544925] [2022-04-28 14:02:28,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1833544925] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:28,191 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:28,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:02:28,191 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [359819139] [2022-04-28 14:02:28,192 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:02:28,192 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 14:02:28,193 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:02:28,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:02:28,211 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:28,211 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:02:28,212 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:28,212 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:02:28,212 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 14:02:28,213 INFO L87 Difference]: Start difference. First operand 29 states and 36 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:02:28,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:28,402 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-28 14:02:28,402 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 14:02:28,403 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 14:02:28,403 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:02:28,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:02:28,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 14:02:28,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:02:28,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 14:02:28,407 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-28 14:02:28,456 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:28,458 INFO L225 Difference]: With dead ends: 43 [2022-04-28 14:02:28,458 INFO L226 Difference]: Without dead ends: 41 [2022-04-28 14:02:28,459 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 14:02:28,460 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 9 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 92 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:02:28,460 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 92 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 14:02:28,461 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-28 14:02:28,471 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 35. [2022-04-28 14:02:28,471 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:02:28,471 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:02:28,472 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:02:28,472 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:02:28,475 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:28,475 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 14:02:28,475 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 14:02:28,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:28,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:28,476 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 41 states. [2022-04-28 14:02:28,476 INFO L87 Difference]: Start difference. First operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 41 states. [2022-04-28 14:02:28,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:28,479 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 14:02:28,479 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 14:02:28,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:28,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:28,480 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:02:28,480 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:02:28,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:02:28,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 42 transitions. [2022-04-28 14:02:28,483 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 42 transitions. Word has length 28 [2022-04-28 14:02:28,483 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:02:28,483 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 42 transitions. [2022-04-28 14:02:28,483 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:02:28,483 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 42 transitions. [2022-04-28 14:02:28,528 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:28,528 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 42 transitions. [2022-04-28 14:02:28,529 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 14:02:28,529 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:02:28,529 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:02:28,561 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-28 14:02:28,743 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:02:28,744 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:02:28,744 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:02:28,744 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 1 times [2022-04-28 14:02:28,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:28,744 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1730160633] [2022-04-28 14:02:28,745 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:02:28,745 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 2 times [2022-04-28 14:02:28,745 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:02:28,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1092856521] [2022-04-28 14:02:28,745 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:02:28,745 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:02:28,762 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:02:28,762 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [408661588] [2022-04-28 14:02:28,762 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:02:28,762 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:02:28,763 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:02:28,763 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:02:28,799 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 14:02:28,816 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:02:28,816 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:02:28,817 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 14:02:28,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:28,833 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:02:39,600 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-28 14:02:39,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#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(13, 2);call #Ultimate.allocInit(12, 3); {623#true} is VALID [2022-04-28 14:02:39,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:02:39,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-28 14:02:39,601 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-28 14:02:39,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {623#true} is VALID [2022-04-28 14:02:39,601 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {623#true} is VALID [2022-04-28 14:02:39,602 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:02:39,602 INFO L290 TraceCheckUtils]: 8: Hoare triple {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:39,603 INFO L290 TraceCheckUtils]: 9: Hoare triple {653#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:39,603 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {623#true} #71#return; {660#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:02:39,604 INFO L290 TraceCheckUtils]: 11: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {660#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:02:39,604 INFO L272 TraceCheckUtils]: 12: Hoare triple {660#(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)); {623#true} is VALID [2022-04-28 14:02:39,604 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 14:02:39,605 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 14:02:39,605 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:02:39,607 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {660#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #73#return; {660#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:02:39,608 INFO L272 TraceCheckUtils]: 17: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 14:02:39,608 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:02:39,609 INFO L290 TraceCheckUtils]: 19: Hoare triple {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:39,609 INFO L290 TraceCheckUtils]: 20: Hoare triple {653#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:39,610 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {660#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #75#return; {694#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:02:39,611 INFO L290 TraceCheckUtils]: 22: Hoare triple {694#(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; {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:02:39,611 INFO L290 TraceCheckUtils]: 23: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2))} assume !false; {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:02:39,611 INFO L272 TraceCheckUtils]: 24: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {623#true} is VALID [2022-04-28 14:02:39,612 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:02:39,612 INFO L290 TraceCheckUtils]: 26: Hoare triple {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:02:39,613 INFO L290 TraceCheckUtils]: 27: Hoare triple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:02:41,616 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2))} #77#return; {719#(and (<= 0 main_~x~0) (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is UNKNOWN [2022-04-28 14:02:41,617 INFO L290 TraceCheckUtils]: 29: Hoare triple {719#(and (<= 0 main_~x~0) (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2))} assume !(0 != ~a~0 && 0 != ~b~0); {723#(and (<= main_~x~0 0) (<= 0 main_~x~0) (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-28 14:02:41,629 INFO L272 TraceCheckUtils]: 30: Hoare triple {723#(and (<= main_~x~0 0) (<= 0 main_~x~0) (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:02:41,632 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:02:41,633 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-28 14:02:41,633 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-28 14:02:41,634 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 4 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:02:41,634 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:03:17,934 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-28 14:03:17,935 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-28 14:03:17,936 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:03:17,937 INFO L272 TraceCheckUtils]: 30: Hoare triple {747#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:03:17,937 INFO L290 TraceCheckUtils]: 29: Hoare triple {751#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {747#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:03:17,939 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {623#true} #77#return; {751#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-28 14:03:17,940 INFO L290 TraceCheckUtils]: 27: Hoare triple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:03:17,940 INFO L290 TraceCheckUtils]: 26: Hoare triple {764#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:03:17,941 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {764#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:03:17,941 INFO L272 TraceCheckUtils]: 24: Hoare triple {623#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {623#true} is VALID [2022-04-28 14:03:17,941 INFO L290 TraceCheckUtils]: 23: Hoare triple {623#true} assume !false; {623#true} is VALID [2022-04-28 14:03:17,941 INFO L290 TraceCheckUtils]: 22: Hoare triple {623#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {623#true} is VALID [2022-04-28 14:03:17,941 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {623#true} {623#true} #75#return; {623#true} is VALID [2022-04-28 14:03:17,941 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:03:17,942 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 14:03:17,942 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 14:03:17,942 INFO L272 TraceCheckUtils]: 17: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 14:03:17,942 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {623#true} #73#return; {623#true} is VALID [2022-04-28 14:03:17,942 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:03:17,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 14:03:17,943 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 14:03:17,943 INFO L272 TraceCheckUtils]: 12: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {623#true} is VALID [2022-04-28 14:03:17,943 INFO L290 TraceCheckUtils]: 11: Hoare triple {623#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {623#true} is VALID [2022-04-28 14:03:17,943 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #71#return; {623#true} is VALID [2022-04-28 14:03:17,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:03:17,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 14:03:17,944 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 14:03:17,944 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {623#true} is VALID [2022-04-28 14:03:17,944 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {623#true} is VALID [2022-04-28 14:03:17,944 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-28 14:03:17,944 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-28 14:03:17,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:03:17,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#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(13, 2);call #Ultimate.allocInit(12, 3); {623#true} is VALID [2022-04-28 14:03:17,945 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-28 14:03:17,945 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:03:17,945 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:03:17,945 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1092856521] [2022-04-28 14:03:17,945 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:03:17,945 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [408661588] [2022-04-28 14:03:17,946 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [408661588] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:03:17,946 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:03:17,946 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 16 [2022-04-28 14:03:17,946 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:03:17,946 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1730160633] [2022-04-28 14:03:17,946 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1730160633] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:03:17,947 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:03:17,947 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:03:17,947 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1428562597] [2022-04-28 14:03:17,947 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:03:17,947 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-04-28 14:03:17,948 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:03:17,948 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:03:19,972 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:03:19,973 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:03:19,973 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:03:19,973 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:03:19,973 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-28 14:03:19,974 INFO L87 Difference]: Start difference. First operand 35 states and 42 transitions. Second operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:03:22,852 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:03:26,240 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:03:26,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:03:26,353 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-28 14:03:26,353 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 14:03:26,353 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-04-28 14:03:26,353 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:03:26,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:03:26,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 14:03:26,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:03:26,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 14:03:26,358 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-28 14:03:26,414 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:03:26,416 INFO L225 Difference]: With dead ends: 47 [2022-04-28 14:03:26,416 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 14:03:26,416 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 52 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-28 14:03:26,417 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 26 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 227 mSolverCounterSat, 10 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 227 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.9s IncrementalHoareTripleChecker+Time [2022-04-28 14:03:26,418 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 137 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 227 Invalid, 2 Unknown, 0 Unchecked, 4.9s Time] [2022-04-28 14:03:26,418 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 14:03:26,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 41. [2022-04-28 14:03:26,462 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:03:26,462 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:03:26,463 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:03:26,463 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:03:26,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:03:26,465 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 14:03:26,466 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 14:03:26,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:03:26,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:03:26,467 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 14:03:26,467 INFO L87 Difference]: Start difference. First operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 14:03:26,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:03:26,469 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 14:03:26,470 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 14:03:26,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:03:26,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:03:26,470 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:03:26,470 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:03:26,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:03:26,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-28 14:03:26,473 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 34 [2022-04-28 14:03:26,473 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:03:26,473 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-28 14:03:26,473 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:03:26,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-28 14:03:26,544 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:03:26,545 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-28 14:03:26,550 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 14:03:26,550 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:03:26,551 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:03:26,576 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-28 14:03:26,765 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 14:03:26,766 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:03:26,766 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:03:26,766 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 1 times [2022-04-28 14:03:26,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:03:26,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1642334565] [2022-04-28 14:03:26,767 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:03:26,767 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 2 times [2022-04-28 14:03:26,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:03:26,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [388166300] [2022-04-28 14:03:26,768 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:03:26,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:03:26,788 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:03:26,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [460488700] [2022-04-28 14:03:26,789 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:03:26,789 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:03:26,789 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:03:26,794 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:03:26,795 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 14:03:26,841 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:03:26,841 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:03:26,843 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 14:03:26,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:03:26,864 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:03:28,322 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-28 14:03:28,323 INFO L290 TraceCheckUtils]: 1: Hoare triple {1116#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(13, 2);call #Ultimate.allocInit(12, 3); {1116#true} is VALID [2022-04-28 14:03:28,323 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:03:28,323 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-28 14:03:28,323 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-28 14:03:28,323 INFO L290 TraceCheckUtils]: 5: Hoare triple {1116#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1116#true} is VALID [2022-04-28 14:03:28,323 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:03:28,324 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:03:28,324 INFO L290 TraceCheckUtils]: 8: Hoare triple {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:03:28,325 INFO L290 TraceCheckUtils]: 9: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:03:28,325 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1116#true} #71#return; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:03:28,326 INFO L290 TraceCheckUtils]: 11: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:03:28,326 INFO L272 TraceCheckUtils]: 12: Hoare triple {1153#(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)); {1116#true} is VALID [2022-04-28 14:03:28,326 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:03:28,327 INFO L290 TraceCheckUtils]: 14: Hoare triple {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:03:28,327 INFO L290 TraceCheckUtils]: 15: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:03:28,328 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1153#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #73#return; {1172#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:03:28,328 INFO L272 TraceCheckUtils]: 17: Hoare triple {1172#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:03:28,328 INFO L290 TraceCheckUtils]: 18: Hoare triple {1116#true} ~cond := #in~cond; {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:03:28,329 INFO L290 TraceCheckUtils]: 19: Hoare triple {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:03:28,329 INFO L290 TraceCheckUtils]: 20: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:03:28,330 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1172#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} #75#return; {1188#(and (<= main_~y~0 2) (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:03:28,330 INFO L290 TraceCheckUtils]: 22: Hoare triple {1188#(and (<= main_~y~0 2) (<= 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; {1192#(and (<= main_~y~0 2) (<= 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-28 14:03:28,331 INFO L290 TraceCheckUtils]: 23: Hoare triple {1192#(and (<= main_~y~0 2) (<= 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; {1192#(and (<= main_~y~0 2) (<= 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-28 14:03:28,331 INFO L272 TraceCheckUtils]: 24: Hoare triple {1192#(and (<= main_~y~0 2) (<= 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 ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:03:28,331 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 14:03:28,332 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 14:03:28,332 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:03:28,332 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1192#(and (<= main_~y~0 2) (<= 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))} #77#return; {1192#(and (<= main_~y~0 2) (<= 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-28 14:03:28,333 INFO L290 TraceCheckUtils]: 29: Hoare triple {1192#(and (<= main_~y~0 2) (<= 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 !!(0 != ~a~0 && 0 != ~b~0); {1214#(and (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:03:28,335 INFO L290 TraceCheckUtils]: 30: Hoare triple {1214#(and (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1218#(and (<= main_~y~0 2) (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0) (<= main_~x~0 2) (not (= main_~x~0 0)))} is VALID [2022-04-28 14:03:28,335 INFO L290 TraceCheckUtils]: 31: Hoare triple {1218#(and (<= main_~y~0 2) (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0) (<= main_~x~0 2) (not (= main_~x~0 0)))} assume !false; {1218#(and (<= main_~y~0 2) (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0) (<= main_~x~0 2) (not (= main_~x~0 0)))} is VALID [2022-04-28 14:03:28,346 INFO L272 TraceCheckUtils]: 32: Hoare triple {1218#(and (<= main_~y~0 2) (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0) (<= main_~x~0 2) (not (= main_~x~0 0)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1225#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:03:28,346 INFO L290 TraceCheckUtils]: 33: Hoare triple {1225#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1229#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:03:28,347 INFO L290 TraceCheckUtils]: 34: Hoare triple {1229#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-28 14:03:28,347 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-28 14:03:28,347 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:03:28,347 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:04:40,522 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-28 14:04:40,523 INFO L290 TraceCheckUtils]: 34: Hoare triple {1229#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-28 14:04:40,523 INFO L290 TraceCheckUtils]: 33: Hoare triple {1225#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1229#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:40,524 INFO L272 TraceCheckUtils]: 32: Hoare triple {1245#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1225#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:04:40,525 INFO L290 TraceCheckUtils]: 31: Hoare triple {1245#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {1245#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:04:40,530 INFO L290 TraceCheckUtils]: 30: Hoare triple {1252#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1245#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:04:40,531 INFO L290 TraceCheckUtils]: 29: Hoare triple {1256#(or (= main_~a~0 0) (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} assume !!(0 != ~a~0 && 0 != ~b~0); {1252#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-28 14:04:40,532 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1256#(or (= main_~a~0 0) (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} #77#return; {1256#(or (= main_~a~0 0) (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-28 14:04:40,532 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:04:40,532 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 14:04:40,532 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 14:04:40,532 INFO L272 TraceCheckUtils]: 24: Hoare triple {1256#(or (= main_~a~0 0) (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:04:40,533 INFO L290 TraceCheckUtils]: 23: Hoare triple {1256#(or (= main_~a~0 0) (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} assume !false; {1256#(or (= main_~a~0 0) (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-28 14:04:40,537 INFO L290 TraceCheckUtils]: 22: Hoare triple {1278#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0) (= (* (div main_~x~0 2) (+ (div main_~y~0 2) 1) 4) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1256#(or (= main_~a~0 0) (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-28 14:04:40,538 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1116#true} #75#return; {1278#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0) (= (* (div main_~x~0 2) (+ (div main_~y~0 2) 1) 4) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} is VALID [2022-04-28 14:04:40,539 INFO L290 TraceCheckUtils]: 20: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:40,539 INFO L290 TraceCheckUtils]: 19: Hoare triple {1291#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:40,540 INFO L290 TraceCheckUtils]: 18: Hoare triple {1116#true} ~cond := #in~cond; {1291#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:04:40,540 INFO L272 TraceCheckUtils]: 17: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:04:40,540 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1116#true} #73#return; {1116#true} is VALID [2022-04-28 14:04:40,540 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:04:40,540 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 14:04:40,541 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 14:04:40,541 INFO L272 TraceCheckUtils]: 12: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:04:40,541 INFO L290 TraceCheckUtils]: 11: Hoare triple {1116#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1116#true} is VALID [2022-04-28 14:04:40,541 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1116#true} {1116#true} #71#return; {1116#true} is VALID [2022-04-28 14:04:40,541 INFO L290 TraceCheckUtils]: 9: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:04:40,541 INFO L290 TraceCheckUtils]: 8: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 14:04:40,542 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 14:04:40,542 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:04:40,542 INFO L290 TraceCheckUtils]: 5: Hoare triple {1116#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1116#true} is VALID [2022-04-28 14:04:40,542 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-28 14:04:40,542 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-28 14:04:40,542 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:04:40,542 INFO L290 TraceCheckUtils]: 1: Hoare triple {1116#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(13, 2);call #Ultimate.allocInit(12, 3); {1116#true} is VALID [2022-04-28 14:04:40,543 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-28 14:04:40,543 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:04:40,543 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:04:40,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [388166300] [2022-04-28 14:04:40,543 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:04:40,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [460488700] [2022-04-28 14:04:40,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [460488700] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:04:40,544 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:04:40,544 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-28 14:04:40,544 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:04:40,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1642334565] [2022-04-28 14:04:40,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1642334565] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:04:40,544 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:04:40,544 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 14:04:40,545 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [889115883] [2022-04-28 14:04:40,545 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:04:40,545 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 1.6363636363636365) internal successors, (18), 9 states have internal predecessors, (18), 5 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 36 [2022-04-28 14:04:40,545 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:04:40,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 1.6363636363636365) internal successors, (18), 9 states have internal predecessors, (18), 5 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:04:40,575 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:40,575 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 14:04:40,575 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:04:40,576 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 14:04:40,576 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=211, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:04:40,576 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 12 states, 11 states have (on average 1.6363636363636365) internal successors, (18), 9 states have internal predecessors, (18), 5 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:04:41,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:41,367 INFO L93 Difference]: Finished difference Result 69 states and 90 transitions. [2022-04-28 14:04:41,367 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 14:04:41,368 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 1.6363636363636365) internal successors, (18), 9 states have internal predecessors, (18), 5 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 36 [2022-04-28 14:04:41,368 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:04:41,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 1.6363636363636365) internal successors, (18), 9 states have internal predecessors, (18), 5 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:04:41,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 84 transitions. [2022-04-28 14:04:41,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 1.6363636363636365) internal successors, (18), 9 states have internal predecessors, (18), 5 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:04:41,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 84 transitions. [2022-04-28 14:04:41,373 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 84 transitions. [2022-04-28 14:04:41,452 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:41,454 INFO L225 Difference]: With dead ends: 69 [2022-04-28 14:04:41,454 INFO L226 Difference]: Without dead ends: 55 [2022-04-28 14:04:41,454 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 55 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=70, Invalid=272, Unknown=0, NotChecked=0, Total=342 [2022-04-28 14:04:41,455 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 38 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 237 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 256 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 237 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 14:04:41,456 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 147 Invalid, 256 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 237 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 14:04:41,456 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-28 14:04:41,535 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 52. [2022-04-28 14:04:41,536 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:04:41,536 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 52 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 36 states have internal predecessors, (41), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:04:41,536 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 52 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 36 states have internal predecessors, (41), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:04:41,537 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 52 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 36 states have internal predecessors, (41), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:04:41,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:41,539 INFO L93 Difference]: Finished difference Result 55 states and 66 transitions. [2022-04-28 14:04:41,539 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 66 transitions. [2022-04-28 14:04:41,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:04:41,540 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:04:41,540 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 36 states have internal predecessors, (41), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 55 states. [2022-04-28 14:04:41,540 INFO L87 Difference]: Start difference. First operand has 52 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 36 states have internal predecessors, (41), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 55 states. [2022-04-28 14:04:41,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:41,542 INFO L93 Difference]: Finished difference Result 55 states and 66 transitions. [2022-04-28 14:04:41,542 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 66 transitions. [2022-04-28 14:04:41,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:04:41,543 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:04:41,543 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:04:41,543 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:04:41,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 34 states have (on average 1.2058823529411764) internal successors, (41), 36 states have internal predecessors, (41), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:04:41,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 61 transitions. [2022-04-28 14:04:41,545 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 61 transitions. Word has length 36 [2022-04-28 14:04:41,545 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:04:41,545 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 61 transitions. [2022-04-28 14:04:41,546 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 1.6363636363636365) internal successors, (18), 9 states have internal predecessors, (18), 5 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:04:41,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 61 transitions. [2022-04-28 14:04:41,614 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:41,614 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 61 transitions. [2022-04-28 14:04:41,614 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 14:04:41,614 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:04:41,615 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:04:41,633 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 14:04:41,823 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:04:41,823 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:04:41,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:04:41,824 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 1 times [2022-04-28 14:04:41,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:04:41,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [667105109] [2022-04-28 14:04:41,824 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:04:41,824 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 2 times [2022-04-28 14:04:41,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:04:41,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [961416570] [2022-04-28 14:04:41,825 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:04:41,825 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:04:41,842 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:04:41,843 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1826742124] [2022-04-28 14:04:41,843 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:04:41,843 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:04:41,843 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:04:41,844 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:04:41,848 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 14:04:41,904 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:04:41,904 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:04:41,905 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-28 14:04:41,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:04:41,921 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:04:42,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {1704#true} call ULTIMATE.init(); {1704#true} is VALID [2022-04-28 14:04:42,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {1704#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(13, 2);call #Ultimate.allocInit(12, 3); {1704#true} is VALID [2022-04-28 14:04:42,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {1704#true} assume true; {1704#true} is VALID [2022-04-28 14:04:42,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1704#true} {1704#true} #83#return; {1704#true} is VALID [2022-04-28 14:04:42,628 INFO L272 TraceCheckUtils]: 4: Hoare triple {1704#true} call #t~ret6 := main(); {1704#true} is VALID [2022-04-28 14:04:42,628 INFO L290 TraceCheckUtils]: 5: Hoare triple {1704#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1704#true} is VALID [2022-04-28 14:04:42,628 INFO L272 TraceCheckUtils]: 6: Hoare triple {1704#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1704#true} is VALID [2022-04-28 14:04:42,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {1704#true} ~cond := #in~cond; {1730#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:04:42,632 INFO L290 TraceCheckUtils]: 8: Hoare triple {1730#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1734#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:42,632 INFO L290 TraceCheckUtils]: 9: Hoare triple {1734#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1734#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:42,633 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1734#(not (= |assume_abort_if_not_#in~cond| 0))} {1704#true} #71#return; {1741#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:04:42,633 INFO L290 TraceCheckUtils]: 11: Hoare triple {1741#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1741#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:04:42,634 INFO L272 TraceCheckUtils]: 12: Hoare triple {1741#(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)); {1704#true} is VALID [2022-04-28 14:04:42,634 INFO L290 TraceCheckUtils]: 13: Hoare triple {1704#true} ~cond := #in~cond; {1704#true} is VALID [2022-04-28 14:04:42,634 INFO L290 TraceCheckUtils]: 14: Hoare triple {1704#true} assume !(0 == ~cond); {1704#true} is VALID [2022-04-28 14:04:42,634 INFO L290 TraceCheckUtils]: 15: Hoare triple {1704#true} assume true; {1704#true} is VALID [2022-04-28 14:04:42,634 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1704#true} {1741#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #73#return; {1741#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:04:42,635 INFO L272 TraceCheckUtils]: 17: Hoare triple {1741#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1704#true} is VALID [2022-04-28 14:04:42,635 INFO L290 TraceCheckUtils]: 18: Hoare triple {1704#true} ~cond := #in~cond; {1730#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:04:42,636 INFO L290 TraceCheckUtils]: 19: Hoare triple {1730#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1734#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:42,636 INFO L290 TraceCheckUtils]: 20: Hoare triple {1734#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1734#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:42,637 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1734#(not (= |assume_abort_if_not_#in~cond| 0))} {1741#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #75#return; {1775#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:04:42,637 INFO L290 TraceCheckUtils]: 22: Hoare triple {1775#(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; {1779#(and (<= 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-28 14:04:42,638 INFO L290 TraceCheckUtils]: 23: Hoare triple {1779#(and (<= 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; {1779#(and (<= 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-28 14:04:42,638 INFO L272 TraceCheckUtils]: 24: Hoare triple {1779#(and (<= 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 ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1704#true} is VALID [2022-04-28 14:04:42,638 INFO L290 TraceCheckUtils]: 25: Hoare triple {1704#true} ~cond := #in~cond; {1789#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:42,639 INFO L290 TraceCheckUtils]: 26: Hoare triple {1789#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1793#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:04:42,639 INFO L290 TraceCheckUtils]: 27: Hoare triple {1793#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1793#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:04:42,640 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1793#(not (= |__VERIFIER_assert_#in~cond| 0))} {1779#(and (<= 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))} #77#return; {1779#(and (<= 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-28 14:04:42,640 INFO L290 TraceCheckUtils]: 29: Hoare triple {1779#(and (<= 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 !!(0 != ~a~0 && 0 != ~b~0); {1803#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:04:42,647 INFO L290 TraceCheckUtils]: 30: Hoare triple {1803#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {1803#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:04:42,654 INFO L290 TraceCheckUtils]: 31: Hoare triple {1803#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~a~0 0)) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume 1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {1810#(and (= (* main_~b~0 main_~p~0) main_~q~0) (<= 1 (mod (+ main_~a~0 1) 2)) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:04:42,654 INFO L290 TraceCheckUtils]: 32: Hoare triple {1810#(and (= (* main_~b~0 main_~p~0) main_~q~0) (<= 1 (mod (+ main_~a~0 1) 2)) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {1810#(and (= (* main_~b~0 main_~p~0) main_~q~0) (<= 1 (mod (+ main_~a~0 1) 2)) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:04:42,656 INFO L272 TraceCheckUtils]: 33: Hoare triple {1810#(and (= (* main_~b~0 main_~p~0) main_~q~0) (<= 1 (mod (+ main_~a~0 1) 2)) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:04:42,657 INFO L290 TraceCheckUtils]: 34: Hoare triple {1817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:42,658 INFO L290 TraceCheckUtils]: 35: Hoare triple {1821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1705#false} is VALID [2022-04-28 14:04:42,658 INFO L290 TraceCheckUtils]: 36: Hoare triple {1705#false} assume !false; {1705#false} is VALID [2022-04-28 14:04:42,658 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 6 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:04:42,658 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:04:51,349 INFO L290 TraceCheckUtils]: 36: Hoare triple {1705#false} assume !false; {1705#false} is VALID [2022-04-28 14:04:51,350 INFO L290 TraceCheckUtils]: 35: Hoare triple {1821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1705#false} is VALID [2022-04-28 14:04:51,351 INFO L290 TraceCheckUtils]: 34: Hoare triple {1817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:51,352 INFO L272 TraceCheckUtils]: 33: Hoare triple {1837#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:04:51,352 INFO L290 TraceCheckUtils]: 32: Hoare triple {1837#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {1837#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:04:51,364 INFO L290 TraceCheckUtils]: 31: Hoare triple {1844#(or (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)) (< main_~a~0 0) (not (<= 1 (mod main_~a~0 2))))} assume 1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {1837#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:04:51,367 INFO L290 TraceCheckUtils]: 30: Hoare triple {1844#(or (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)) (< main_~a~0 0) (not (<= 1 (mod main_~a~0 2))))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {1844#(or (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)) (< main_~a~0 0) (not (<= 1 (mod main_~a~0 2))))} is VALID [2022-04-28 14:04:51,368 INFO L290 TraceCheckUtils]: 29: Hoare triple {1851#(or (= main_~b~0 0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (< (mod main_~a~0 2) 1) (< main_~a~0 0))} assume !!(0 != ~a~0 && 0 != ~b~0); {1844#(or (= (+ (* main_~b~0 main_~p~0) (* (+ (- 1) main_~a~0) main_~b~0 main_~p~0) main_~q~0) (* main_~y~0 main_~x~0)) (< main_~a~0 0) (not (<= 1 (mod main_~a~0 2))))} is VALID [2022-04-28 14:04:51,369 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1793#(not (= |__VERIFIER_assert_#in~cond| 0))} {1704#true} #77#return; {1851#(or (= main_~b~0 0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (< (mod main_~a~0 2) 1) (< main_~a~0 0))} is VALID [2022-04-28 14:04:51,369 INFO L290 TraceCheckUtils]: 27: Hoare triple {1793#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1793#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:04:51,370 INFO L290 TraceCheckUtils]: 26: Hoare triple {1864#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1793#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:04:51,370 INFO L290 TraceCheckUtils]: 25: Hoare triple {1704#true} ~cond := #in~cond; {1864#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:04:51,370 INFO L272 TraceCheckUtils]: 24: Hoare triple {1704#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1704#true} is VALID [2022-04-28 14:04:51,371 INFO L290 TraceCheckUtils]: 23: Hoare triple {1704#true} assume !false; {1704#true} is VALID [2022-04-28 14:04:51,371 INFO L290 TraceCheckUtils]: 22: Hoare triple {1704#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1704#true} is VALID [2022-04-28 14:04:51,371 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1704#true} {1704#true} #75#return; {1704#true} is VALID [2022-04-28 14:04:51,371 INFO L290 TraceCheckUtils]: 20: Hoare triple {1704#true} assume true; {1704#true} is VALID [2022-04-28 14:04:51,371 INFO L290 TraceCheckUtils]: 19: Hoare triple {1704#true} assume !(0 == ~cond); {1704#true} is VALID [2022-04-28 14:04:51,371 INFO L290 TraceCheckUtils]: 18: Hoare triple {1704#true} ~cond := #in~cond; {1704#true} is VALID [2022-04-28 14:04:51,371 INFO L272 TraceCheckUtils]: 17: Hoare triple {1704#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1704#true} is VALID [2022-04-28 14:04:51,371 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1704#true} {1704#true} #73#return; {1704#true} is VALID [2022-04-28 14:04:51,372 INFO L290 TraceCheckUtils]: 15: Hoare triple {1704#true} assume true; {1704#true} is VALID [2022-04-28 14:04:51,372 INFO L290 TraceCheckUtils]: 14: Hoare triple {1704#true} assume !(0 == ~cond); {1704#true} is VALID [2022-04-28 14:04:51,372 INFO L290 TraceCheckUtils]: 13: Hoare triple {1704#true} ~cond := #in~cond; {1704#true} is VALID [2022-04-28 14:04:51,372 INFO L272 TraceCheckUtils]: 12: Hoare triple {1704#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1704#true} is VALID [2022-04-28 14:04:51,372 INFO L290 TraceCheckUtils]: 11: Hoare triple {1704#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1704#true} is VALID [2022-04-28 14:04:51,372 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1704#true} {1704#true} #71#return; {1704#true} is VALID [2022-04-28 14:04:51,372 INFO L290 TraceCheckUtils]: 9: Hoare triple {1704#true} assume true; {1704#true} is VALID [2022-04-28 14:04:51,372 INFO L290 TraceCheckUtils]: 8: Hoare triple {1704#true} assume !(0 == ~cond); {1704#true} is VALID [2022-04-28 14:04:51,373 INFO L290 TraceCheckUtils]: 7: Hoare triple {1704#true} ~cond := #in~cond; {1704#true} is VALID [2022-04-28 14:04:51,373 INFO L272 TraceCheckUtils]: 6: Hoare triple {1704#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1704#true} is VALID [2022-04-28 14:04:51,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {1704#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1704#true} is VALID [2022-04-28 14:04:51,373 INFO L272 TraceCheckUtils]: 4: Hoare triple {1704#true} call #t~ret6 := main(); {1704#true} is VALID [2022-04-28 14:04:51,373 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1704#true} {1704#true} #83#return; {1704#true} is VALID [2022-04-28 14:04:51,373 INFO L290 TraceCheckUtils]: 2: Hoare triple {1704#true} assume true; {1704#true} is VALID [2022-04-28 14:04:51,373 INFO L290 TraceCheckUtils]: 1: Hoare triple {1704#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(13, 2);call #Ultimate.allocInit(12, 3); {1704#true} is VALID [2022-04-28 14:04:51,373 INFO L272 TraceCheckUtils]: 0: Hoare triple {1704#true} call ULTIMATE.init(); {1704#true} is VALID [2022-04-28 14:04:51,374 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:04:51,374 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:04:51,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [961416570] [2022-04-28 14:04:51,374 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:04:51,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1826742124] [2022-04-28 14:04:51,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1826742124] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:04:51,374 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:04:51,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-28 14:04:51,375 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:04:51,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [667105109] [2022-04-28 14:04:51,375 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [667105109] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:04:51,375 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:04:51,375 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:04:51,375 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1327515937] [2022-04-28 14:04:51,375 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:04:51,376 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.6923076923076923) internal successors, (22), 11 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 37 [2022-04-28 14:04:51,376 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:04:51,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 1.6923076923076923) internal successors, (22), 11 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:04:51,404 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-28 14:04:51,404 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:04:51,404 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:04:51,404 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:04:51,405 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=217, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:04:51,405 INFO L87 Difference]: Start difference. First operand 52 states and 61 transitions. Second operand has 13 states, 13 states have (on average 1.6923076923076923) internal successors, (22), 11 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:04:52,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:52,331 INFO L93 Difference]: Finished difference Result 78 states and 97 transitions. [2022-04-28 14:04:52,331 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 14:04:52,332 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.6923076923076923) internal successors, (22), 11 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 37 [2022-04-28 14:04:52,332 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:04:52,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.6923076923076923) internal successors, (22), 11 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:04:52,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-28 14:04:52,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.6923076923076923) internal successors, (22), 11 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:04:52,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-28 14:04:52,336 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 81 transitions. [2022-04-28 14:04:52,429 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:52,430 INFO L225 Difference]: With dead ends: 78 [2022-04-28 14:04:52,430 INFO L226 Difference]: Without dead ends: 55 [2022-04-28 14:04:52,431 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=72, Invalid=308, Unknown=0, NotChecked=0, Total=380 [2022-04-28 14:04:52,432 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 35 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 244 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 258 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 244 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 14:04:52,432 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 123 Invalid, 258 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 244 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 14:04:52,432 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-28 14:04:52,512 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 53. [2022-04-28 14:04:52,512 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:04:52,512 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 53 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:04:52,512 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 53 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:04:52,513 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 53 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:04:52,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:52,516 INFO L93 Difference]: Finished difference Result 55 states and 65 transitions. [2022-04-28 14:04:52,516 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 65 transitions. [2022-04-28 14:04:52,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:04:52,516 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:04:52,518 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 55 states. [2022-04-28 14:04:52,518 INFO L87 Difference]: Start difference. First operand has 53 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 55 states. [2022-04-28 14:04:52,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:52,520 INFO L93 Difference]: Finished difference Result 55 states and 65 transitions. [2022-04-28 14:04:52,520 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 65 transitions. [2022-04-28 14:04:52,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:04:52,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:04:52,521 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:04:52,521 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:04:52,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:04:52,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 62 transitions. [2022-04-28 14:04:52,524 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 62 transitions. Word has length 37 [2022-04-28 14:04:52,525 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:04:52,525 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 62 transitions. [2022-04-28 14:04:52,525 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 1.6923076923076923) internal successors, (22), 11 states have internal predecessors, (22), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:04:52,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 62 transitions. [2022-04-28 14:04:52,611 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-28 14:04:52,612 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 62 transitions. [2022-04-28 14:04:52,612 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 14:04:52,612 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:04:52,612 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:04:52,636 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 14:04:52,813 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:04:52,813 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:04:52,813 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:04:52,813 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 1 times [2022-04-28 14:04:52,814 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:04:52,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1886092852] [2022-04-28 14:04:52,814 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:04:52,814 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 2 times [2022-04-28 14:04:52,814 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:04:52,814 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [999996704] [2022-04-28 14:04:52,815 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:04:52,815 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:04:52,826 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:04:52,827 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1633599210] [2022-04-28 14:04:52,827 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:04:52,827 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:04:52,827 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:04:52,828 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:04:52,852 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 14:04:52,869 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:04:52,869 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:04:52,870 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 14:04:52,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:04:52,882 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:04:53,128 INFO L272 TraceCheckUtils]: 0: Hoare triple {2320#true} call ULTIMATE.init(); {2320#true} is VALID [2022-04-28 14:04:53,129 INFO L290 TraceCheckUtils]: 1: Hoare triple {2320#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(13, 2);call #Ultimate.allocInit(12, 3); {2320#true} is VALID [2022-04-28 14:04:53,129 INFO L290 TraceCheckUtils]: 2: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-28 14:04:53,129 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2320#true} {2320#true} #83#return; {2320#true} is VALID [2022-04-28 14:04:53,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {2320#true} call #t~ret6 := main(); {2320#true} is VALID [2022-04-28 14:04:53,129 INFO L290 TraceCheckUtils]: 5: Hoare triple {2320#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2320#true} is VALID [2022-04-28 14:04:53,129 INFO L272 TraceCheckUtils]: 6: Hoare triple {2320#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2320#true} is VALID [2022-04-28 14:04:53,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {2320#true} ~cond := #in~cond; {2346#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:04:53,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {2346#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2350#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:53,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {2350#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2350#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:53,131 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2350#(not (= |assume_abort_if_not_#in~cond| 0))} {2320#true} #71#return; {2357#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:04:53,132 INFO L290 TraceCheckUtils]: 11: Hoare triple {2357#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2357#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:04:53,132 INFO L272 TraceCheckUtils]: 12: Hoare triple {2357#(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)); {2320#true} is VALID [2022-04-28 14:04:53,134 INFO L290 TraceCheckUtils]: 13: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-28 14:04:53,134 INFO L290 TraceCheckUtils]: 14: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-28 14:04:53,134 INFO L290 TraceCheckUtils]: 15: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-28 14:04:53,135 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2320#true} {2357#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #73#return; {2357#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:04:53,135 INFO L272 TraceCheckUtils]: 17: Hoare triple {2357#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2320#true} is VALID [2022-04-28 14:04:53,135 INFO L290 TraceCheckUtils]: 18: Hoare triple {2320#true} ~cond := #in~cond; {2346#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:04:53,136 INFO L290 TraceCheckUtils]: 19: Hoare triple {2346#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2350#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:53,136 INFO L290 TraceCheckUtils]: 20: Hoare triple {2350#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2350#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:53,136 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2350#(not (= |assume_abort_if_not_#in~cond| 0))} {2357#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #75#return; {2391#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:04:53,137 INFO L290 TraceCheckUtils]: 22: Hoare triple {2391#(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; {2395#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:04:53,137 INFO L290 TraceCheckUtils]: 23: Hoare triple {2395#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {2395#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:04:53,137 INFO L272 TraceCheckUtils]: 24: Hoare triple {2395#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2320#true} is VALID [2022-04-28 14:04:53,137 INFO L290 TraceCheckUtils]: 25: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-28 14:04:53,137 INFO L290 TraceCheckUtils]: 26: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-28 14:04:53,137 INFO L290 TraceCheckUtils]: 27: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-28 14:04:53,138 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2320#true} {2395#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {2395#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:04:53,138 INFO L290 TraceCheckUtils]: 29: Hoare triple {2395#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {2417#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:04:53,138 INFO L272 TraceCheckUtils]: 30: Hoare triple {2417#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2320#true} is VALID [2022-04-28 14:04:53,139 INFO L290 TraceCheckUtils]: 31: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-28 14:04:53,139 INFO L290 TraceCheckUtils]: 32: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-28 14:04:53,139 INFO L290 TraceCheckUtils]: 33: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-28 14:04:53,139 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2320#true} {2417#(and (= main_~a~0 0) (<= 1 main_~b~0))} #79#return; {2417#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:04:53,140 INFO L272 TraceCheckUtils]: 35: Hoare triple {2417#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2436#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:04:53,140 INFO L290 TraceCheckUtils]: 36: Hoare triple {2436#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2440#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:53,142 INFO L290 TraceCheckUtils]: 37: Hoare triple {2440#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2321#false} is VALID [2022-04-28 14:04:53,142 INFO L290 TraceCheckUtils]: 38: Hoare triple {2321#false} assume !false; {2321#false} is VALID [2022-04-28 14:04:53,142 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 14:04:53,142 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:04:53,367 INFO L290 TraceCheckUtils]: 38: Hoare triple {2321#false} assume !false; {2321#false} is VALID [2022-04-28 14:04:53,367 INFO L290 TraceCheckUtils]: 37: Hoare triple {2440#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2321#false} is VALID [2022-04-28 14:04:53,373 INFO L290 TraceCheckUtils]: 36: Hoare triple {2436#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2440#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:53,376 INFO L272 TraceCheckUtils]: 35: Hoare triple {2456#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2436#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:04:53,376 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2320#true} {2456#(= (* main_~b~0 main_~a~0) 0)} #79#return; {2456#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-28 14:04:53,377 INFO L290 TraceCheckUtils]: 33: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-28 14:04:53,377 INFO L290 TraceCheckUtils]: 32: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-28 14:04:53,377 INFO L290 TraceCheckUtils]: 31: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-28 14:04:53,377 INFO L272 TraceCheckUtils]: 30: Hoare triple {2456#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2320#true} is VALID [2022-04-28 14:04:53,378 INFO L290 TraceCheckUtils]: 29: Hoare triple {2320#true} assume !(0 != ~a~0 && 0 != ~b~0); {2456#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-28 14:04:53,378 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2320#true} {2320#true} #77#return; {2320#true} is VALID [2022-04-28 14:04:53,378 INFO L290 TraceCheckUtils]: 27: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-28 14:04:53,378 INFO L290 TraceCheckUtils]: 26: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-28 14:04:53,378 INFO L290 TraceCheckUtils]: 25: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-28 14:04:53,378 INFO L272 TraceCheckUtils]: 24: Hoare triple {2320#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2320#true} is VALID [2022-04-28 14:04:53,379 INFO L290 TraceCheckUtils]: 23: Hoare triple {2320#true} assume !false; {2320#true} is VALID [2022-04-28 14:04:53,379 INFO L290 TraceCheckUtils]: 22: Hoare triple {2320#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2320#true} is VALID [2022-04-28 14:04:53,379 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2320#true} {2320#true} #75#return; {2320#true} is VALID [2022-04-28 14:04:53,379 INFO L290 TraceCheckUtils]: 20: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-28 14:04:53,379 INFO L290 TraceCheckUtils]: 19: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-28 14:04:53,379 INFO L290 TraceCheckUtils]: 18: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-28 14:04:53,379 INFO L272 TraceCheckUtils]: 17: Hoare triple {2320#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2320#true} is VALID [2022-04-28 14:04:53,379 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2320#true} {2320#true} #73#return; {2320#true} is VALID [2022-04-28 14:04:53,379 INFO L290 TraceCheckUtils]: 15: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-28 14:04:53,379 INFO L290 TraceCheckUtils]: 14: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-28 14:04:53,380 INFO L290 TraceCheckUtils]: 13: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-28 14:04:53,380 INFO L272 TraceCheckUtils]: 12: Hoare triple {2320#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2320#true} is VALID [2022-04-28 14:04:53,380 INFO L290 TraceCheckUtils]: 11: Hoare triple {2320#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2320#true} is VALID [2022-04-28 14:04:53,380 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2320#true} {2320#true} #71#return; {2320#true} is VALID [2022-04-28 14:04:53,380 INFO L290 TraceCheckUtils]: 9: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-28 14:04:53,380 INFO L290 TraceCheckUtils]: 8: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-28 14:04:53,380 INFO L290 TraceCheckUtils]: 7: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-28 14:04:53,380 INFO L272 TraceCheckUtils]: 6: Hoare triple {2320#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2320#true} is VALID [2022-04-28 14:04:53,381 INFO L290 TraceCheckUtils]: 5: Hoare triple {2320#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2320#true} is VALID [2022-04-28 14:04:53,381 INFO L272 TraceCheckUtils]: 4: Hoare triple {2320#true} call #t~ret6 := main(); {2320#true} is VALID [2022-04-28 14:04:53,381 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2320#true} {2320#true} #83#return; {2320#true} is VALID [2022-04-28 14:04:53,381 INFO L290 TraceCheckUtils]: 2: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-28 14:04:53,381 INFO L290 TraceCheckUtils]: 1: Hoare triple {2320#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(13, 2);call #Ultimate.allocInit(12, 3); {2320#true} is VALID [2022-04-28 14:04:53,381 INFO L272 TraceCheckUtils]: 0: Hoare triple {2320#true} call ULTIMATE.init(); {2320#true} is VALID [2022-04-28 14:04:53,381 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 14:04:53,382 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:04:53,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [999996704] [2022-04-28 14:04:53,382 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:04:53,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1633599210] [2022-04-28 14:04:53,382 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1633599210] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 14:04:53,382 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 14:04:53,382 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-28 14:04:53,382 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:04:53,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1886092852] [2022-04-28 14:04:53,383 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1886092852] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:04:53,383 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:04:53,383 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:04:53,383 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [862491080] [2022-04-28 14:04:53,383 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:04:53,383 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-28 14:04:53,383 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:04:53,384 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:04:53,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:53,410 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:04:53,410 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:04:53,410 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:04:53,410 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-28 14:04:53,410 INFO L87 Difference]: Start difference. First operand 53 states and 62 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:04:53,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:53,834 INFO L93 Difference]: Finished difference Result 59 states and 67 transitions. [2022-04-28 14:04:53,834 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 14:04:53,835 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-28 14:04:53,835 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:04:53,835 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:04:53,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 14:04:53,836 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:04:53,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 14:04:53,837 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-28 14:04:53,883 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-28 14:04:53,886 INFO L225 Difference]: With dead ends: 59 [2022-04-28 14:04:53,886 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 14:04:53,887 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 67 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-28 14:04:53,888 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:04:53,888 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 125 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 14:04:53,888 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 14:04:53,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-28 14:04:53,966 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:04:53,967 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 47 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:04:53,967 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 47 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:04:53,967 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 47 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:04:53,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:53,969 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 14:04:53,969 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 14:04:53,969 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:04:53,969 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:04:53,970 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-28 14:04:53,970 INFO L87 Difference]: Start difference. First operand has 47 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-28 14:04:53,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:53,971 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 14:04:53,972 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 14:04:53,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:04:53,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:04:53,972 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:04:53,972 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:04:53,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:04:53,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 54 transitions. [2022-04-28 14:04:53,974 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 54 transitions. Word has length 39 [2022-04-28 14:04:53,974 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:04:53,974 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 54 transitions. [2022-04-28 14:04:53,974 INFO L496 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:04:53,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 54 transitions. [2022-04-28 14:04:54,042 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:54,042 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 14:04:54,043 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 14:04:54,043 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:04:54,043 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:04:54,060 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 14:04:54,247 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:04:54,248 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:04:54,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:04:54,248 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 1 times [2022-04-28 14:04:54,248 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:04:54,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [297837467] [2022-04-28 14:04:54,249 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:04:54,249 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 2 times [2022-04-28 14:04:54,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:04:54,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [730729191] [2022-04-28 14:04:54,249 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:04:54,249 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:04:54,266 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:04:54,267 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1148294941] [2022-04-28 14:04:54,267 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:04:54,267 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:04:54,267 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:04:54,268 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:04:54,279 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 14:04:54,311 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:04:54,311 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:04:54,312 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-28 14:04:54,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:04:54,326 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:04:55,268 INFO L272 TraceCheckUtils]: 0: Hoare triple {2872#true} call ULTIMATE.init(); {2872#true} is VALID [2022-04-28 14:04:55,268 INFO L290 TraceCheckUtils]: 1: Hoare triple {2872#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(13, 2);call #Ultimate.allocInit(12, 3); {2872#true} is VALID [2022-04-28 14:04:55,268 INFO L290 TraceCheckUtils]: 2: Hoare triple {2872#true} assume true; {2872#true} is VALID [2022-04-28 14:04:55,268 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2872#true} {2872#true} #83#return; {2872#true} is VALID [2022-04-28 14:04:55,268 INFO L272 TraceCheckUtils]: 4: Hoare triple {2872#true} call #t~ret6 := main(); {2872#true} is VALID [2022-04-28 14:04:55,268 INFO L290 TraceCheckUtils]: 5: Hoare triple {2872#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2872#true} is VALID [2022-04-28 14:04:55,269 INFO L272 TraceCheckUtils]: 6: Hoare triple {2872#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2872#true} is VALID [2022-04-28 14:04:55,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {2872#true} ~cond := #in~cond; {2898#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:04:55,270 INFO L290 TraceCheckUtils]: 8: Hoare triple {2898#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2902#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:55,270 INFO L290 TraceCheckUtils]: 9: Hoare triple {2902#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2902#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:55,271 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2902#(not (= |assume_abort_if_not_#in~cond| 0))} {2872#true} #71#return; {2909#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:04:55,272 INFO L290 TraceCheckUtils]: 11: Hoare triple {2909#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2909#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:04:55,272 INFO L272 TraceCheckUtils]: 12: Hoare triple {2909#(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)); {2872#true} is VALID [2022-04-28 14:04:55,276 INFO L290 TraceCheckUtils]: 13: Hoare triple {2872#true} ~cond := #in~cond; {2898#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:04:55,277 INFO L290 TraceCheckUtils]: 14: Hoare triple {2898#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2902#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:55,277 INFO L290 TraceCheckUtils]: 15: Hoare triple {2902#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2902#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:55,277 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2902#(not (= |assume_abort_if_not_#in~cond| 0))} {2909#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #73#return; {2928#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:04:55,277 INFO L272 TraceCheckUtils]: 17: Hoare triple {2928#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2872#true} is VALID [2022-04-28 14:04:55,278 INFO L290 TraceCheckUtils]: 18: Hoare triple {2872#true} ~cond := #in~cond; {2872#true} is VALID [2022-04-28 14:04:55,278 INFO L290 TraceCheckUtils]: 19: Hoare triple {2872#true} assume !(0 == ~cond); {2872#true} is VALID [2022-04-28 14:04:55,278 INFO L290 TraceCheckUtils]: 20: Hoare triple {2872#true} assume true; {2872#true} is VALID [2022-04-28 14:04:55,279 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2872#true} {2928#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} #75#return; {2928#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 14:04:55,279 INFO L290 TraceCheckUtils]: 22: Hoare triple {2928#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2947#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:04:55,280 INFO L290 TraceCheckUtils]: 23: Hoare triple {2947#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {2947#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:04:55,280 INFO L272 TraceCheckUtils]: 24: Hoare triple {2947#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2872#true} is VALID [2022-04-28 14:04:55,280 INFO L290 TraceCheckUtils]: 25: Hoare triple {2872#true} ~cond := #in~cond; {2957#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:55,281 INFO L290 TraceCheckUtils]: 26: Hoare triple {2957#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:04:55,281 INFO L290 TraceCheckUtils]: 27: Hoare triple {2961#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:04:55,282 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2961#(not (= |__VERIFIER_assert_#in~cond| 0))} {2947#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #77#return; {2947#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:04:55,283 INFO L290 TraceCheckUtils]: 29: Hoare triple {2947#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {2971#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (not (= main_~a~0 0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:04:55,283 INFO L290 TraceCheckUtils]: 30: Hoare triple {2971#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (not (= main_~a~0 0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {2971#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (not (= main_~a~0 0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:04:55,284 INFO L290 TraceCheckUtils]: 31: Hoare triple {2971#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (not (= main_~a~0 0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {2971#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (not (= main_~a~0 0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:04:55,284 INFO L290 TraceCheckUtils]: 32: Hoare triple {2971#(and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (not (= main_~a~0 0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {2981#(and (<= 0 main_~y~0) (<= 1 (mod main_~y~0 2)) (<= (mod main_~a~0 2) 0) (<= main_~y~0 2) (<= 0 main_~x~0) (= (* main_~a~0 main_~p~0) main_~q~0) (not (= main_~a~0 0)) (= (+ main_~b~0 1) main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:04:55,285 INFO L290 TraceCheckUtils]: 33: Hoare triple {2981#(and (<= 0 main_~y~0) (<= 1 (mod main_~y~0 2)) (<= (mod main_~a~0 2) 0) (<= main_~y~0 2) (<= 0 main_~x~0) (= (* main_~a~0 main_~p~0) main_~q~0) (not (= main_~a~0 0)) (= (+ main_~b~0 1) main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {2981#(and (<= 0 main_~y~0) (<= 1 (mod main_~y~0 2)) (<= (mod main_~a~0 2) 0) (<= main_~y~0 2) (<= 0 main_~x~0) (= (* main_~a~0 main_~p~0) main_~q~0) (not (= main_~a~0 0)) (= (+ main_~b~0 1) main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 14:04:55,287 INFO L272 TraceCheckUtils]: 34: Hoare triple {2981#(and (<= 0 main_~y~0) (<= 1 (mod main_~y~0 2)) (<= (mod main_~a~0 2) 0) (<= main_~y~0 2) (<= 0 main_~x~0) (= (* main_~a~0 main_~p~0) main_~q~0) (not (= main_~a~0 0)) (= (+ main_~b~0 1) main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2988#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:04:55,287 INFO L290 TraceCheckUtils]: 35: Hoare triple {2988#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2992#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:55,287 INFO L290 TraceCheckUtils]: 36: Hoare triple {2992#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2873#false} is VALID [2022-04-28 14:04:55,287 INFO L290 TraceCheckUtils]: 37: Hoare triple {2873#false} assume !false; {2873#false} is VALID [2022-04-28 14:04:55,288 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:04:55,288 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:05:04,215 INFO L290 TraceCheckUtils]: 37: Hoare triple {2873#false} assume !false; {2873#false} is VALID [2022-04-28 14:05:04,216 INFO L290 TraceCheckUtils]: 36: Hoare triple {2992#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2873#false} is VALID [2022-04-28 14:05:04,216 INFO L290 TraceCheckUtils]: 35: Hoare triple {2988#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2992#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:05:04,217 INFO L272 TraceCheckUtils]: 34: Hoare triple {3008#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2988#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:05:04,218 INFO L290 TraceCheckUtils]: 33: Hoare triple {3008#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {3008#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:05:04,226 INFO L290 TraceCheckUtils]: 32: Hoare triple {3015#(or (not (<= 1 (mod main_~b~0 2))) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))) (< main_~b~0 0))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {3008#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:05:04,227 INFO L290 TraceCheckUtils]: 31: Hoare triple {3015#(or (not (<= 1 (mod main_~b~0 2))) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))) (< main_~b~0 0))} assume !(1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3015#(or (not (<= 1 (mod main_~b~0 2))) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))) (< main_~b~0 0))} is VALID [2022-04-28 14:05:04,228 INFO L290 TraceCheckUtils]: 30: Hoare triple {3015#(or (not (<= 1 (mod main_~b~0 2))) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))) (< main_~b~0 0))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {3015#(or (not (<= 1 (mod main_~b~0 2))) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))) (< main_~b~0 0))} is VALID [2022-04-28 14:05:04,229 INFO L290 TraceCheckUtils]: 29: Hoare triple {3025#(or (= main_~a~0 0) (< (mod main_~b~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))) (< main_~b~0 0))} assume !!(0 != ~a~0 && 0 != ~b~0); {3015#(or (not (<= 1 (mod main_~b~0 2))) (= (* main_~y~0 main_~x~0) (+ (* main_~a~0 main_~p~0) main_~q~0 (* main_~a~0 main_~p~0 (+ (- 1) main_~b~0)))) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))) (< main_~b~0 0))} is VALID [2022-04-28 14:05:04,230 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2961#(not (= |__VERIFIER_assert_#in~cond| 0))} {2872#true} #77#return; {3025#(or (= main_~a~0 0) (< (mod main_~b~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (and (not (< main_~a~0 0)) (not (<= (mod main_~a~0 2) 0))) (< main_~b~0 0))} is VALID [2022-04-28 14:05:04,230 INFO L290 TraceCheckUtils]: 27: Hoare triple {2961#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:05:04,231 INFO L290 TraceCheckUtils]: 26: Hoare triple {3038#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2961#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:05:04,231 INFO L290 TraceCheckUtils]: 25: Hoare triple {2872#true} ~cond := #in~cond; {3038#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:05:04,231 INFO L272 TraceCheckUtils]: 24: Hoare triple {2872#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2872#true} is VALID [2022-04-28 14:05:04,231 INFO L290 TraceCheckUtils]: 23: Hoare triple {2872#true} assume !false; {2872#true} is VALID [2022-04-28 14:05:04,232 INFO L290 TraceCheckUtils]: 22: Hoare triple {2872#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2872#true} is VALID [2022-04-28 14:05:04,232 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2872#true} {2872#true} #75#return; {2872#true} is VALID [2022-04-28 14:05:04,232 INFO L290 TraceCheckUtils]: 20: Hoare triple {2872#true} assume true; {2872#true} is VALID [2022-04-28 14:05:04,232 INFO L290 TraceCheckUtils]: 19: Hoare triple {2872#true} assume !(0 == ~cond); {2872#true} is VALID [2022-04-28 14:05:04,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {2872#true} ~cond := #in~cond; {2872#true} is VALID [2022-04-28 14:05:04,232 INFO L272 TraceCheckUtils]: 17: Hoare triple {2872#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2872#true} is VALID [2022-04-28 14:05:04,232 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2872#true} {2872#true} #73#return; {2872#true} is VALID [2022-04-28 14:05:04,232 INFO L290 TraceCheckUtils]: 15: Hoare triple {2872#true} assume true; {2872#true} is VALID [2022-04-28 14:05:04,232 INFO L290 TraceCheckUtils]: 14: Hoare triple {2872#true} assume !(0 == ~cond); {2872#true} is VALID [2022-04-28 14:05:04,232 INFO L290 TraceCheckUtils]: 13: Hoare triple {2872#true} ~cond := #in~cond; {2872#true} is VALID [2022-04-28 14:05:04,233 INFO L272 TraceCheckUtils]: 12: Hoare triple {2872#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2872#true} is VALID [2022-04-28 14:05:04,233 INFO L290 TraceCheckUtils]: 11: Hoare triple {2872#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2872#true} is VALID [2022-04-28 14:05:04,233 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2872#true} {2872#true} #71#return; {2872#true} is VALID [2022-04-28 14:05:04,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {2872#true} assume true; {2872#true} is VALID [2022-04-28 14:05:04,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {2872#true} assume !(0 == ~cond); {2872#true} is VALID [2022-04-28 14:05:04,233 INFO L290 TraceCheckUtils]: 7: Hoare triple {2872#true} ~cond := #in~cond; {2872#true} is VALID [2022-04-28 14:05:04,233 INFO L272 TraceCheckUtils]: 6: Hoare triple {2872#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2872#true} is VALID [2022-04-28 14:05:04,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {2872#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2872#true} is VALID [2022-04-28 14:05:04,233 INFO L272 TraceCheckUtils]: 4: Hoare triple {2872#true} call #t~ret6 := main(); {2872#true} is VALID [2022-04-28 14:05:04,233 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2872#true} {2872#true} #83#return; {2872#true} is VALID [2022-04-28 14:05:04,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {2872#true} assume true; {2872#true} is VALID [2022-04-28 14:05:04,234 INFO L290 TraceCheckUtils]: 1: Hoare triple {2872#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(13, 2);call #Ultimate.allocInit(12, 3); {2872#true} is VALID [2022-04-28 14:05:04,234 INFO L272 TraceCheckUtils]: 0: Hoare triple {2872#true} call ULTIMATE.init(); {2872#true} is VALID [2022-04-28 14:05:04,234 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:05:04,234 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:05:04,234 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [730729191] [2022-04-28 14:05:04,234 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:05:04,234 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1148294941] [2022-04-28 14:05:04,235 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1148294941] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:05:04,235 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:05:04,235 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-28 14:05:04,235 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:05:04,235 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [297837467] [2022-04-28 14:05:04,235 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [297837467] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:05:04,235 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:05:04,235 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:05:04,235 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2047181462] [2022-04-28 14:05:04,235 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:05:04,236 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 11 states have internal predecessors, (23), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 38 [2022-04-28 14:05:04,236 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:05:04,236 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 11 states have internal predecessors, (23), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:05:04,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:05:04,269 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:05:04,269 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:05:04,269 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:05:04,270 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=217, Unknown=0, NotChecked=0, Total=272 [2022-04-28 14:05:04,270 INFO L87 Difference]: Start difference. First operand 47 states and 54 transitions. Second operand has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 11 states have internal predecessors, (23), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:05:04,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:05:04,902 INFO L93 Difference]: Finished difference Result 69 states and 83 transitions. [2022-04-28 14:05:04,902 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 14:05:04,902 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 11 states have internal predecessors, (23), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) Word has length 38 [2022-04-28 14:05:04,903 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:05:04,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 11 states have internal predecessors, (23), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:05:04,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 70 transitions. [2022-04-28 14:05:04,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 11 states have internal predecessors, (23), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:05:04,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 70 transitions. [2022-04-28 14:05:04,906 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 70 transitions. [2022-04-28 14:05:04,966 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:05:04,967 INFO L225 Difference]: With dead ends: 69 [2022-04-28 14:05:04,967 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 14:05:04,968 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=72, Invalid=308, Unknown=0, NotChecked=0, Total=380 [2022-04-28 14:05:04,968 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 42 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 179 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 179 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 14:05:04,969 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [45 Valid, 113 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 179 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 14:05:04,969 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 14:05:05,035 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 46. [2022-04-28 14:05:05,036 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:05:05,036 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 46 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 32 states have internal predecessors, (37), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:05:05,036 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 46 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 32 states have internal predecessors, (37), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:05:05,036 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 46 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 32 states have internal predecessors, (37), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:05:05,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:05:05,038 INFO L93 Difference]: Finished difference Result 48 states and 55 transitions. [2022-04-28 14:05:05,038 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 55 transitions. [2022-04-28 14:05:05,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:05:05,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:05:05,039 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 32 states have internal predecessors, (37), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 48 states. [2022-04-28 14:05:05,039 INFO L87 Difference]: Start difference. First operand has 46 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 32 states have internal predecessors, (37), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 48 states. [2022-04-28 14:05:05,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:05:05,040 INFO L93 Difference]: Finished difference Result 48 states and 55 transitions. [2022-04-28 14:05:05,040 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 55 transitions. [2022-04-28 14:05:05,041 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:05:05,041 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:05:05,041 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:05:05,041 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:05:05,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 31 states have (on average 1.1935483870967742) internal successors, (37), 32 states have internal predecessors, (37), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:05:05,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 53 transitions. [2022-04-28 14:05:05,043 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 53 transitions. Word has length 38 [2022-04-28 14:05:05,043 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:05:05,043 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 53 transitions. [2022-04-28 14:05:05,043 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 1.7692307692307692) internal successors, (23), 11 states have internal predecessors, (23), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 14:05:05,043 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 53 transitions. [2022-04-28 14:05:05,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:05:05,114 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 53 transitions. [2022-04-28 14:05:05,114 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 14:05:05,115 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:05:05,115 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:05:05,131 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 14:05:05,319 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:05:05,320 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:05:05,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:05:05,320 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 1 times [2022-04-28 14:05:05,320 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:05:05,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1205256306] [2022-04-28 14:05:05,320 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:05:05,321 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 2 times [2022-04-28 14:05:05,321 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:05:05,321 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [943885060] [2022-04-28 14:05:05,321 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:05:05,321 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:05:05,335 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:05:05,335 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1489650881] [2022-04-28 14:05:05,336 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:05:05,336 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:05:05,336 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:05:05,337 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:05:05,338 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 14:05:05,377 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:05:05,377 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:05:05,378 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 14:05:05,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:05:05,390 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:05:06,705 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:05:06,705 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [943885060] [2022-04-28 14:05:06,705 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:05:06,706 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1489650881] [2022-04-28 14:05:06,706 WARN L319 FreeRefinementEngine]: Global settings require throwing the following exception [2022-04-28 14:05:06,735 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 14:05:06,919 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:05:06,920 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: transformation to positive normal form unsound at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.polynomials.PolynomialRelation.positiveNormalForm(PolynomialRelation.java:434) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.polynomials.PolynomialRelation.solveForSubject(PolynomialRelation.java:477) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DerScout.transduceAtom(DerScout.java:101) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.DerScout.transduceAtom(DerScout.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.CondisTermTransducer.transduceImmediately(CondisTermTransducer.java:67) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.TermTransducer$TermTransducerHelper.convert(TermTransducer.java:76) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.cacheConvert(TermTransformer.java:131) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer$Convert.walk(TermTransformer.java:79) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:115) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:106) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.transform(TermTransformer.java:285) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.TermTransducer.transduce(TermTransducer.java:60) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.computeDerApplicabilityScore(QuantifierPusher.java:605) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.selectBestEliminatee(QuantifierPusher.java:589) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushUtilsForSubsetPush.sequentialSubsetPush(QuantifierPushUtilsForSubsetPush.java:135) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective2(QuantifierPusher.java:389) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:346) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:175) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:65) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:61) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:264) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:250) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.PartialQuantifierElimination.eliminate(PartialQuantifierElimination.java:92) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:238) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:420) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:199) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:299) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:185) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:163) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:108) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:57) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:209) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:121) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolationCore.runStrategy(AcceleratedInterpolationCore.java:300) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolationCore.acceleratedInterpolationCoreIsCorrect(AcceleratedInterpolationCore.java:203) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.(AcceleratedInterpolation.java:195) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleAcceleratedInterpolation.construct(IpTcStrategyModuleAcceleratedInterpolation.java:80) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:57) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:209) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:121) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:82) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:248) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:431) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:366) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:409) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:300) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:260) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:173) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:152) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-04-28 14:05:06,924 INFO L158 Benchmark]: Toolchain (without parser) took 160618.79ms. Allocated memory was 174.1MB in the beginning and 209.7MB in the end (delta: 35.7MB). Free memory was 125.3MB in the beginning and 123.1MB in the end (delta: 2.2MB). Peak memory consumption was 38.7MB. Max. memory is 8.0GB. [2022-04-28 14:05:06,924 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 174.1MB. Free memory was 141.7MB in the beginning and 141.6MB in the end (delta: 140.1kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 14:05:06,924 INFO L158 Benchmark]: CACSL2BoogieTranslator took 213.67ms. Allocated memory is still 174.1MB. Free memory was 125.2MB in the beginning and 149.3MB in the end (delta: -24.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 14:05:06,925 INFO L158 Benchmark]: Boogie Preprocessor took 34.83ms. Allocated memory is still 174.1MB. Free memory was 149.3MB in the beginning and 147.6MB in the end (delta: 1.7MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-28 14:05:06,925 INFO L158 Benchmark]: RCFGBuilder took 408.54ms. Allocated memory is still 174.1MB. Free memory was 147.6MB in the beginning and 134.6MB in the end (delta: 13.0MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-28 14:05:06,925 INFO L158 Benchmark]: TraceAbstraction took 159957.25ms. Allocated memory was 174.1MB in the beginning and 209.7MB in the end (delta: 35.7MB). Free memory was 134.3MB in the beginning and 123.1MB in the end (delta: 11.1MB). Peak memory consumption was 48.4MB. Max. memory is 8.0GB. [2022-04-28 14:05:06,926 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.14ms. Allocated memory is still 174.1MB. Free memory was 141.7MB in the beginning and 141.6MB in the end (delta: 140.1kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 213.67ms. Allocated memory is still 174.1MB. Free memory was 125.2MB in the beginning and 149.3MB in the end (delta: -24.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 34.83ms. Allocated memory is still 174.1MB. Free memory was 149.3MB in the beginning and 147.6MB in the end (delta: 1.7MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 408.54ms. Allocated memory is still 174.1MB. Free memory was 147.6MB in the beginning and 134.6MB in the end (delta: 13.0MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * TraceAbstraction took 159957.25ms. Allocated memory was 174.1MB in the beginning and 209.7MB in the end (delta: 35.7MB). Free memory was 134.3MB in the beginning and 123.1MB in the end (delta: 11.1MB). Peak memory consumption was 48.4MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: transformation to positive normal form unsound de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: transformation to positive normal form unsound: de.uni_freiburg.informatik.ultimate.lib.smtlibutils.polynomials.PolynomialRelation.positiveNormalForm(PolynomialRelation.java:434) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-04-28 14:05:06,980 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...