/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-34549b5 [2022-04-08 14:00:09,514 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 14:00:09,516 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 14:00:09,548 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 14:00:09,549 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 14:00:09,550 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 14:00:09,552 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 14:00:09,553 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 14:00:09,555 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 14:00:09,558 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 14:00:09,559 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 14:00:09,560 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 14:00:09,560 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 14:00:09,564 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 14:00:09,564 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 14:00:09,567 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 14:00:09,567 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 14:00:09,567 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 14:00:09,569 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 14:00:09,573 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 14:00:09,574 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 14:00:09,575 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 14:00:09,575 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 14:00:09,576 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 14:00:09,577 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 14:00:09,581 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 14:00:09,581 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 14:00:09,581 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 14:00:09,582 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 14:00:09,582 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 14:00:09,583 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 14:00:09,583 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 14:00:09,584 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 14:00:09,585 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 14:00:09,585 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 14:00:09,586 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 14:00:09,586 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 14:00:09,586 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 14:00:09,586 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 14:00:09,587 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 14:00:09,587 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 14:00:09,588 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 14:00:09,589 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 14:00:09,595 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 14:00:09,595 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 14:00:09,596 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 14:00:09,596 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 14:00:09,596 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 14:00:09,596 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 14:00:09,596 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 14:00:09,597 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 14:00:09,597 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 14:00:09,597 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 14:00:09,597 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 14:00:09,597 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 14:00:09,598 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 14:00:09,598 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 14:00:09,598 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 14:00:09,598 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 14:00:09,598 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 14:00:09,598 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 14:00:09,598 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 14:00:09,598 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 14:00:09,598 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 14:00:09,598 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 14:00:09,599 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 14:00:09,759 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 14:00:09,778 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 14:00:09,780 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 14:00:09,780 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 14:00:09,781 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 14:00:09,782 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-08 14:00:09,816 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0a87042a6/6f7fc3e7a95343278088e2d0b7251b91/FLAG68e132bb2 [2022-04-08 14:00:10,148 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 14:00:10,148 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound2.c [2022-04-08 14:00:10,152 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0a87042a6/6f7fc3e7a95343278088e2d0b7251b91/FLAG68e132bb2 [2022-04-08 14:00:10,597 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0a87042a6/6f7fc3e7a95343278088e2d0b7251b91 [2022-04-08 14:00:10,599 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 14:00:10,600 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 14:00:10,604 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 14:00:10,604 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 14:00:10,607 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 14:00:10,608 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 02:00:10" (1/1) ... [2022-04-08 14:00:10,609 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@8debeaa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:10, skipping insertion in model container [2022-04-08 14:00:10,609 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 02:00:10" (1/1) ... [2022-04-08 14:00:10,614 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 14:00:10,627 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 14:00:10,746 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-08 14:00:10,762 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 14:00:10,776 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 14:00:10,786 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-08 14:00:10,797 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 14:00:10,805 INFO L208 MainTranslator]: Completed translation [2022-04-08 14:00:10,805 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:10 WrapperNode [2022-04-08 14:00:10,805 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 14:00:10,806 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 14:00:10,806 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 14:00:10,806 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 14:00:10,830 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:10" (1/1) ... [2022-04-08 14:00:10,830 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:10" (1/1) ... [2022-04-08 14:00:10,847 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:10" (1/1) ... [2022-04-08 14:00:10,847 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:10" (1/1) ... [2022-04-08 14:00:10,853 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:10" (1/1) ... [2022-04-08 14:00:10,856 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:10" (1/1) ... [2022-04-08 14:00:10,857 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:10" (1/1) ... [2022-04-08 14:00:10,858 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 14:00:10,858 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 14:00:10,858 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 14:00:10,859 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 14:00:10,864 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:10" (1/1) ... [2022-04-08 14:00:10,874 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 14:00:10,883 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:00:10,893 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 14:00:10,895 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 14:00:10,940 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 14:00:10,941 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 14:00:10,941 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 14:00:10,942 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 14:00:10,942 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 14:00:10,942 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 14:00:10,942 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 14:00:10,942 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 14:00:10,942 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 14:00:10,943 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 14:00:10,943 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 14:00:10,955 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 14:00:10,955 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 14:00:10,955 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 14:00:10,955 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 14:00:10,955 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 14:00:10,955 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 14:00:10,955 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 14:00:10,955 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 14:00:10,956 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 14:00:11,001 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 14:00:11,002 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 14:00:11,151 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 14:00:11,156 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 14:00:11,156 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 14:00:11,157 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 02:00:11 BoogieIcfgContainer [2022-04-08 14:00:11,157 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 14:00:11,159 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 14:00:11,159 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 14:00:11,161 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 14:00:11,161 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 02:00:10" (1/3) ... [2022-04-08 14:00:11,162 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@29a43c4e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 02:00:11, skipping insertion in model container [2022-04-08 14:00:11,162 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 02:00:10" (2/3) ... [2022-04-08 14:00:11,162 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@29a43c4e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 02:00:11, skipping insertion in model container [2022-04-08 14:00:11,162 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 02:00:11" (3/3) ... [2022-04-08 14:00:11,163 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_valuebound2.c [2022-04-08 14:00:11,166 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 14:00:11,166 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 14:00:11,194 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 14:00:11,217 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 14:00:11,218 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 14:00:11,243 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-08 14:00:11,248 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 14:00:11,248 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:00:11,249 INFO L499 BasicCegarLoop]: 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-08 14:00:11,249 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:00:11,252 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:00:11,252 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 1 times [2022-04-08 14:00:11,257 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:11,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1448597925] [2022-04-08 14:00:11,265 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:00:11,266 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 2 times [2022-04-08 14:00:11,269 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:00:11,270 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1572590750] [2022-04-08 14:00:11,270 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:00:11,270 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:00:11,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:11,399 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 14:00:11,408 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:11,422 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-08 14:00:11,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 14:00:11,422 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-08 14:00:11,423 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 14:00:11,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:11,447 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 14:00:11,448 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 14:00:11,448 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 14:00:11,448 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-08 14:00:11,448 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 14:00:11,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:11,458 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 14:00:11,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 14:00:11,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 14:00:11,459 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-08 14:00:11,459 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 14:00:11,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:11,467 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 14:00:11,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 14:00:11,468 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 14:00:11,468 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-08 14:00:11,469 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-08 14:00:11,469 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-08 14:00:11,470 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 14:00:11,470 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-08 14:00:11,470 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-08 14:00:11,471 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-08 14:00:11,471 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-08 14:00:11,471 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 14:00:11,472 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 14:00:11,472 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 14:00:11,472 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-08 14:00:11,472 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-08 14:00:11,473 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-08 14:00:11,473 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 14:00:11,473 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 14:00:11,473 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 14:00:11,473 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-08 14:00:11,474 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-08 14:00:11,474 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 14:00:11,474 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 14:00:11,474 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 14:00:11,474 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-08 14:00:11,475 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-08 14:00:11,475 INFO L290 TraceCheckUtils]: 23: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-08 14:00:11,476 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-08 14:00:11,476 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-08 14:00:11,476 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-08 14:00:11,476 INFO L290 TraceCheckUtils]: 27: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-08 14:00:11,477 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-08 14:00:11,477 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:00:11,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1572590750] [2022-04-08 14:00:11,479 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1572590750] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:11,479 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:11,479 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 14:00:11,484 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:00:11,485 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1448597925] [2022-04-08 14:00:11,485 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1448597925] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:11,485 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:11,485 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 14:00:11,485 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2125944579] [2022-04-08 14:00:11,486 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:00:11,490 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-08 14:00:11,491 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:00:11,493 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-08 14:00:11,523 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-08 14:00:11,523 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 14:00:11,523 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:11,544 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 14:00:11,545 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 14:00:11,547 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-08 14:00:11,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:11,653 INFO L93 Difference]: Finished difference Result 61 states and 88 transitions. [2022-04-08 14:00:11,653 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 14:00:11,653 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-08 14:00:11,653 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:00:11,654 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-08 14:00:11,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-08 14:00:11,659 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-08 14:00:11,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-08 14:00:11,662 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 88 transitions. [2022-04-08 14:00:11,737 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-08 14:00:11,742 INFO L225 Difference]: With dead ends: 61 [2022-04-08 14:00:11,743 INFO L226 Difference]: Without dead ends: 29 [2022-04-08 14:00:11,744 INFO L912 BasicCegarLoop]: 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-08 14:00:11,747 INFO L913 BasicCegarLoop]: 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-08 14:00:11,747 INFO L914 BasicCegarLoop]: 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-08 14:00:11,756 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-08 14:00:11,766 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-08 14:00:11,766 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:00:11,766 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-08 14:00:11,767 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-08 14:00:11,767 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-08 14:00:11,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:11,770 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-08 14:00:11,770 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-08 14:00:11,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:11,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:11,771 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-08 14:00:11,771 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-08 14:00:11,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:11,773 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-08 14:00:11,773 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-08 14:00:11,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:11,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:11,774 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:00:11,774 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:00:11,774 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-08 14:00:11,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-08 14:00:11,777 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 28 [2022-04-08 14:00:11,777 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:00:11,777 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-08 14:00:11,777 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (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-08 14:00:11,777 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-08 14:00:11,811 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-08 14:00:11,811 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-08 14:00:11,812 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-08 14:00:11,812 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:00:11,812 INFO L499 BasicCegarLoop]: 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-08 14:00:11,813 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 14:00:11,813 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:00:11,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:00:11,820 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 1 times [2022-04-08 14:00:11,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:11,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [787118490] [2022-04-08 14:00:11,821 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:00:11,821 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 2 times [2022-04-08 14:00:11,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:00:11,822 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [622845761] [2022-04-08 14:00:11,822 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:00:11,822 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:00:11,846 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:00:11,846 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1331880146] [2022-04-08 14:00:11,847 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:00:11,847 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:00:11,850 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:00:11,851 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:00:11,855 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 14:00:11,890 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 14:00:11,890 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:00:11,892 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 14:00:11,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:11,915 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:00:12,073 INFO L272 TraceCheckUtils]: 0: Hoare triple {295#true} call ULTIMATE.init(); {295#true} is VALID [2022-04-08 14:00:12,073 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-08 14:00:12,074 INFO L290 TraceCheckUtils]: 2: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-08 14:00:12,074 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {295#true} {295#true} #83#return; {295#true} is VALID [2022-04-08 14:00:12,074 INFO L272 TraceCheckUtils]: 4: Hoare triple {295#true} call #t~ret6 := main(); {295#true} is VALID [2022-04-08 14:00:12,074 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-08 14:00:12,074 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-08 14:00:12,074 INFO L290 TraceCheckUtils]: 7: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-08 14:00:12,074 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-08 14:00:12,074 INFO L290 TraceCheckUtils]: 9: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-08 14:00:12,075 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {295#true} {295#true} #71#return; {295#true} is VALID [2022-04-08 14:00:12,075 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-08 14:00:12,075 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-08 14:00:12,075 INFO L290 TraceCheckUtils]: 13: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-08 14:00:12,075 INFO L290 TraceCheckUtils]: 14: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-08 14:00:12,075 INFO L290 TraceCheckUtils]: 15: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-08 14:00:12,075 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {295#true} {295#true} #73#return; {295#true} is VALID [2022-04-08 14:00:12,075 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-08 14:00:12,076 INFO L290 TraceCheckUtils]: 18: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-08 14:00:12,076 INFO L290 TraceCheckUtils]: 19: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-08 14:00:12,076 INFO L290 TraceCheckUtils]: 20: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-08 14:00:12,076 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {295#true} {295#true} #75#return; {295#true} is VALID [2022-04-08 14:00:12,076 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-08 14:00:12,077 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-08 14:00:12,078 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-08 14:00:12,078 INFO L290 TraceCheckUtils]: 25: Hoare triple {373#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {377#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:12,079 INFO L290 TraceCheckUtils]: 26: Hoare triple {377#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {296#false} is VALID [2022-04-08 14:00:12,079 INFO L290 TraceCheckUtils]: 27: Hoare triple {296#false} assume !false; {296#false} is VALID [2022-04-08 14:00:12,079 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-08 14:00:12,079 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 14:00:12,079 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:00:12,079 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [622845761] [2022-04-08 14:00:12,079 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:00:12,080 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1331880146] [2022-04-08 14:00:12,080 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1331880146] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:12,080 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:12,080 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 14:00:12,080 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:00:12,081 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [787118490] [2022-04-08 14:00:12,081 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [787118490] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:12,081 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:12,081 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 14:00:12,081 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1044874243] [2022-04-08 14:00:12,081 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:00:12,082 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-08 14:00:12,082 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:00:12,082 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-08 14:00:12,098 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-08 14:00:12,098 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 14:00:12,098 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:12,098 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 14:00:12,099 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 14:00:12,099 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-08 14:00:12,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:12,278 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-08 14:00:12,278 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 14:00:12,279 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-08 14:00:12,279 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:00:12,279 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-08 14:00:12,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 14:00:12,281 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-08 14:00:12,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 14:00:12,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-08 14:00:12,328 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-08 14:00:12,329 INFO L225 Difference]: With dead ends: 43 [2022-04-08 14:00:12,330 INFO L226 Difference]: Without dead ends: 41 [2022-04-08 14:00:12,330 INFO L912 BasicCegarLoop]: 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-08 14:00:12,331 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 9 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-08 14:00:12,331 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 92 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 14:00:12,332 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-08 14:00:12,339 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 35. [2022-04-08 14:00:12,339 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:00:12,340 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-08 14:00:12,340 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-08 14:00:12,340 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-08 14:00:12,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:12,342 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 14:00:12,342 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 14:00:12,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:12,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:12,343 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-08 14:00:12,343 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-08 14:00:12,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:12,345 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-08 14:00:12,345 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-08 14:00:12,346 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:12,346 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:12,346 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:00:12,346 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:00:12,346 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-08 14:00:12,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 42 transitions. [2022-04-08 14:00:12,348 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 42 transitions. Word has length 28 [2022-04-08 14:00:12,348 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:00:12,348 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 42 transitions. [2022-04-08 14:00:12,349 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (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-08 14:00:12,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 42 transitions. [2022-04-08 14:00:12,386 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:00:12,386 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 42 transitions. [2022-04-08 14:00:12,387 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-08 14:00:12,387 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:00:12,387 INFO L499 BasicCegarLoop]: 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-08 14:00:12,420 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 14:00:12,603 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:00:12,603 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:00:12,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:00:12,604 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 1 times [2022-04-08 14:00:12,604 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:12,604 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2081145709] [2022-04-08 14:00:12,604 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:00:12,604 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 2 times [2022-04-08 14:00:12,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:00:12,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1440323623] [2022-04-08 14:00:12,605 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:00:12,605 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:00:12,622 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:00:12,622 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2030736320] [2022-04-08 14:00:12,622 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:00:12,622 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:00:12,622 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:00:12,623 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:00:12,637 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 14:00:12,675 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:00:12,675 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:00:12,675 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-08 14:00:12,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:12,686 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:00:23,309 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-08 14:00:23,310 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-08 14:00:23,310 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 14:00:23,310 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-08 14:00:23,310 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-08 14:00:23,310 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-08 14:00:23,310 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-08 14:00:23,311 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-08 14:00:23,312 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-08 14:00:23,312 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-08 14:00:23,313 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-08 14:00:23,313 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-08 14:00:23,313 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-08 14:00:23,313 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 14:00:23,313 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 14:00:23,314 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 14:00:23,314 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-08 14:00:23,314 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-08 14:00:23,316 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-08 14:00:23,316 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-08 14:00:23,316 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-08 14:00:23,317 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-08 14:00:23,318 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-08 14:00:23,318 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-08 14:00:23,318 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-08 14:00:23,318 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:23,319 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-08 14:00:23,319 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-08 14:00:25,322 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-08 14:00:25,323 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-08 14:00:25,327 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-08 14:00:25,327 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:25,328 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-08 14:00:25,328 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-08 14:00:25,328 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-08 14:00:25,328 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:00:39,657 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-08 14:00:39,658 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-08 14:00:39,658 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:39,659 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-08 14:00:39,659 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-08 14:00:39,661 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-08 14:00:39,662 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-08 14:00:39,662 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-08 14:00:39,662 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-08 14:00:39,663 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-08 14:00:39,663 INFO L290 TraceCheckUtils]: 23: Hoare triple {623#true} assume !false; {623#true} is VALID [2022-04-08 14:00:39,663 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-08 14:00:39,663 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {623#true} {623#true} #75#return; {623#true} is VALID [2022-04-08 14:00:39,663 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 14:00:39,663 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 14:00:39,663 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 14:00:39,663 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-08 14:00:39,663 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {623#true} #73#return; {623#true} is VALID [2022-04-08 14:00:39,663 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 14:00:39,664 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 14:00:39,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 14:00:39,664 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-08 14:00:39,664 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-08 14:00:39,664 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #71#return; {623#true} is VALID [2022-04-08 14:00:39,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 14:00:39,664 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 14:00:39,664 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 14:00:39,664 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-08 14:00:39,664 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-08 14:00:39,664 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-08 14:00:39,665 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-08 14:00:39,665 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 14:00:39,665 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-08 14:00:39,665 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-08 14:00:39,665 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-08 14:00:39,665 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:00:39,665 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1440323623] [2022-04-08 14:00:39,665 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:00:39,665 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2030736320] [2022-04-08 14:00:39,666 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2030736320] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:00:39,666 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:00:39,666 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 16 [2022-04-08 14:00:39,666 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:00:39,666 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2081145709] [2022-04-08 14:00:39,666 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2081145709] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:00:39,666 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:00:39,666 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 14:00:39,666 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1619442185] [2022-04-08 14:00:39,666 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:00:39,667 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-08 14:00:39,667 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:00:39,667 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-08 14:00:41,691 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-08 14:00:41,691 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 14:00:41,691 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:41,692 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 14:00:41,692 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-08 14:00:41,692 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-08 14:00:44,756 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-08 14:00:49,202 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-08 14:00:49,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:49,262 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-08 14:00:49,262 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 14:00:49,262 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-08 14:00:49,262 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:00:49,263 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-08 14:00:49,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-08 14:00:49,267 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-08 14:00:49,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-08 14:00:49,269 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-08 14:00:49,315 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-08 14:00:49,316 INFO L225 Difference]: With dead ends: 47 [2022-04-08 14:00:49,316 INFO L226 Difference]: Without dead ends: 45 [2022-04-08 14:00:49,317 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 52 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 56 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-08 14:00:49,317 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 26 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 227 mSolverCounterSat, 10 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.6s 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.6s IncrementalHoareTripleChecker+Time [2022-04-08 14:00:49,318 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 137 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 227 Invalid, 2 Unknown, 0 Unchecked, 4.6s Time] [2022-04-08 14:00:49,318 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-08 14:00:49,354 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 41. [2022-04-08 14:00:49,354 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:00:49,355 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-08 14:00:49,355 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-08 14:00:49,355 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-08 14:00:49,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:49,363 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 14:00:49,363 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 14:00:49,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:49,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:49,363 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-08 14:00:49,364 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-08 14:00:49,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:00:49,365 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-08 14:00:49,366 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-08 14:00:49,366 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:00:49,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:00:49,366 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:00:49,366 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:00:49,366 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-08 14:00:49,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-08 14:00:49,368 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 34 [2022-04-08 14:00:49,368 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:00:49,368 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-08 14:00:49,368 INFO L479 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-08 14:00:49,368 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-08 14:00:49,429 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-08 14:00:49,429 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-08 14:00:49,430 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-08 14:00:49,430 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:00:49,430 INFO L499 BasicCegarLoop]: 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-08 14:00:49,454 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-08 14:00:49,630 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 14:00:49,630 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:00:49,631 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:00:49,631 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 1 times [2022-04-08 14:00:49,631 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:00:49,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2043316972] [2022-04-08 14:00:49,631 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:00:49,631 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 2 times [2022-04-08 14:00:49,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:00:49,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1071206941] [2022-04-08 14:00:49,632 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:00:49,632 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:00:49,652 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:00:49,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1785932703] [2022-04-08 14:00:49,653 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:00:49,653 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:00:49,653 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:00:49,667 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:00:49,668 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 14:00:49,730 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:00:49,730 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:00:49,731 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 14:00:49,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:00:49,741 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:00:50,699 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-08 14:00:50,699 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-08 14:00:50,699 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:00:50,699 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-08 14:00:50,699 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-08 14:00:50,699 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-08 14:00:50,700 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-08 14:00:50,700 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-08 14:00:50,700 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-08 14:00:50,701 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-08 14:00:50,701 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-08 14:00:50,701 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-08 14:00:50,702 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-08 14:00:50,702 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-08 14:00:50,702 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-08 14:00:50,703 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-08 14:00:50,703 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-08 14:00:50,703 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-08 14:00:50,704 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-08 14:00:50,704 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-08 14:00:50,704 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-08 14:00:50,705 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-08 14:00:50,705 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-08 14:00:50,706 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-08 14:00:50,706 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-08 14:00:50,706 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 14:00:50,706 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 14:00:50,706 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:00:50,707 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-08 14:00:50,707 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-08 14:00:50,709 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-08 14:00:50,709 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-08 14:00:50,711 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-08 14:00:50,712 INFO L290 TraceCheckUtils]: 33: Hoare triple {1225#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1229#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:00:50,712 INFO L290 TraceCheckUtils]: 34: Hoare triple {1229#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-08 14:00:50,712 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-08 14:00:50,712 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-08 14:00:50,712 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:01:56,562 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-08 14:01:56,563 INFO L290 TraceCheckUtils]: 34: Hoare triple {1229#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-08 14:01:56,563 INFO L290 TraceCheckUtils]: 33: Hoare triple {1225#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1229#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:56,564 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-08 14:01:56,565 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-08 14:01:56,569 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-08 14:01:56,569 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-08 14:01:56,570 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-08 14:01:56,570 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:01:56,570 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 14:01:56,570 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 14:01:56,570 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-08 14:01:56,574 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-08 14:01:56,576 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-08 14:01:56,577 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-08 14:01:56,578 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-08 14:01:56,579 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-08 14:01:56,579 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-08 14:01:56,579 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-08 14:01:56,579 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1116#true} #73#return; {1116#true} is VALID [2022-04-08 14:01:56,579 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:01:56,579 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 14:01:56,580 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 14:01:56,580 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-08 14:01:56,580 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-08 14:01:56,580 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1116#true} {1116#true} #71#return; {1116#true} is VALID [2022-04-08 14:01:56,580 INFO L290 TraceCheckUtils]: 9: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:01:56,580 INFO L290 TraceCheckUtils]: 8: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-08 14:01:56,580 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-08 14:01:56,580 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-08 14:01:56,580 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-08 14:01:56,580 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-08 14:01:56,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-08 14:01:56,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-08 14:01:56,581 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-08 14:01:56,581 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-08 14:01:56,581 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-08 14:01:56,581 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:01:56,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1071206941] [2022-04-08 14:01:56,581 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:01:56,581 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1785932703] [2022-04-08 14:01:56,581 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1785932703] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:01:56,581 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:01:56,581 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-08 14:01:56,582 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:01:56,582 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2043316972] [2022-04-08 14:01:56,582 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2043316972] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:01:56,582 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:01:56,582 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 14:01:56,582 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [122982432] [2022-04-08 14:01:56,582 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:01:56,582 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-08 14:01:56,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:01:56,583 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-08 14:01:56,605 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-08 14:01:56,605 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 14:01:56,605 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:56,606 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 14:01:56,606 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=211, Unknown=0, NotChecked=0, Total=272 [2022-04-08 14:01:56,606 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-08 14:01:57,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:57,271 INFO L93 Difference]: Finished difference Result 69 states and 90 transitions. [2022-04-08 14:01:57,271 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 14:01:57,271 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-08 14:01:57,271 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:01:57,271 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-08 14:01:57,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 84 transitions. [2022-04-08 14:01:57,273 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-08 14:01:57,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 84 transitions. [2022-04-08 14:01:57,275 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 84 transitions. [2022-04-08 14:01:57,340 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-08 14:01:57,343 INFO L225 Difference]: With dead ends: 69 [2022-04-08 14:01:57,343 INFO L226 Difference]: Without dead ends: 55 [2022-04-08 14:01:57,343 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 55 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=70, Invalid=272, Unknown=0, NotChecked=0, Total=342 [2022-04-08 14:01:57,344 INFO L913 BasicCegarLoop]: 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-08 14:01:57,344 INFO L914 BasicCegarLoop]: 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-08 14:01:57,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-08 14:01:57,413 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 52. [2022-04-08 14:01:57,413 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:01:57,416 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-08 14:01:57,416 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-08 14:01:57,417 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-08 14:01:57,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:57,421 INFO L93 Difference]: Finished difference Result 55 states and 66 transitions. [2022-04-08 14:01:57,421 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 66 transitions. [2022-04-08 14:01:57,421 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:57,421 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:57,422 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-08 14:01:57,422 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-08 14:01:57,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:01:57,425 INFO L93 Difference]: Finished difference Result 55 states and 66 transitions. [2022-04-08 14:01:57,425 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 66 transitions. [2022-04-08 14:01:57,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:01:57,426 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:01:57,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:01:57,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:01:57,427 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-08 14:01:57,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 61 transitions. [2022-04-08 14:01:57,429 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 61 transitions. Word has length 36 [2022-04-08 14:01:57,429 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:01:57,429 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 61 transitions. [2022-04-08 14:01:57,429 INFO L479 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-08 14:01:57,429 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 61 transitions. [2022-04-08 14:01:57,497 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-08 14:01:57,497 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 61 transitions. [2022-04-08 14:01:57,498 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-08 14:01:57,498 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:01:57,498 INFO L499 BasicCegarLoop]: 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-08 14:01:57,519 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 14:01:57,698 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:57,698 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:01:57,699 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:01:57,699 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 1 times [2022-04-08 14:01:57,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:01:57,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1755097837] [2022-04-08 14:01:57,699 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:01:57,699 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 2 times [2022-04-08 14:01:57,699 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:01:57,699 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2006995211] [2022-04-08 14:01:57,699 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:01:57,700 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:01:57,718 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:01:57,719 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [111864395] [2022-04-08 14:01:57,719 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:01:57,719 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:01:57,719 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:01:57,729 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:01:57,731 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 14:01:57,780 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:01:57,780 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:01:57,781 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 14:01:57,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:01:57,811 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:01:58,387 INFO L272 TraceCheckUtils]: 0: Hoare triple {1704#true} call ULTIMATE.init(); {1704#true} is VALID [2022-04-08 14:01:58,387 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-08 14:01:58,387 INFO L290 TraceCheckUtils]: 2: Hoare triple {1704#true} assume true; {1704#true} is VALID [2022-04-08 14:01:58,387 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1704#true} {1704#true} #83#return; {1704#true} is VALID [2022-04-08 14:01:58,387 INFO L272 TraceCheckUtils]: 4: Hoare triple {1704#true} call #t~ret6 := main(); {1704#true} is VALID [2022-04-08 14:01:58,387 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-08 14:01:58,387 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-08 14:01:58,388 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-08 14:01:58,388 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-08 14:01:58,388 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-08 14:01:58,389 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-08 14:01:58,389 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-08 14:01:58,389 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-08 14:01:58,389 INFO L290 TraceCheckUtils]: 13: Hoare triple {1704#true} ~cond := #in~cond; {1704#true} is VALID [2022-04-08 14:01:58,389 INFO L290 TraceCheckUtils]: 14: Hoare triple {1704#true} assume !(0 == ~cond); {1704#true} is VALID [2022-04-08 14:01:58,389 INFO L290 TraceCheckUtils]: 15: Hoare triple {1704#true} assume true; {1704#true} is VALID [2022-04-08 14:01:58,390 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-08 14:01:58,390 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-08 14:01:58,390 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-08 14:01:58,391 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-08 14:01:58,391 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-08 14:01:58,391 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-08 14:01:58,392 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-08 14:01:58,392 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-08 14:01:58,392 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-08 14:01:58,393 INFO L290 TraceCheckUtils]: 25: Hoare triple {1704#true} ~cond := #in~cond; {1789#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:58,393 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-08 14:01:58,393 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-08 14:01:58,394 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-08 14:01:58,394 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-08 14:01:58,395 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-08 14:01:58,396 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-08 14:01:58,396 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-08 14:01:58,398 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-08 14:01:58,398 INFO L290 TraceCheckUtils]: 34: Hoare triple {1817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:01:58,399 INFO L290 TraceCheckUtils]: 35: Hoare triple {1821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1705#false} is VALID [2022-04-08 14:01:58,399 INFO L290 TraceCheckUtils]: 36: Hoare triple {1705#false} assume !false; {1705#false} is VALID [2022-04-08 14:01:58,400 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-08 14:01:58,400 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:02:07,081 INFO L290 TraceCheckUtils]: 36: Hoare triple {1705#false} assume !false; {1705#false} is VALID [2022-04-08 14:02:07,082 INFO L290 TraceCheckUtils]: 35: Hoare triple {1821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1705#false} is VALID [2022-04-08 14:02:07,083 INFO L290 TraceCheckUtils]: 34: Hoare triple {1817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:02:07,084 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-08 14:02:07,084 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-08 14:02:07,088 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-08 14:02:07,089 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-08 14:02:07,092 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-08 14:02:07,093 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-08 14:02:07,094 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-08 14:02:07,094 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-08 14:02:07,094 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-08 14:02:07,094 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-08 14:02:07,094 INFO L290 TraceCheckUtils]: 23: Hoare triple {1704#true} assume !false; {1704#true} is VALID [2022-04-08 14:02:07,095 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-08 14:02:07,095 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1704#true} {1704#true} #75#return; {1704#true} is VALID [2022-04-08 14:02:07,095 INFO L290 TraceCheckUtils]: 20: Hoare triple {1704#true} assume true; {1704#true} is VALID [2022-04-08 14:02:07,095 INFO L290 TraceCheckUtils]: 19: Hoare triple {1704#true} assume !(0 == ~cond); {1704#true} is VALID [2022-04-08 14:02:07,095 INFO L290 TraceCheckUtils]: 18: Hoare triple {1704#true} ~cond := #in~cond; {1704#true} is VALID [2022-04-08 14:02:07,095 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-08 14:02:07,095 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1704#true} {1704#true} #73#return; {1704#true} is VALID [2022-04-08 14:02:07,095 INFO L290 TraceCheckUtils]: 15: Hoare triple {1704#true} assume true; {1704#true} is VALID [2022-04-08 14:02:07,095 INFO L290 TraceCheckUtils]: 14: Hoare triple {1704#true} assume !(0 == ~cond); {1704#true} is VALID [2022-04-08 14:02:07,095 INFO L290 TraceCheckUtils]: 13: Hoare triple {1704#true} ~cond := #in~cond; {1704#true} is VALID [2022-04-08 14:02:07,095 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-08 14:02:07,095 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-08 14:02:07,095 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1704#true} {1704#true} #71#return; {1704#true} is VALID [2022-04-08 14:02:07,095 INFO L290 TraceCheckUtils]: 9: Hoare triple {1704#true} assume true; {1704#true} is VALID [2022-04-08 14:02:07,096 INFO L290 TraceCheckUtils]: 8: Hoare triple {1704#true} assume !(0 == ~cond); {1704#true} is VALID [2022-04-08 14:02:07,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {1704#true} ~cond := #in~cond; {1704#true} is VALID [2022-04-08 14:02:07,096 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-08 14:02:07,096 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-08 14:02:07,096 INFO L272 TraceCheckUtils]: 4: Hoare triple {1704#true} call #t~ret6 := main(); {1704#true} is VALID [2022-04-08 14:02:07,096 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1704#true} {1704#true} #83#return; {1704#true} is VALID [2022-04-08 14:02:07,096 INFO L290 TraceCheckUtils]: 2: Hoare triple {1704#true} assume true; {1704#true} is VALID [2022-04-08 14:02:07,096 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-08 14:02:07,096 INFO L272 TraceCheckUtils]: 0: Hoare triple {1704#true} call ULTIMATE.init(); {1704#true} is VALID [2022-04-08 14:02:07,096 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-08 14:02:07,096 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:02:07,097 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2006995211] [2022-04-08 14:02:07,097 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:02:07,097 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [111864395] [2022-04-08 14:02:07,097 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [111864395] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:02:07,097 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:02:07,097 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-08 14:02:07,097 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:02:07,097 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1755097837] [2022-04-08 14:02:07,097 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1755097837] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:02:07,097 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:02:07,097 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 14:02:07,097 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [453910112] [2022-04-08 14:02:07,097 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:02:07,098 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-08 14:02:07,098 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:02:07,098 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-08 14:02:07,129 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:07,129 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 14:02:07,129 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:07,129 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 14:02:07,130 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=217, Unknown=0, NotChecked=0, Total=272 [2022-04-08 14:02:07,130 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-08 14:02:07,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:07,901 INFO L93 Difference]: Finished difference Result 78 states and 97 transitions. [2022-04-08 14:02:07,901 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 14:02:07,901 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-08 14:02:07,902 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:02:07,902 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-08 14:02:07,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-08 14:02:07,904 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-08 14:02:07,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 81 transitions. [2022-04-08 14:02:07,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 81 transitions. [2022-04-08 14:02:07,983 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-08 14:02:07,984 INFO L225 Difference]: With dead ends: 78 [2022-04-08 14:02:07,984 INFO L226 Difference]: Without dead ends: 55 [2022-04-08 14:02:07,984 INFO L912 BasicCegarLoop]: 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-08 14:02:07,985 INFO L913 BasicCegarLoop]: 22 mSDtfsCounter, 35 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 244 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-08 14:02:07,985 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 123 Invalid, 258 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 244 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 14:02:07,986 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-08 14:02:08,058 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 53. [2022-04-08 14:02:08,059 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:02:08,059 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-08 14:02:08,059 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-08 14:02:08,059 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-08 14:02:08,061 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:08,061 INFO L93 Difference]: Finished difference Result 55 states and 65 transitions. [2022-04-08 14:02:08,061 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 65 transitions. [2022-04-08 14:02:08,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:08,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:08,061 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-08 14:02:08,062 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-08 14:02:08,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:08,063 INFO L93 Difference]: Finished difference Result 55 states and 65 transitions. [2022-04-08 14:02:08,063 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 65 transitions. [2022-04-08 14:02:08,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:08,063 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:08,063 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:02:08,063 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:02:08,063 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-08 14:02:08,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 62 transitions. [2022-04-08 14:02:08,067 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 62 transitions. Word has length 37 [2022-04-08 14:02:08,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:02:08,067 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 62 transitions. [2022-04-08 14:02:08,067 INFO L479 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-08 14:02:08,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 62 transitions. [2022-04-08 14:02:08,140 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:08,141 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 62 transitions. [2022-04-08 14:02:08,141 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-08 14:02:08,141 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:02:08,141 INFO L499 BasicCegarLoop]: 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-08 14:02:08,157 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 14:02:08,342 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:08,342 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:02:08,342 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:02:08,342 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 1 times [2022-04-08 14:02:08,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:08,342 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [317190105] [2022-04-08 14:02:08,343 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:02:08,343 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 2 times [2022-04-08 14:02:08,343 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:02:08,343 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [394879321] [2022-04-08 14:02:08,343 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:02:08,343 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:02:08,354 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:02:08,355 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [450334925] [2022-04-08 14:02:08,355 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:02:08,355 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:08,355 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:02:08,363 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:02:08,364 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 14:02:08,398 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:02:08,398 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:02:08,398 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 14:02:08,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:02:08,408 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:02:08,655 INFO L272 TraceCheckUtils]: 0: Hoare triple {2320#true} call ULTIMATE.init(); {2320#true} is VALID [2022-04-08 14:02:08,655 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-08 14:02:08,655 INFO L290 TraceCheckUtils]: 2: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-08 14:02:08,656 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2320#true} {2320#true} #83#return; {2320#true} is VALID [2022-04-08 14:02:08,656 INFO L272 TraceCheckUtils]: 4: Hoare triple {2320#true} call #t~ret6 := main(); {2320#true} is VALID [2022-04-08 14:02:08,656 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-08 14:02:08,656 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-08 14:02:08,656 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-08 14:02:08,656 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-08 14:02:08,657 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-08 14:02:08,657 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-08 14:02:08,658 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-08 14:02:08,658 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-08 14:02:08,658 INFO L290 TraceCheckUtils]: 13: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-08 14:02:08,658 INFO L290 TraceCheckUtils]: 14: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-08 14:02:08,658 INFO L290 TraceCheckUtils]: 15: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-08 14:02:08,659 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-08 14:02:08,659 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-08 14:02:08,659 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-08 14:02:08,659 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-08 14:02:08,660 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-08 14:02:08,660 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-08 14:02:08,661 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-08 14:02:08,661 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-08 14:02:08,661 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-08 14:02:08,661 INFO L290 TraceCheckUtils]: 25: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-08 14:02:08,661 INFO L290 TraceCheckUtils]: 26: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-08 14:02:08,661 INFO L290 TraceCheckUtils]: 27: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-08 14:02:08,662 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-08 14:02:08,662 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-08 14:02:08,662 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-08 14:02:08,662 INFO L290 TraceCheckUtils]: 31: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-08 14:02:08,663 INFO L290 TraceCheckUtils]: 32: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-08 14:02:08,663 INFO L290 TraceCheckUtils]: 33: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-08 14:02:08,663 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-08 14:02:08,664 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-08 14:02:08,664 INFO L290 TraceCheckUtils]: 36: Hoare triple {2436#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2440#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:02:08,664 INFO L290 TraceCheckUtils]: 37: Hoare triple {2440#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2321#false} is VALID [2022-04-08 14:02:08,664 INFO L290 TraceCheckUtils]: 38: Hoare triple {2321#false} assume !false; {2321#false} is VALID [2022-04-08 14:02:08,665 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-08 14:02:08,665 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:02:08,894 INFO L290 TraceCheckUtils]: 38: Hoare triple {2321#false} assume !false; {2321#false} is VALID [2022-04-08 14:02:08,894 INFO L290 TraceCheckUtils]: 37: Hoare triple {2440#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2321#false} is VALID [2022-04-08 14:02:08,895 INFO L290 TraceCheckUtils]: 36: Hoare triple {2436#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2440#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:02:08,895 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-08 14:02:08,896 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-08 14:02:08,896 INFO L290 TraceCheckUtils]: 33: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-08 14:02:08,896 INFO L290 TraceCheckUtils]: 32: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-08 14:02:08,896 INFO L290 TraceCheckUtils]: 31: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-08 14:02:08,896 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-08 14:02:08,897 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-08 14:02:08,897 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2320#true} {2320#true} #77#return; {2320#true} is VALID [2022-04-08 14:02:08,897 INFO L290 TraceCheckUtils]: 27: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-08 14:02:08,897 INFO L290 TraceCheckUtils]: 26: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-08 14:02:08,898 INFO L290 TraceCheckUtils]: 25: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-08 14:02:08,898 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-08 14:02:08,898 INFO L290 TraceCheckUtils]: 23: Hoare triple {2320#true} assume !false; {2320#true} is VALID [2022-04-08 14:02:08,898 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-08 14:02:08,898 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2320#true} {2320#true} #75#return; {2320#true} is VALID [2022-04-08 14:02:08,898 INFO L290 TraceCheckUtils]: 20: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-08 14:02:08,898 INFO L290 TraceCheckUtils]: 19: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-08 14:02:08,898 INFO L290 TraceCheckUtils]: 18: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-08 14:02:08,898 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-08 14:02:08,898 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2320#true} {2320#true} #73#return; {2320#true} is VALID [2022-04-08 14:02:08,898 INFO L290 TraceCheckUtils]: 15: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-08 14:02:08,898 INFO L290 TraceCheckUtils]: 14: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-08 14:02:08,898 INFO L290 TraceCheckUtils]: 13: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-08 14:02:08,898 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-08 14:02:08,899 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-08 14:02:08,899 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2320#true} {2320#true} #71#return; {2320#true} is VALID [2022-04-08 14:02:08,899 INFO L290 TraceCheckUtils]: 9: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-08 14:02:08,899 INFO L290 TraceCheckUtils]: 8: Hoare triple {2320#true} assume !(0 == ~cond); {2320#true} is VALID [2022-04-08 14:02:08,899 INFO L290 TraceCheckUtils]: 7: Hoare triple {2320#true} ~cond := #in~cond; {2320#true} is VALID [2022-04-08 14:02:08,899 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-08 14:02:08,899 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-08 14:02:08,899 INFO L272 TraceCheckUtils]: 4: Hoare triple {2320#true} call #t~ret6 := main(); {2320#true} is VALID [2022-04-08 14:02:08,899 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2320#true} {2320#true} #83#return; {2320#true} is VALID [2022-04-08 14:02:08,899 INFO L290 TraceCheckUtils]: 2: Hoare triple {2320#true} assume true; {2320#true} is VALID [2022-04-08 14:02:08,899 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-08 14:02:08,899 INFO L272 TraceCheckUtils]: 0: Hoare triple {2320#true} call ULTIMATE.init(); {2320#true} is VALID [2022-04-08 14:02:08,899 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-08 14:02:08,900 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:02:08,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [394879321] [2022-04-08 14:02:08,900 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:02:08,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [450334925] [2022-04-08 14:02:08,900 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [450334925] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 14:02:08,900 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 14:02:08,900 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-08 14:02:08,900 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:02:08,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [317190105] [2022-04-08 14:02:08,900 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [317190105] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:02:08,900 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:02:08,900 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 14:02:08,900 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1696943371] [2022-04-08 14:02:08,900 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:02:08,901 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-08 14:02:08,901 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:02:08,901 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-08 14:02:08,922 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-08 14:02:08,922 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 14:02:08,923 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:08,923 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 14:02:08,923 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-08 14:02:08,923 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-08 14:02:09,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:09,307 INFO L93 Difference]: Finished difference Result 59 states and 67 transitions. [2022-04-08 14:02:09,307 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 14:02:09,307 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-08 14:02:09,307 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:02:09,307 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-08 14:02:09,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-08 14:02:09,308 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-08 14:02:09,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-08 14:02:09,309 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-08 14:02:09,336 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:09,337 INFO L225 Difference]: With dead ends: 59 [2022-04-08 14:02:09,337 INFO L226 Difference]: Without dead ends: 47 [2022-04-08 14:02:09,337 INFO L912 BasicCegarLoop]: 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-08 14:02:09,338 INFO L913 BasicCegarLoop]: 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-08 14:02:09,338 INFO L914 BasicCegarLoop]: 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-08 14:02:09,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-08 14:02:09,395 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-08 14:02:09,395 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:02:09,395 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-08 14:02:09,396 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-08 14:02:09,396 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-08 14:02:09,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:09,397 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-08 14:02:09,397 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-08 14:02:09,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:09,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:09,397 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-08 14:02:09,397 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-08 14:02:09,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:09,399 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-08 14:02:09,399 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-08 14:02:09,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:09,399 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:09,399 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:02:09,399 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:02:09,399 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-08 14:02:09,400 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 54 transitions. [2022-04-08 14:02:09,400 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 54 transitions. Word has length 39 [2022-04-08 14:02:09,400 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:02:09,400 INFO L478 AbstractCegarLoop]: Abstraction has 47 states and 54 transitions. [2022-04-08 14:02:09,400 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (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-08 14:02:09,401 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 54 transitions. [2022-04-08 14:02:09,460 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:09,460 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-08 14:02:09,460 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 14:02:09,460 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:02:09,460 INFO L499 BasicCegarLoop]: 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-08 14:02:09,476 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-08 14:02:09,661 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:09,661 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:02:09,661 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:02:09,661 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 1 times [2022-04-08 14:02:09,661 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:09,661 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [479441758] [2022-04-08 14:02:09,662 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:02:09,662 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 2 times [2022-04-08 14:02:09,662 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:02:09,662 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [102833867] [2022-04-08 14:02:09,662 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:02:09,662 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:02:09,676 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:02:09,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1307276452] [2022-04-08 14:02:09,676 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:02:09,676 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:09,676 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:02:09,688 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:02:09,689 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 14:02:09,724 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:02:09,724 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:02:09,725 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-08 14:02:09,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:02:09,744 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:02:10,427 INFO L272 TraceCheckUtils]: 0: Hoare triple {2872#true} call ULTIMATE.init(); {2872#true} is VALID [2022-04-08 14:02:10,427 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-08 14:02:10,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {2872#true} assume true; {2872#true} is VALID [2022-04-08 14:02:10,427 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2872#true} {2872#true} #83#return; {2872#true} is VALID [2022-04-08 14:02:10,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {2872#true} call #t~ret6 := main(); {2872#true} is VALID [2022-04-08 14:02:10,428 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-08 14:02:10,428 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-08 14:02:10,428 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-08 14:02:10,428 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-08 14:02:10,428 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-08 14:02:10,429 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-08 14:02:10,438 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-08 14:02:10,438 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-08 14:02:10,443 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-08 14:02:10,447 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-08 14:02:10,447 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-08 14:02:10,448 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-08 14:02:10,448 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-08 14:02:10,448 INFO L290 TraceCheckUtils]: 18: Hoare triple {2872#true} ~cond := #in~cond; {2872#true} is VALID [2022-04-08 14:02:10,448 INFO L290 TraceCheckUtils]: 19: Hoare triple {2872#true} assume !(0 == ~cond); {2872#true} is VALID [2022-04-08 14:02:10,448 INFO L290 TraceCheckUtils]: 20: Hoare triple {2872#true} assume true; {2872#true} is VALID [2022-04-08 14:02:10,449 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-08 14:02:10,449 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-08 14:02:10,449 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-08 14:02:10,449 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-08 14:02:10,450 INFO L290 TraceCheckUtils]: 25: Hoare triple {2872#true} ~cond := #in~cond; {2957#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:02:10,450 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-08 14:02:10,450 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-08 14:02:10,451 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-08 14:02:10,452 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-08 14:02:10,452 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-08 14:02:10,453 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-08 14:02:10,453 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-08 14:02:10,454 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-08 14:02:10,456 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-08 14:02:10,456 INFO L290 TraceCheckUtils]: 35: Hoare triple {2988#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2992#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:02:10,457 INFO L290 TraceCheckUtils]: 36: Hoare triple {2992#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2873#false} is VALID [2022-04-08 14:02:10,457 INFO L290 TraceCheckUtils]: 37: Hoare triple {2873#false} assume !false; {2873#false} is VALID [2022-04-08 14:02:10,457 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-08 14:02:10,457 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 14:02:19,362 INFO L290 TraceCheckUtils]: 37: Hoare triple {2873#false} assume !false; {2873#false} is VALID [2022-04-08 14:02:19,363 INFO L290 TraceCheckUtils]: 36: Hoare triple {2992#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2873#false} is VALID [2022-04-08 14:02:19,363 INFO L290 TraceCheckUtils]: 35: Hoare triple {2988#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2992#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 14:02:19,364 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-08 14:02:19,364 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-08 14:02:19,371 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-08 14:02:19,372 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-08 14:02:19,372 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-08 14:02:19,373 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-08 14:02:19,374 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-08 14:02:19,374 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-08 14:02:19,374 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-08 14:02:19,375 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-08 14:02:19,375 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-08 14:02:19,375 INFO L290 TraceCheckUtils]: 23: Hoare triple {2872#true} assume !false; {2872#true} is VALID [2022-04-08 14:02:19,375 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-08 14:02:19,375 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2872#true} {2872#true} #75#return; {2872#true} is VALID [2022-04-08 14:02:19,375 INFO L290 TraceCheckUtils]: 20: Hoare triple {2872#true} assume true; {2872#true} is VALID [2022-04-08 14:02:19,375 INFO L290 TraceCheckUtils]: 19: Hoare triple {2872#true} assume !(0 == ~cond); {2872#true} is VALID [2022-04-08 14:02:19,375 INFO L290 TraceCheckUtils]: 18: Hoare triple {2872#true} ~cond := #in~cond; {2872#true} is VALID [2022-04-08 14:02:19,375 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-08 14:02:19,375 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2872#true} {2872#true} #73#return; {2872#true} is VALID [2022-04-08 14:02:19,375 INFO L290 TraceCheckUtils]: 15: Hoare triple {2872#true} assume true; {2872#true} is VALID [2022-04-08 14:02:19,375 INFO L290 TraceCheckUtils]: 14: Hoare triple {2872#true} assume !(0 == ~cond); {2872#true} is VALID [2022-04-08 14:02:19,375 INFO L290 TraceCheckUtils]: 13: Hoare triple {2872#true} ~cond := #in~cond; {2872#true} is VALID [2022-04-08 14:02:19,375 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-08 14:02:19,375 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-08 14:02:19,376 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2872#true} {2872#true} #71#return; {2872#true} is VALID [2022-04-08 14:02:19,376 INFO L290 TraceCheckUtils]: 9: Hoare triple {2872#true} assume true; {2872#true} is VALID [2022-04-08 14:02:19,376 INFO L290 TraceCheckUtils]: 8: Hoare triple {2872#true} assume !(0 == ~cond); {2872#true} is VALID [2022-04-08 14:02:19,376 INFO L290 TraceCheckUtils]: 7: Hoare triple {2872#true} ~cond := #in~cond; {2872#true} is VALID [2022-04-08 14:02:19,376 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-08 14:02:19,376 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-08 14:02:19,376 INFO L272 TraceCheckUtils]: 4: Hoare triple {2872#true} call #t~ret6 := main(); {2872#true} is VALID [2022-04-08 14:02:19,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2872#true} {2872#true} #83#return; {2872#true} is VALID [2022-04-08 14:02:19,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {2872#true} assume true; {2872#true} is VALID [2022-04-08 14:02:19,376 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-08 14:02:19,376 INFO L272 TraceCheckUtils]: 0: Hoare triple {2872#true} call ULTIMATE.init(); {2872#true} is VALID [2022-04-08 14:02:19,376 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-08 14:02:19,376 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:02:19,376 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [102833867] [2022-04-08 14:02:19,377 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:02:19,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1307276452] [2022-04-08 14:02:19,377 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1307276452] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 14:02:19,377 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 14:02:19,377 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-08 14:02:19,377 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 14:02:19,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [479441758] [2022-04-08 14:02:19,377 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [479441758] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 14:02:19,377 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 14:02:19,377 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 14:02:19,377 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [742946571] [2022-04-08 14:02:19,377 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 14:02:19,378 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-08 14:02:19,378 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 14:02:19,378 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-08 14:02:19,404 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 14:02:19,404 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 14:02:19,405 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:19,405 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 14:02:19,405 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=217, Unknown=0, NotChecked=0, Total=272 [2022-04-08 14:02:19,405 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-08 14:02:19,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:19,968 INFO L93 Difference]: Finished difference Result 69 states and 83 transitions. [2022-04-08 14:02:19,968 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 14:02:19,968 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-08 14:02:19,968 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 14:02:19,969 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-08 14:02:19,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 70 transitions. [2022-04-08 14:02:19,970 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-08 14:02:19,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 70 transitions. [2022-04-08 14:02:19,971 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 70 transitions. [2022-04-08 14:02:20,028 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-08 14:02:20,029 INFO L225 Difference]: With dead ends: 69 [2022-04-08 14:02:20,029 INFO L226 Difference]: Without dead ends: 48 [2022-04-08 14:02:20,029 INFO L912 BasicCegarLoop]: 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-08 14:02:20,030 INFO L913 BasicCegarLoop]: 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-08 14:02:20,030 INFO L914 BasicCegarLoop]: 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-08 14:02:20,030 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-08 14:02:20,091 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 46. [2022-04-08 14:02:20,091 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 14:02:20,091 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-08 14:02:20,091 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-08 14:02:20,091 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-08 14:02:20,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:20,093 INFO L93 Difference]: Finished difference Result 48 states and 55 transitions. [2022-04-08 14:02:20,093 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 55 transitions. [2022-04-08 14:02:20,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:20,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:20,093 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-08 14:02:20,093 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-08 14:02:20,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 14:02:20,094 INFO L93 Difference]: Finished difference Result 48 states and 55 transitions. [2022-04-08 14:02:20,094 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 55 transitions. [2022-04-08 14:02:20,094 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 14:02:20,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 14:02:20,095 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 14:02:20,095 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 14:02:20,095 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-08 14:02:20,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 53 transitions. [2022-04-08 14:02:20,096 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 53 transitions. Word has length 38 [2022-04-08 14:02:20,096 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 14:02:20,096 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 53 transitions. [2022-04-08 14:02:20,096 INFO L479 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-08 14:02:20,096 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 53 transitions. [2022-04-08 14:02:20,155 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-08 14:02:20,155 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 53 transitions. [2022-04-08 14:02:20,156 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 14:02:20,156 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 14:02:20,156 INFO L499 BasicCegarLoop]: 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-08 14:02:20,174 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 14:02:20,356 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:20,356 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 14:02:20,357 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 14:02:20,357 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 1 times [2022-04-08 14:02:20,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 14:02:20,357 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [857363952] [2022-04-08 14:02:20,357 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 14:02:20,357 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 2 times [2022-04-08 14:02:20,357 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 14:02:20,357 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [75300959] [2022-04-08 14:02:20,357 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 14:02:20,358 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 14:02:20,374 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 14:02:20,374 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1072839830] [2022-04-08 14:02:20,374 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 14:02:20,374 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:20,374 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 14:02:20,376 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 14:02:20,377 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 14:02:20,413 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 14:02:20,413 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 14:02:20,413 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-08 14:02:20,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 14:02:20,426 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 14:02:21,593 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 14:02:21,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [75300959] [2022-04-08 14:02:21,593 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 14:02:21,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1072839830] [2022-04-08 14:02:21,593 WARN L319 FreeRefinementEngine]: Global settings require throwing the following exception [2022-04-08 14:02:21,609 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 14:02:21,809 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 14:02:21,809 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:684) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.selectBestEliminatee(QuantifierPusher.java:668) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.doit(QuantifierPusher.java:604) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective2(QuantifierPusher.java:446) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:355) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:172) 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:261) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:247) 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:190) 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:595) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:414) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:349) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:331) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:412) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:302) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:262) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:154) 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-08 14:02:21,813 INFO L158 Benchmark]: Toolchain (without parser) took 131212.65ms. Allocated memory was 183.5MB in the beginning and 220.2MB in the end (delta: 36.7MB). Free memory was 132.8MB in the beginning and 82.0MB in the end (delta: 50.7MB). Peak memory consumption was 88.2MB. Max. memory is 8.0GB. [2022-04-08 14:02:21,813 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 183.5MB. Free memory was 149.6MB in the beginning and 149.5MB in the end (delta: 136.6kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-08 14:02:21,813 INFO L158 Benchmark]: CACSL2BoogieTranslator took 201.54ms. Allocated memory was 183.5MB in the beginning and 220.2MB in the end (delta: 36.7MB). Free memory was 132.5MB in the beginning and 197.3MB in the end (delta: -64.8MB). Peak memory consumption was 11.2MB. Max. memory is 8.0GB. [2022-04-08 14:02:21,813 INFO L158 Benchmark]: Boogie Preprocessor took 52.04ms. Allocated memory is still 220.2MB. Free memory was 197.3MB in the beginning and 195.5MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-08 14:02:21,813 INFO L158 Benchmark]: RCFGBuilder took 299.23ms. Allocated memory is still 220.2MB. Free memory was 195.5MB in the beginning and 182.0MB in the end (delta: 13.5MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-08 14:02:21,813 INFO L158 Benchmark]: TraceAbstraction took 130653.28ms. Allocated memory is still 220.2MB. Free memory was 181.5MB in the beginning and 82.0MB in the end (delta: 99.5MB). Peak memory consumption was 100.8MB. Max. memory is 8.0GB. [2022-04-08 14:02:21,814 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.11ms. Allocated memory is still 183.5MB. Free memory was 149.6MB in the beginning and 149.5MB in the end (delta: 136.6kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 201.54ms. Allocated memory was 183.5MB in the beginning and 220.2MB in the end (delta: 36.7MB). Free memory was 132.5MB in the beginning and 197.3MB in the end (delta: -64.8MB). Peak memory consumption was 11.2MB. Max. memory is 8.0GB. * Boogie Preprocessor took 52.04ms. Allocated memory is still 220.2MB. Free memory was 197.3MB in the beginning and 195.5MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 299.23ms. Allocated memory is still 220.2MB. Free memory was 195.5MB in the beginning and 182.0MB in the end (delta: 13.5MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * TraceAbstraction took 130653.28ms. Allocated memory is still 220.2MB. Free memory was 181.5MB in the beginning and 82.0MB in the end (delta: 99.5MB). Peak memory consumption was 100.8MB. 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-08 14:02:21,842 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...