/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_valuebound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 14:02:24,526 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 14:02:24,553 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 14:02:24,589 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 14:02:24,589 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 14:02:24,590 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 14:02:24,593 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 14:02:24,594 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 14:02:24,595 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 14:02:24,598 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 14:02:24,599 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 14:02:24,600 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 14:02:24,600 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 14:02:24,602 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 14:02:24,602 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 14:02:24,604 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 14:02:24,604 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 14:02:24,605 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 14:02:24,606 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 14:02:24,610 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 14:02:24,611 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 14:02:24,612 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 14:02:24,612 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 14:02:24,613 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 14:02:24,614 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 14:02:24,618 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 14:02:24,618 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 14:02:24,619 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 14:02:24,619 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 14:02:24,619 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 14:02:24,620 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 14:02:24,620 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 14:02:24,621 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 14:02:24,622 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 14:02:24,622 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 14:02:24,623 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 14:02:24,623 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 14:02:24,623 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 14:02:24,623 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 14:02:24,624 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 14:02:24,624 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 14:02:24,625 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 14:02:24,626 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 14:02:24,635 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 14:02:24,635 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 14:02:24,636 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 14:02:24,636 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 14:02:24,636 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 14:02:24,636 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 14:02:24,636 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 14:02:24,636 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 14:02:24,637 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 14:02:24,637 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 14:02:24,637 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 14:02:24,637 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 14:02:24,638 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 14:02:24,638 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 14:02:24,638 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 14:02:24,638 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:02:24,638 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 14:02:24,638 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 14:02:24,639 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 14:02:24,639 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 14:02:24,642 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 14:02:24,642 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 14:02:24,643 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 14:02:24,823 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 14:02:24,836 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 14:02:24,838 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 14:02:24,839 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 14:02:24,839 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 14:02:24,840 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound100.c [2022-04-28 14:02:24,879 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/330e76b95/e3cc38ba6b99489c95b4e814e50cdb21/FLAG9eb2318cd [2022-04-28 14:02:25,214 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 14:02:25,214 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound100.c [2022-04-28 14:02:25,219 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/330e76b95/e3cc38ba6b99489c95b4e814e50cdb21/FLAG9eb2318cd [2022-04-28 14:02:25,228 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/330e76b95/e3cc38ba6b99489c95b4e814e50cdb21 [2022-04-28 14:02:25,230 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 14:02:25,231 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 14:02:25,232 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 14:02:25,232 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 14:02:25,235 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 14:02:25,236 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:02:25" (1/1) ... [2022-04-28 14:02:25,236 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5ae10f14 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:25, skipping insertion in model container [2022-04-28 14:02:25,237 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 02:02:25" (1/1) ... [2022-04-28 14:02:25,241 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 14:02:25,250 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 14:02:25,354 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_valuebound100.c[524,537] [2022-04-28 14:02:25,392 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:02:25,399 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 14:02:25,406 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_valuebound100.c[524,537] [2022-04-28 14:02:25,411 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 14:02:25,418 INFO L208 MainTranslator]: Completed translation [2022-04-28 14:02:25,419 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:25 WrapperNode [2022-04-28 14:02:25,419 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 14:02:25,420 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 14:02:25,420 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 14:02:25,420 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 14:02:25,426 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:25" (1/1) ... [2022-04-28 14:02:25,426 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:25" (1/1) ... [2022-04-28 14:02:25,440 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:25" (1/1) ... [2022-04-28 14:02:25,440 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:25" (1/1) ... [2022-04-28 14:02:25,444 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:25" (1/1) ... [2022-04-28 14:02:25,450 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:25" (1/1) ... [2022-04-28 14:02:25,450 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:25" (1/1) ... [2022-04-28 14:02:25,451 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 14:02:25,452 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 14:02:25,452 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 14:02:25,452 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 14:02:25,456 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:25" (1/1) ... [2022-04-28 14:02:25,462 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 14:02:25,468 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:02:25,476 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 14:02:25,483 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 14:02:25,499 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 14:02:25,499 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 14:02:25,499 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 14:02:25,499 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 14:02:25,499 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 14:02:25,499 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 14:02:25,499 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 14:02:25,499 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 14:02:25,499 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 14:02:25,499 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 14:02:25,499 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 14:02:25,500 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 14:02:25,500 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 14:02:25,500 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 14:02:25,500 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 14:02:25,500 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 14:02:25,500 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 14:02:25,500 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 14:02:25,500 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 14:02:25,500 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 14:02:25,542 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 14:02:25,543 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 14:02:25,730 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 14:02:25,735 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 14:02:25,735 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 14:02:25,736 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:02:25 BoogieIcfgContainer [2022-04-28 14:02:25,736 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 14:02:25,737 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 14:02:25,737 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 14:02:25,753 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 14:02:25,753 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 02:02:25" (1/3) ... [2022-04-28 14:02:25,753 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@314562cc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:02:25, skipping insertion in model container [2022-04-28 14:02:25,754 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 02:02:25" (2/3) ... [2022-04-28 14:02:25,754 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@314562cc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 02:02:25, skipping insertion in model container [2022-04-28 14:02:25,754 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 02:02:25" (3/3) ... [2022-04-28 14:02:25,755 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_valuebound100.c [2022-04-28 14:02:25,798 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 14:02:25,798 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 14:02:25,839 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 14:02:25,850 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@771e7c7d, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@5a22534b [2022-04-28 14:02:25,851 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 14:02:25,857 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:02:25,863 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:02:25,863 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:02:25,863 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:02:25,864 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:02:25,868 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:02:25,868 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 1 times [2022-04-28 14:02:25,873 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:25,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [298756719] [2022-04-28 14:02:25,884 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:02:25,884 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 2 times [2022-04-28 14:02:25,886 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:02:25,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1682321245] [2022-04-28 14:02:25,886 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:02:25,887 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:02:25,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:26,007 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 14:02:26,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:26,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {54#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-28 14:02:26,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 14:02:26,020 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-28 14:02:26,021 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 14:02:26,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:26,036 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:02:26,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:02:26,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:02:26,044 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-28 14:02:26,044 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 14:02:26,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:26,049 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:02:26,049 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:02:26,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:02:26,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-28 14:02:26,050 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 14:02:26,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:26,058 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:02:26,059 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:02:26,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:02:26,059 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-28 14:02:26,060 INFO L272 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {54#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 14:02:26,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {54#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-28 14:02:26,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 14:02:26,061 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-28 14:02:26,061 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-28 14:02:26,061 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {37#true} is VALID [2022-04-28 14:02:26,061 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {37#true} is VALID [2022-04-28 14:02:26,061 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:02:26,063 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:02:26,063 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:02:26,063 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-28 14:02:26,063 INFO L290 TraceCheckUtils]: 11: Hoare triple {38#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38#false} is VALID [2022-04-28 14:02:26,063 INFO L272 TraceCheckUtils]: 12: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {37#true} is VALID [2022-04-28 14:02:26,063 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:02:26,064 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:02:26,064 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:02:26,064 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-28 14:02:26,064 INFO L272 TraceCheckUtils]: 17: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-28 14:02:26,064 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 14:02:26,065 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 14:02:26,065 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 14:02:26,065 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-28 14:02:26,066 INFO L290 TraceCheckUtils]: 22: Hoare triple {38#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {38#false} is VALID [2022-04-28 14:02:26,066 INFO L290 TraceCheckUtils]: 23: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-28 14:02:26,066 INFO L272 TraceCheckUtils]: 24: Hoare triple {38#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {38#false} is VALID [2022-04-28 14:02:26,067 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-28 14:02:26,067 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-28 14:02:26,067 INFO L290 TraceCheckUtils]: 27: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-28 14:02:26,068 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:02:26,068 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:02:26,068 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1682321245] [2022-04-28 14:02:26,069 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1682321245] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:26,069 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:26,069 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:02:26,071 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:02:26,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [298756719] [2022-04-28 14:02:26,071 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [298756719] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:26,071 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:26,071 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 14:02:26,071 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2112820295] [2022-04-28 14:02:26,072 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:02:26,075 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 14:02:26,076 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:02:26,078 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:02:26,110 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:26,111 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 14:02:26,111 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:26,126 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 14:02:26,126 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:02:26,129 INFO L87 Difference]: Start difference. First operand has 34 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 8 states have call successors, (8), 4 states have call predecessors, (8), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:02:26,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:26,257 INFO L93 Difference]: Finished difference Result 61 states and 88 transitions. [2022-04-28 14:02:26,257 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 14:02:26,257 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 14:02:26,257 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:02:26,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:02:26,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-28 14:02:26,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:02:26,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-28 14:02:26,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 88 transitions. [2022-04-28 14:02:26,357 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:26,367 INFO L225 Difference]: With dead ends: 61 [2022-04-28 14:02:26,367 INFO L226 Difference]: Without dead ends: 29 [2022-04-28 14:02:26,372 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 14:02:26,375 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 22 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 15 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 14:02:26,377 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 15 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:02:26,418 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-28 14:02:26,433 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-28 14:02:26,433 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:02:26,434 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:02:26,435 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:02:26,435 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:02:26,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:26,442 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-28 14:02:26,442 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 14:02:26,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:26,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:26,443 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 29 states. [2022-04-28 14:02:26,444 INFO L87 Difference]: Start difference. First operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 29 states. [2022-04-28 14:02:26,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:26,453 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-28 14:02:26,453 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 14:02:26,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:26,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:26,453 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:02:26,453 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:02:26,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 17 states have (on average 1.2941176470588236) internal successors, (22), 18 states have internal predecessors, (22), 8 states have call successors, (8), 4 states have call predecessors, (8), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 14:02:26,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-28 14:02:26,461 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 28 [2022-04-28 14:02:26,461 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:02:26,461 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-28 14:02:26,461 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 14:02:26,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-28 14:02:26,495 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:26,495 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 14:02:26,496 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 14:02:26,496 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:02:26,496 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:02:26,496 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 14:02:26,497 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:02:26,497 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:02:26,497 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 1 times [2022-04-28 14:02:26,498 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:26,498 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [978112026] [2022-04-28 14:02:26,499 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:02:26,499 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 2 times [2022-04-28 14:02:26,499 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:02:26,501 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1861006529] [2022-04-28 14:02:26,501 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:02:26,502 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:02:26,531 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:02:26,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [267293287] [2022-04-28 14:02:26,532 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:02:26,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:02:26,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:02:26,536 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:02:26,537 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 14:02:26,578 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 14:02:26,578 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:02:26,580 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 14:02:26,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:26,592 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:02:26,759 INFO L272 TraceCheckUtils]: 0: Hoare triple {295#true} call ULTIMATE.init(); {295#true} is VALID [2022-04-28 14:02:26,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {295#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {295#true} is VALID [2022-04-28 14:02:26,759 INFO L290 TraceCheckUtils]: 2: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 14:02:26,759 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {295#true} {295#true} #83#return; {295#true} is VALID [2022-04-28 14:02:26,760 INFO L272 TraceCheckUtils]: 4: Hoare triple {295#true} call #t~ret6 := main(); {295#true} is VALID [2022-04-28 14:02:26,762 INFO L290 TraceCheckUtils]: 5: Hoare triple {295#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {295#true} is VALID [2022-04-28 14:02:26,764 INFO L272 TraceCheckUtils]: 6: Hoare triple {295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {295#true} is VALID [2022-04-28 14:02:26,764 INFO L290 TraceCheckUtils]: 7: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 14:02:26,764 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 14:02:26,766 INFO L290 TraceCheckUtils]: 9: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 14:02:26,766 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {295#true} {295#true} #71#return; {295#true} is VALID [2022-04-28 14:02:26,766 INFO L290 TraceCheckUtils]: 11: Hoare triple {295#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {295#true} is VALID [2022-04-28 14:02:26,766 INFO L272 TraceCheckUtils]: 12: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {295#true} is VALID [2022-04-28 14:02:26,767 INFO L290 TraceCheckUtils]: 13: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 14:02:26,767 INFO L290 TraceCheckUtils]: 14: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 14:02:26,767 INFO L290 TraceCheckUtils]: 15: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 14:02:26,767 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {295#true} {295#true} #73#return; {295#true} is VALID [2022-04-28 14:02:26,767 INFO L272 TraceCheckUtils]: 17: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {295#true} is VALID [2022-04-28 14:02:26,767 INFO L290 TraceCheckUtils]: 18: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 14:02:26,767 INFO L290 TraceCheckUtils]: 19: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 14:02:26,768 INFO L290 TraceCheckUtils]: 20: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 14:02:26,768 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {295#true} {295#true} #75#return; {295#true} is VALID [2022-04-28 14:02:26,768 INFO L290 TraceCheckUtils]: 22: Hoare triple {295#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:02:26,769 INFO L290 TraceCheckUtils]: 23: Hoare triple {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:02:26,770 INFO L272 TraceCheckUtils]: 24: Hoare triple {366#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {373#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:02:26,770 INFO L290 TraceCheckUtils]: 25: Hoare triple {373#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {377#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:02:26,771 INFO L290 TraceCheckUtils]: 26: Hoare triple {377#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {296#false} is VALID [2022-04-28 14:02:26,771 INFO L290 TraceCheckUtils]: 27: Hoare triple {296#false} assume !false; {296#false} is VALID [2022-04-28 14:02:26,772 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:02:26,772 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 14:02:26,772 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:02:26,772 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1861006529] [2022-04-28 14:02:26,772 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:02:26,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [267293287] [2022-04-28 14:02:26,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [267293287] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:26,774 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:26,774 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:02:26,775 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:02:26,775 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [978112026] [2022-04-28 14:02:26,775 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [978112026] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:02:26,775 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:02:26,775 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:02:26,775 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [722828581] [2022-04-28 14:02:26,775 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:02:26,776 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 14:02:26,776 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:02:26,776 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:02:26,791 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:26,792 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:02:26,792 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:26,793 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:02:26,793 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 14:02:26,793 INFO L87 Difference]: Start difference. First operand 29 states and 36 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:02:26,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:26,963 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-28 14:02:26,963 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 14:02:26,964 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 14:02:26,964 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:02:26,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:02:26,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 14:02:26,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:02:26,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 14:02:26,971 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-28 14:02:27,031 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:27,033 INFO L225 Difference]: With dead ends: 43 [2022-04-28 14:02:27,033 INFO L226 Difference]: Without dead ends: 41 [2022-04-28 14:02:27,033 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 14:02:27,034 INFO L413 NwaCegarLoop]: 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-28 14:02:27,034 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 92 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 14:02:27,034 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-28 14:02:27,042 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 35. [2022-04-28 14:02:27,042 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:02:27,042 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:02:27,042 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:02:27,043 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:02:27,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:27,045 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 14:02:27,045 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 14:02:27,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:27,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:27,045 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 41 states. [2022-04-28 14:02:27,046 INFO L87 Difference]: Start difference. First operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 41 states. [2022-04-28 14:02:27,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:02:27,053 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 14:02:27,053 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 14:02:27,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:02:27,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:02:27,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:02:27,054 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:02:27,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 14:02:27,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 42 transitions. [2022-04-28 14:02:27,056 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 42 transitions. Word has length 28 [2022-04-28 14:02:27,056 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:02:27,056 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 42 transitions. [2022-04-28 14:02:27,056 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 14:02:27,056 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 42 transitions. [2022-04-28 14:02:27,091 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:02:27,092 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 42 transitions. [2022-04-28 14:02:27,092 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 14:02:27,092 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:02:27,092 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:02:27,115 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 14:02:27,312 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:02:27,313 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:02:27,313 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:02:27,313 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 1 times [2022-04-28 14:02:27,313 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:02:27,313 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [789097632] [2022-04-28 14:02:27,313 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:02:27,314 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 2 times [2022-04-28 14:02:27,314 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:02:27,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [137898006] [2022-04-28 14:02:27,314 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:02:27,314 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:02:27,326 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:02:27,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1811001715] [2022-04-28 14:02:27,326 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:02:27,326 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:02:27,326 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:02:27,327 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:02:27,332 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 14:02:27,378 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:02:27,378 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:02:27,379 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 14:02:27,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:02:27,389 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:02:38,117 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-28 14:02:38,117 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {623#true} is VALID [2022-04-28 14:02:38,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:02:38,118 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-28 14:02:38,118 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-28 14:02:38,118 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {623#true} is VALID [2022-04-28 14:02:38,118 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-28 14:02:38,118 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:02:38,119 INFO L290 TraceCheckUtils]: 8: Hoare triple {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:38,119 INFO L290 TraceCheckUtils]: 9: Hoare triple {653#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:38,120 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 100))} is VALID [2022-04-28 14:02:38,120 INFO L290 TraceCheckUtils]: 11: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:02:38,120 INFO L272 TraceCheckUtils]: 12: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-28 14:02:38,120 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 14:02:38,120 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 14:02:38,121 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:02:38,121 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:02:38,121 INFO L272 TraceCheckUtils]: 17: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 14:02:38,121 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:02:38,122 INFO L290 TraceCheckUtils]: 19: Hoare triple {649#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:38,122 INFO L290 TraceCheckUtils]: 20: Hoare triple {653#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {653#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:02:38,123 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {660#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {694#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-28 14:02:38,123 INFO L290 TraceCheckUtils]: 22: Hoare triple {694#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~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) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-28 14:02:38,123 INFO L290 TraceCheckUtils]: 23: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} assume !false; {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-28 14:02:38,124 INFO L272 TraceCheckUtils]: 24: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= main_~x~0 100) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {623#true} is VALID [2022-04-28 14:02:38,124 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:02:38,124 INFO L290 TraceCheckUtils]: 26: Hoare triple {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:02:38,125 INFO L290 TraceCheckUtils]: 27: Hoare triple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:02:40,127 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) (<= main_~x~0 100) (<= 1 main_~y~0))} #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) (<= main_~x~0 100) (<= 1 main_~y~0))} is UNKNOWN [2022-04-28 14:02:40,129 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) (<= main_~x~0 100) (<= 1 main_~y~0))} assume !(0 != ~a~0 && 0 != ~b~0); {723#(and (<= main_~x~0 0) (<= 0 main_~x~0) (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-28 14:02:40,129 INFO L272 TraceCheckUtils]: 30: Hoare triple {723#(and (<= main_~x~0 0) (<= 0 main_~x~0) (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:02:40,130 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:02:40,130 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-28 14:02:40,130 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-28 14:02:40,131 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 4 proven. 4 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:02:40,131 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:03:13,711 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-28 14:03:13,712 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-28 14:03:13,712 INFO L290 TraceCheckUtils]: 31: Hoare triple {727#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {731#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:03:13,713 INFO L272 TraceCheckUtils]: 30: Hoare triple {747#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {727#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:03:13,714 INFO L290 TraceCheckUtils]: 29: Hoare triple {751#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {747#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:03:13,715 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {623#true} #77#return; {751#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-28 14:03:13,716 INFO L290 TraceCheckUtils]: 27: Hoare triple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:03:13,716 INFO L290 TraceCheckUtils]: 26: Hoare triple {764#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {712#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:03:13,717 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {764#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:03:13,717 INFO L272 TraceCheckUtils]: 24: Hoare triple {623#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {623#true} is VALID [2022-04-28 14:03:13,717 INFO L290 TraceCheckUtils]: 23: Hoare triple {623#true} assume !false; {623#true} is VALID [2022-04-28 14:03:13,717 INFO L290 TraceCheckUtils]: 22: Hoare triple {623#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {623#true} is VALID [2022-04-28 14:03:13,717 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {623#true} {623#true} #75#return; {623#true} is VALID [2022-04-28 14:03:13,717 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:03:13,717 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 14:03:13,717 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 14:03:13,717 INFO L272 TraceCheckUtils]: 17: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 14:03:13,717 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {623#true} #73#return; {623#true} is VALID [2022-04-28 14:03:13,717 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:03:13,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 14:03:13,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 14:03:13,718 INFO L272 TraceCheckUtils]: 12: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-28 14:03:13,718 INFO L290 TraceCheckUtils]: 11: Hoare triple {623#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {623#true} is VALID [2022-04-28 14:03:13,718 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #71#return; {623#true} is VALID [2022-04-28 14:03:13,718 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:03:13,718 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 14:03:13,718 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 14:03:13,718 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {623#true} is VALID [2022-04-28 14:03:13,718 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {623#true} is VALID [2022-04-28 14:03:13,719 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-28 14:03:13,719 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-28 14:03:13,719 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 14:03:13,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {623#true} is VALID [2022-04-28 14:03:13,719 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-28 14:03:13,719 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:03:13,719 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:03:13,719 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [137898006] [2022-04-28 14:03:13,719 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:03:13,719 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1811001715] [2022-04-28 14:03:13,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1811001715] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:03:13,720 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:03:13,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 16 [2022-04-28 14:03:13,720 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:03:13,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [789097632] [2022-04-28 14:03:13,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [789097632] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:03:13,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:03:13,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 14:03:13,720 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2053885070] [2022-04-28 14:03:13,720 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:03:13,721 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-04-28 14:03:13,721 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:03:13,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:03:15,746 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:03:15,746 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 14:03:15,746 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:03:15,747 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 14:03:15,747 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-28 14:03:15,747 INFO L87 Difference]: Start difference. First operand 35 states and 42 transitions. Second operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:03:18,315 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:03:21,256 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:03:23,357 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:03:23,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:03:23,456 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-28 14:03:23,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 14:03:23,456 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-04-28 14:03:23,456 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:03:23,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:03:23,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 14:03:23,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:03:23,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 14:03:23,459 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-28 14:03:23,509 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:03:23,510 INFO L225 Difference]: With dead ends: 47 [2022-04-28 14:03:23,510 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 14:03:23,510 INFO L412 NwaCegarLoop]: 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-28 14:03:23,511 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 26 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 226 mSolverCounterSat, 10 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 226 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.9s IncrementalHoareTripleChecker+Time [2022-04-28 14:03:23,511 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 137 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 226 Invalid, 3 Unknown, 0 Unchecked, 6.9s Time] [2022-04-28 14:03:23,511 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 14:03:23,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 41. [2022-04-28 14:03:23,549 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:03:23,550 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:03:23,550 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:03:23,551 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:03:23,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:03:23,555 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 14:03:23,555 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 14:03:23,559 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:03:23,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:03:23,559 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 14:03:23,560 INFO L87 Difference]: Start difference. First operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-28 14:03:23,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:03:23,563 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 14:03:23,563 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 14:03:23,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:03:23,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:03:23,564 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:03:23,564 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:03:23,564 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 25 states have (on average 1.24) internal successors, (31), 27 states have internal predecessors, (31), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:03:23,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-28 14:03:23,570 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 34 [2022-04-28 14:03:23,570 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:03:23,570 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-28 14:03:23,570 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 1.5833333333333333) internal successors, (19), 10 states have internal predecessors, (19), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:03:23,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-28 14:03:23,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:03:23,619 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-28 14:03:23,620 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 14:03:23,620 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:03:23,620 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:03:23,638 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 14:03:23,820 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 14:03:23,821 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:03:23,821 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:03:23,821 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 1 times [2022-04-28 14:03:23,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:03:23,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [406032695] [2022-04-28 14:03:23,821 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:03:23,821 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 2 times [2022-04-28 14:03:23,822 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:03:23,822 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1216772696] [2022-04-28 14:03:23,822 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:03:23,822 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:03:23,836 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:03:23,837 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1873364066] [2022-04-28 14:03:23,837 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:03:23,837 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:03:23,837 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:03:23,848 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:03:23,849 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 14:03:23,900 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:03:23,901 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:03:23,901 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 14:03:23,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:03:23,916 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:03:27,994 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-28 14:03:27,994 INFO L290 TraceCheckUtils]: 1: Hoare triple {1116#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1116#true} is VALID [2022-04-28 14:03:27,994 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:03:27,994 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-28 14:03:27,994 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-28 14:03:27,994 INFO L290 TraceCheckUtils]: 5: Hoare triple {1116#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1116#true} is VALID [2022-04-28 14:03:27,994 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:03:27,995 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:03:27,995 INFO L290 TraceCheckUtils]: 8: Hoare triple {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:03:27,995 INFO L290 TraceCheckUtils]: 9: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:03:27,996 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 100))} is VALID [2022-04-28 14:03:27,996 INFO L290 TraceCheckUtils]: 11: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:03:27,997 INFO L272 TraceCheckUtils]: 12: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:03:27,997 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 14:03:27,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 14:03:27,997 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:03:27,997 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:03:27,997 INFO L272 TraceCheckUtils]: 17: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:03:27,998 INFO L290 TraceCheckUtils]: 18: Hoare triple {1116#true} ~cond := #in~cond; {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:03:27,998 INFO L290 TraceCheckUtils]: 19: Hoare triple {1142#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:03:27,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:03:27,999 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1153#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {1187#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-28 14:03:27,999 INFO L290 TraceCheckUtils]: 22: Hoare triple {1187#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:03:28,000 INFO L290 TraceCheckUtils]: 23: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:03:28,000 INFO L272 TraceCheckUtils]: 24: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~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)); {1116#true} is VALID [2022-04-28 14:03:28,000 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 14:03:28,000 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 14:03:28,000 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:03:28,001 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:03:28,001 INFO L290 TraceCheckUtils]: 29: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:03:28,002 INFO L290 TraceCheckUtils]: 30: Hoare triple {1191#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 100) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= 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; {1216#(and (= (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) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:03:28,003 INFO L290 TraceCheckUtils]: 31: Hoare triple {1216#(and (= (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) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} assume !false; {1216#(and (= (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) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 14:03:28,006 INFO L272 TraceCheckUtils]: 32: Hoare triple {1216#(and (= (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) (<= main_~x~0 100) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:03:28,015 INFO L290 TraceCheckUtils]: 33: Hoare triple {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:03:28,016 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-28 14:03:28,016 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-28 14:03:28,016 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:03:28,016 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:04:26,814 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-28 14:04:26,815 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-28 14:04:26,815 INFO L290 TraceCheckUtils]: 33: Hoare triple {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:26,816 INFO L272 TraceCheckUtils]: 32: Hoare triple {1243#(= (+ 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)); {1223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:04:26,817 INFO L290 TraceCheckUtils]: 31: Hoare triple {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:04:26,821 INFO L290 TraceCheckUtils]: 30: Hoare triple {1250#(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; {1243#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:04:26,821 INFO L290 TraceCheckUtils]: 29: Hoare triple {1250#(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 != ~a~0 && 0 != ~b~0); {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-28 14:04:26,827 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1250#(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))))} #77#return; {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-28 14:04:26,828 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:04:26,828 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 14:04:26,828 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 14:04:26,828 INFO L272 TraceCheckUtils]: 24: Hoare triple {1250#(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))))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:04:26,829 INFO L290 TraceCheckUtils]: 23: Hoare triple {1250#(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 !false; {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-28 14:04:26,832 INFO L290 TraceCheckUtils]: 22: Hoare triple {1275#(or (not (< main_~y~0 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; {1250#(or (and (or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0))) (or (= (mod main_~b~0 2) 0) (= (+ main_~q~0 (* (+ (div main_~b~0 2) 1) (* main_~p~0 4) (div main_~a~0 2))) (* main_~y~0 main_~x~0)))) (not (= (mod main_~a~0 2) 0)) (and (not (< main_~b~0 0)) (not (<= (mod main_~b~0 2) 0))))} is VALID [2022-04-28 14:04:26,833 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1116#true} #75#return; {1275#(or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (* (div main_~x~0 2) (+ (div main_~y~0 2) 1) 4) (* main_~y~0 main_~x~0)) (not (= (mod main_~x~0 2) 0)))} is VALID [2022-04-28 14:04:26,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:26,833 INFO L290 TraceCheckUtils]: 19: Hoare triple {1288#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1146#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:26,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {1116#true} ~cond := #in~cond; {1288#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:04:26,834 INFO L272 TraceCheckUtils]: 17: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:04:26,834 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1116#true} #73#return; {1116#true} is VALID [2022-04-28 14:04:26,834 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:04:26,834 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 14:04:26,837 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 14:04:26,837 INFO L272 TraceCheckUtils]: 12: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:04:26,837 INFO L290 TraceCheckUtils]: 11: Hoare triple {1116#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1116#true} is VALID [2022-04-28 14:04:26,837 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1116#true} {1116#true} #71#return; {1116#true} is VALID [2022-04-28 14:04:26,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:04:26,838 INFO L290 TraceCheckUtils]: 8: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 14:04:26,838 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 14:04:26,838 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1116#true} is VALID [2022-04-28 14:04:26,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {1116#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1116#true} is VALID [2022-04-28 14:04:26,838 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-28 14:04:26,838 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-28 14:04:26,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 14:04:26,838 INFO L290 TraceCheckUtils]: 1: Hoare triple {1116#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {1116#true} is VALID [2022-04-28 14:04:26,838 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-28 14:04:26,838 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:04:26,839 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:04:26,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1216772696] [2022-04-28 14:04:26,839 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:04:26,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1873364066] [2022-04-28 14:04:26,839 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1873364066] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:04:26,839 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:04:26,839 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 14:04:26,839 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:04:26,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [406032695] [2022-04-28 14:04:26,839 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [406032695] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:04:26,839 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:04:26,839 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 14:04:26,839 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [417787666] [2022-04-28 14:04:26,839 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:04:26,840 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-28 14:04:26,841 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:04:26,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:04:26,867 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:26,867 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 14:04:26,867 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:04:26,868 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 14:04:26,868 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=143, Unknown=0, NotChecked=0, Total=182 [2022-04-28 14:04:26,869 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:04:27,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:27,940 INFO L93 Difference]: Finished difference Result 59 states and 75 transitions. [2022-04-28 14:04:27,940 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 14:04:27,940 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-28 14:04:27,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:04:27,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:04:27,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-28 14:04:27,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:04:27,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-28 14:04:27,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 69 transitions. [2022-04-28 14:04:28,015 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:28,017 INFO L225 Difference]: With dead ends: 59 [2022-04-28 14:04:28,017 INFO L226 Difference]: Without dead ends: 57 [2022-04-28 14:04:28,017 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=48, Invalid=192, Unknown=0, NotChecked=0, Total=240 [2022-04-28 14:04:28,017 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 48 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 217 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 242 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 217 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 14:04:28,018 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 125 Invalid, 242 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 217 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 14:04:28,018 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-28 14:04:28,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 48. [2022-04-28 14:04:28,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:04:28,064 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:04:28,064 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:04:28,064 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:04:28,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:28,066 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-28 14:04:28,066 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-28 14:04:28,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:04:28,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:04:28,066 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 57 states. [2022-04-28 14:04:28,066 INFO L87 Difference]: Start difference. First operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 57 states. [2022-04-28 14:04:28,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:28,068 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-28 14:04:28,068 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-28 14:04:28,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:04:28,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:04:28,068 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:04:28,068 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:04:28,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 33 states have internal predecessors, (37), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:04:28,070 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 57 transitions. [2022-04-28 14:04:28,070 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 57 transitions. Word has length 36 [2022-04-28 14:04:28,070 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:04:28,070 INFO L495 AbstractCegarLoop]: Abstraction has 48 states and 57 transitions. [2022-04-28 14:04:28,070 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:04:28,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 57 transitions. [2022-04-28 14:04:28,134 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:28,134 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 57 transitions. [2022-04-28 14:04:28,135 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 14:04:28,135 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:04:28,135 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:04:28,153 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-28 14:04:28,343 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:04:28,343 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:04:28,344 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:04:28,344 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 1 times [2022-04-28 14:04:28,344 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:04:28,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [519724584] [2022-04-28 14:04:28,344 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:04:28,344 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 2 times [2022-04-28 14:04:28,344 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:04:28,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1124937304] [2022-04-28 14:04:28,344 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:04:28,345 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:04:28,373 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:04:28,373 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1722087986] [2022-04-28 14:04:28,373 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:04:28,374 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:04:28,374 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:04:28,377 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:04:28,378 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 14:04:28,423 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:04:28,423 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:04:28,424 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 14:04:28,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:04:28,437 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:04:28,686 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-28 14:04:28,686 INFO L290 TraceCheckUtils]: 1: Hoare triple {1677#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); {1677#true} is VALID [2022-04-28 14:04:28,686 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 14:04:28,686 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-28 14:04:28,686 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-28 14:04:28,686 INFO L290 TraceCheckUtils]: 5: Hoare triple {1677#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; {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L290 TraceCheckUtils]: 11: Hoare triple {1677#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L272 TraceCheckUtils]: 17: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1677#true} is VALID [2022-04-28 14:04:28,687 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 14:04:28,688 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 14:04:28,688 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 14:04:28,688 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-28 14:04:28,688 INFO L290 TraceCheckUtils]: 22: Hoare triple {1677#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:28,688 INFO L290 TraceCheckUtils]: 23: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:28,689 INFO L272 TraceCheckUtils]: 24: Hoare triple {1748#(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)); {1677#true} is VALID [2022-04-28 14:04:28,689 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#true} ~cond := #in~cond; {1758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:28,689 INFO L290 TraceCheckUtils]: 26: Hoare triple {1758#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:04:28,689 INFO L290 TraceCheckUtils]: 27: Hoare triple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:04:28,690 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:28,690 INFO L290 TraceCheckUtils]: 29: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:28,691 INFO L290 TraceCheckUtils]: 30: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= 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)); {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:28,692 INFO L290 TraceCheckUtils]: 31: Hoare triple {1748#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= 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; {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-28 14:04:28,692 INFO L290 TraceCheckUtils]: 32: Hoare triple {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} assume !false; {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~0))) (= main_~p~0 1))} is VALID [2022-04-28 14:04:28,694 INFO L272 TraceCheckUtils]: 33: Hoare triple {1778#(and (= (mod main_~b~0 2) 0) (= main_~b~0 main_~y~0) (= (+ main_~a~0 1) main_~x~0) (= 0 (+ main_~q~0 (* (- 1) main_~b~0 main_~p~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)); {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:04:28,694 INFO L290 TraceCheckUtils]: 34: Hoare triple {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1789#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:28,694 INFO L290 TraceCheckUtils]: 35: Hoare triple {1789#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-28 14:04:28,694 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-28 14:04:28,695 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:04:28,695 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:04:41,079 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-28 14:04:41,081 INFO L290 TraceCheckUtils]: 35: Hoare triple {1789#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-28 14:04:41,081 INFO L290 TraceCheckUtils]: 34: Hoare triple {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1789#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:41,082 INFO L272 TraceCheckUtils]: 33: Hoare triple {1805#(= (+ 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)); {1785#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:04:41,082 INFO L290 TraceCheckUtils]: 32: Hoare triple {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:04:41,094 INFO L290 TraceCheckUtils]: 31: Hoare triple {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* 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)))} 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; {1805#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:04:41,095 INFO L290 TraceCheckUtils]: 30: Hoare triple {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* 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)))} 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)); {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* 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)))} is VALID [2022-04-28 14:04:41,097 INFO L290 TraceCheckUtils]: 29: Hoare triple {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* 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)))} assume !!(0 != ~a~0 && 0 != ~b~0); {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* 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)))} is VALID [2022-04-28 14:04:41,098 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} {1677#true} #77#return; {1812#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* 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)))} is VALID [2022-04-28 14:04:41,099 INFO L290 TraceCheckUtils]: 27: Hoare triple {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:04:41,099 INFO L290 TraceCheckUtils]: 26: Hoare triple {1831#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1762#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:04:41,100 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#true} ~cond := #in~cond; {1831#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:04:41,100 INFO L272 TraceCheckUtils]: 24: Hoare triple {1677#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1677#true} is VALID [2022-04-28 14:04:41,100 INFO L290 TraceCheckUtils]: 23: Hoare triple {1677#true} assume !false; {1677#true} is VALID [2022-04-28 14:04:41,100 INFO L290 TraceCheckUtils]: 22: Hoare triple {1677#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1677#true} is VALID [2022-04-28 14:04:41,100 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-28 14:04:41,100 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 14:04:41,100 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 14:04:41,100 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 14:04:41,100 INFO L272 TraceCheckUtils]: 17: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1677#true} is VALID [2022-04-28 14:04:41,100 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-28 14:04:41,100 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 14:04:41,100 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L290 TraceCheckUtils]: 11: Hoare triple {1677#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L290 TraceCheckUtils]: 5: Hoare triple {1677#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; {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {1677#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); {1677#true} is VALID [2022-04-28 14:04:41,101 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-28 14:04:41,102 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:04:41,102 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:04:41,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1124937304] [2022-04-28 14:04:41,102 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:04:41,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1722087986] [2022-04-28 14:04:41,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1722087986] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:04:41,102 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:04:41,102 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-28 14:04:41,102 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:04:41,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [519724584] [2022-04-28 14:04:41,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [519724584] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:04:41,103 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:04:41,103 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 14:04:41,103 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1329301243] [2022-04-28 14:04:41,103 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:04:41,103 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:04:41,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:04:41,103 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:04:41,130 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:41,131 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 14:04:41,131 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:04:41,131 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 14:04:41,131 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-28 14:04:41,131 INFO L87 Difference]: Start difference. First operand 48 states and 57 transitions. Second operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:04:41,981 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:41,981 INFO L93 Difference]: Finished difference Result 77 states and 99 transitions. [2022-04-28 14:04:41,981 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 14:04:41,981 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 14:04:41,981 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:04:41,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:04:41,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2022-04-28 14:04:41,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:04:41,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2022-04-28 14:04:41,984 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 87 transitions. [2022-04-28 14:04:42,059 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:42,060 INFO L225 Difference]: With dead ends: 77 [2022-04-28 14:04:42,061 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 14:04:42,061 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 63 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-28 14:04:42,061 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 18 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 173 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 177 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 173 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 14:04:42,062 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [21 Valid, 117 Invalid, 177 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 173 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 14:04:42,062 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 14:04:42,156 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 59. [2022-04-28 14:04:42,156 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:04:42,156 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 14:04:42,157 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 14:04:42,157 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 14:04:42,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:42,159 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-28 14:04:42,159 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 78 transitions. [2022-04-28 14:04:42,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:04:42,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:04:42,160 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 63 states. [2022-04-28 14:04:42,161 INFO L87 Difference]: Start difference. First operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) Second operand 63 states. [2022-04-28 14:04:42,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:42,162 INFO L93 Difference]: Finished difference Result 63 states and 78 transitions. [2022-04-28 14:04:42,162 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 78 transitions. [2022-04-28 14:04:42,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:04:42,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:04:42,163 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:04:42,163 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:04:42,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 39 states have (on average 1.2820512820512822) internal successors, (50), 42 states have internal predecessors, (50), 12 states have call successors, (12), 8 states have call predecessors, (12), 7 states have return successors, (10), 8 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 14:04:42,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 72 transitions. [2022-04-28 14:04:42,165 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 72 transitions. Word has length 37 [2022-04-28 14:04:42,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:04:42,166 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 72 transitions. [2022-04-28 14:04:42,166 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.375) internal successors, (19), 7 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:04:42,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 72 transitions. [2022-04-28 14:04:42,252 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:42,252 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 72 transitions. [2022-04-28 14:04:42,252 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 14:04:42,252 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:04:42,252 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:04:42,268 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 14:04:42,453 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:04:42,453 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:04:42,453 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:04:42,453 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 1 times [2022-04-28 14:04:42,453 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:04:42,453 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1728003851] [2022-04-28 14:04:42,454 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:04:42,454 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 2 times [2022-04-28 14:04:42,454 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:04:42,454 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1127273140] [2022-04-28 14:04:42,454 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:04:42,454 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:04:42,471 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:04:42,471 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1118107276] [2022-04-28 14:04:42,471 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:04:42,471 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:04:42,471 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:04:42,472 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:04:42,473 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 14:04:42,504 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:04:42,504 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:04:42,505 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 14:04:42,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:04:42,514 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:04:42,730 INFO L272 TraceCheckUtils]: 0: Hoare triple {2311#true} call ULTIMATE.init(); {2311#true} is VALID [2022-04-28 14:04:42,730 INFO L290 TraceCheckUtils]: 1: Hoare triple {2311#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); {2311#true} is VALID [2022-04-28 14:04:42,730 INFO L290 TraceCheckUtils]: 2: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 14:04:42,730 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2311#true} {2311#true} #83#return; {2311#true} is VALID [2022-04-28 14:04:42,730 INFO L272 TraceCheckUtils]: 4: Hoare triple {2311#true} call #t~ret6 := main(); {2311#true} is VALID [2022-04-28 14:04:42,730 INFO L290 TraceCheckUtils]: 5: Hoare triple {2311#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; {2311#true} is VALID [2022-04-28 14:04:42,730 INFO L272 TraceCheckUtils]: 6: Hoare triple {2311#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-28 14:04:42,730 INFO L290 TraceCheckUtils]: 7: Hoare triple {2311#true} ~cond := #in~cond; {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:04:42,731 INFO L290 TraceCheckUtils]: 8: Hoare triple {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:42,731 INFO L290 TraceCheckUtils]: 9: Hoare triple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:42,732 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} {2311#true} #71#return; {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:04:42,732 INFO L290 TraceCheckUtils]: 11: Hoare triple {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:04:42,732 INFO L272 TraceCheckUtils]: 12: Hoare triple {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-28 14:04:42,732 INFO L290 TraceCheckUtils]: 13: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 14:04:42,732 INFO L290 TraceCheckUtils]: 14: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 14:04:42,732 INFO L290 TraceCheckUtils]: 15: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 14:04:42,733 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2311#true} {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:04:42,733 INFO L272 TraceCheckUtils]: 17: Hoare triple {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2311#true} is VALID [2022-04-28 14:04:42,733 INFO L290 TraceCheckUtils]: 18: Hoare triple {2311#true} ~cond := #in~cond; {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:04:42,734 INFO L290 TraceCheckUtils]: 19: Hoare triple {2337#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:42,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2341#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:42,735 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2341#(not (= |assume_abort_if_not_#in~cond| 0))} {2348#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {2382#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-28 14:04:42,735 INFO L290 TraceCheckUtils]: 22: Hoare triple {2382#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:04:42,735 INFO L290 TraceCheckUtils]: 23: Hoare triple {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:04:42,736 INFO L272 TraceCheckUtils]: 24: Hoare triple {2386#(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)); {2311#true} is VALID [2022-04-28 14:04:42,736 INFO L290 TraceCheckUtils]: 25: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 14:04:42,736 INFO L290 TraceCheckUtils]: 26: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 14:04:42,736 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 14:04:42,736 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2311#true} {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:04:42,737 INFO L290 TraceCheckUtils]: 29: Hoare triple {2386#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:04:42,737 INFO L272 TraceCheckUtils]: 30: Hoare triple {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-28 14:04:42,737 INFO L290 TraceCheckUtils]: 31: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 14:04:42,737 INFO L290 TraceCheckUtils]: 32: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 14:04:42,737 INFO L290 TraceCheckUtils]: 33: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 14:04:42,737 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2311#true} {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} #79#return; {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:04:42,738 INFO L272 TraceCheckUtils]: 35: Hoare triple {2408#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:04:42,738 INFO L290 TraceCheckUtils]: 36: Hoare triple {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:42,739 INFO L290 TraceCheckUtils]: 37: Hoare triple {2431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2312#false} is VALID [2022-04-28 14:04:42,739 INFO L290 TraceCheckUtils]: 38: Hoare triple {2312#false} assume !false; {2312#false} is VALID [2022-04-28 14:04:42,739 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 14:04:42,739 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:04:42,950 INFO L290 TraceCheckUtils]: 38: Hoare triple {2312#false} assume !false; {2312#false} is VALID [2022-04-28 14:04:42,951 INFO L290 TraceCheckUtils]: 37: Hoare triple {2431#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2312#false} is VALID [2022-04-28 14:04:42,951 INFO L290 TraceCheckUtils]: 36: Hoare triple {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2431#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:42,951 INFO L272 TraceCheckUtils]: 35: Hoare triple {2447#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2427#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:04:42,952 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2311#true} {2447#(= (* main_~b~0 main_~a~0) 0)} #79#return; {2447#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-28 14:04:42,952 INFO L290 TraceCheckUtils]: 33: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 14:04:42,952 INFO L290 TraceCheckUtils]: 32: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 14:04:42,952 INFO L290 TraceCheckUtils]: 31: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 14:04:42,952 INFO L272 TraceCheckUtils]: 30: Hoare triple {2447#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-28 14:04:42,953 INFO L290 TraceCheckUtils]: 29: Hoare triple {2311#true} assume !(0 != ~a~0 && 0 != ~b~0); {2447#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-28 14:04:42,953 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2311#true} {2311#true} #77#return; {2311#true} is VALID [2022-04-28 14:04:42,953 INFO L290 TraceCheckUtils]: 27: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L290 TraceCheckUtils]: 26: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L290 TraceCheckUtils]: 25: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L272 TraceCheckUtils]: 24: Hoare triple {2311#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L290 TraceCheckUtils]: 23: Hoare triple {2311#true} assume !false; {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L290 TraceCheckUtils]: 22: Hoare triple {2311#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2311#true} {2311#true} #75#return; {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L290 TraceCheckUtils]: 20: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L290 TraceCheckUtils]: 19: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L290 TraceCheckUtils]: 18: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L272 TraceCheckUtils]: 17: Hoare triple {2311#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2311#true} {2311#true} #73#return; {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L290 TraceCheckUtils]: 15: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L290 TraceCheckUtils]: 14: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L290 TraceCheckUtils]: 13: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L272 TraceCheckUtils]: 12: Hoare triple {2311#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-28 14:04:42,954 INFO L290 TraceCheckUtils]: 11: Hoare triple {2311#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2311#true} is VALID [2022-04-28 14:04:42,955 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2311#true} {2311#true} #71#return; {2311#true} is VALID [2022-04-28 14:04:42,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 14:04:42,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {2311#true} assume !(0 == ~cond); {2311#true} is VALID [2022-04-28 14:04:42,955 INFO L290 TraceCheckUtils]: 7: Hoare triple {2311#true} ~cond := #in~cond; {2311#true} is VALID [2022-04-28 14:04:42,955 INFO L272 TraceCheckUtils]: 6: Hoare triple {2311#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2311#true} is VALID [2022-04-28 14:04:42,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {2311#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; {2311#true} is VALID [2022-04-28 14:04:42,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {2311#true} call #t~ret6 := main(); {2311#true} is VALID [2022-04-28 14:04:42,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2311#true} {2311#true} #83#return; {2311#true} is VALID [2022-04-28 14:04:42,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {2311#true} assume true; {2311#true} is VALID [2022-04-28 14:04:42,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {2311#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); {2311#true} is VALID [2022-04-28 14:04:42,955 INFO L272 TraceCheckUtils]: 0: Hoare triple {2311#true} call ULTIMATE.init(); {2311#true} is VALID [2022-04-28 14:04:42,955 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 14:04:42,955 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:04:42,956 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1127273140] [2022-04-28 14:04:42,956 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:04:42,956 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1118107276] [2022-04-28 14:04:42,956 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1118107276] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 14:04:42,956 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 14:04:42,956 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-28 14:04:42,956 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:04:42,956 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1728003851] [2022-04-28 14:04:42,956 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1728003851] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:04:42,956 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:04:42,956 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 14:04:42,956 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [762581645] [2022-04-28 14:04:42,956 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:04:42,957 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-28 14:04:42,957 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:04:42,957 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:04:42,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:42,981 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 14:04:42,981 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:04:42,982 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 14:04:42,983 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-28 14:04:42,983 INFO L87 Difference]: Start difference. First operand 59 states and 72 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:04:43,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:43,340 INFO L93 Difference]: Finished difference Result 65 states and 77 transitions. [2022-04-28 14:04:43,340 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 14:04:43,340 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-04-28 14:04:43,341 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:04:43,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:04:43,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 14:04:43,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:04:43,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 14:04:43,342 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-28 14:04:43,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:43,370 INFO L225 Difference]: With dead ends: 65 [2022-04-28 14:04:43,370 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 14:04:43,370 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 67 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=106, Unknown=0, NotChecked=0, Total=132 [2022-04-28 14:04:43,371 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:04:43,371 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [5 Valid, 125 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 14:04:43,371 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 14:04:43,432 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-28 14:04:43,432 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:04:43,432 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:04:43,433 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:04:43,433 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:04:43,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:43,434 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-28 14:04:43,434 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-28 14:04:43,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:04:43,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:04:43,434 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-28 14:04:43,435 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-28 14:04:43,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:04:43,436 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-28 14:04:43,436 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-28 14:04:43,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:04:43,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:04:43,436 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:04:43,436 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:04:43,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 38 states have internal predecessors, (46), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 14:04:43,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 64 transitions. [2022-04-28 14:04:43,437 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 64 transitions. Word has length 39 [2022-04-28 14:04:43,437 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:04:43,437 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 64 transitions. [2022-04-28 14:04:43,438 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:04:43,438 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 64 transitions. [2022-04-28 14:04:43,513 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:04:43,513 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-04-28 14:04:43,514 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 14:04:43,514 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:04:43,514 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:04:43,530 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 14:04:43,719 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:04:43,719 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:04:43,720 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:04:43,720 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 1 times [2022-04-28 14:04:43,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:04:43,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [754924308] [2022-04-28 14:04:43,720 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:04:43,720 INFO L85 PathProgramCache]: Analyzing trace with hash 844519116, now seen corresponding path program 2 times [2022-04-28 14:04:43,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:04:43,721 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1226991310] [2022-04-28 14:04:43,721 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:04:43,721 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:04:43,731 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:04:43,731 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1881778647] [2022-04-28 14:04:43,732 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:04:43,732 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:04:43,732 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:04:43,732 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:04:43,733 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 14:04:43,766 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:04:43,766 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:04:43,767 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 14:04:43,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:04:43,793 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:04:44,259 INFO L272 TraceCheckUtils]: 0: Hoare triple {2899#true} call ULTIMATE.init(); {2899#true} is VALID [2022-04-28 14:04:44,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {2899#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); {2899#true} is VALID [2022-04-28 14:04:44,260 INFO L290 TraceCheckUtils]: 2: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 14:04:44,260 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2899#true} {2899#true} #83#return; {2899#true} is VALID [2022-04-28 14:04:44,260 INFO L272 TraceCheckUtils]: 4: Hoare triple {2899#true} call #t~ret6 := main(); {2899#true} is VALID [2022-04-28 14:04:44,261 INFO L290 TraceCheckUtils]: 5: Hoare triple {2899#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; {2899#true} is VALID [2022-04-28 14:04:44,261 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-28 14:04:44,262 INFO L290 TraceCheckUtils]: 7: Hoare triple {2899#true} ~cond := #in~cond; {2925#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:04:44,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {2925#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2929#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:44,265 INFO L290 TraceCheckUtils]: 9: Hoare triple {2929#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2929#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:04:44,265 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2929#(not (= |assume_abort_if_not_#in~cond| 0))} {2899#true} #71#return; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:04:44,266 INFO L290 TraceCheckUtils]: 11: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:04:44,266 INFO L272 TraceCheckUtils]: 12: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-28 14:04:44,267 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-28 14:04:44,267 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-28 14:04:44,267 INFO L290 TraceCheckUtils]: 15: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 14:04:44,268 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2899#true} {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:04:44,268 INFO L272 TraceCheckUtils]: 17: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2899#true} is VALID [2022-04-28 14:04:44,268 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-28 14:04:44,268 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-28 14:04:44,268 INFO L290 TraceCheckUtils]: 20: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 14:04:44,268 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2899#true} {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:04:44,268 INFO L290 TraceCheckUtils]: 22: Hoare triple {2936#(and (<= 0 main_~x~0) (<= main_~x~0 100))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:44,269 INFO L290 TraceCheckUtils]: 23: Hoare triple {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:44,269 INFO L272 TraceCheckUtils]: 24: Hoare triple {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= 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)); {2899#true} is VALID [2022-04-28 14:04:44,269 INFO L290 TraceCheckUtils]: 25: Hoare triple {2899#true} ~cond := #in~cond; {2983#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:44,269 INFO L290 TraceCheckUtils]: 26: Hoare triple {2983#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:04:44,270 INFO L290 TraceCheckUtils]: 27: Hoare triple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:04:44,270 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} {2973#(and (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:44,271 INFO L290 TraceCheckUtils]: 29: Hoare triple {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:44,271 INFO L290 TraceCheckUtils]: 30: Hoare triple {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= 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)); {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:44,273 INFO L290 TraceCheckUtils]: 31: Hoare triple {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= 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)); {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:44,277 INFO L290 TraceCheckUtils]: 32: Hoare triple {2994#(and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= 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; {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:44,278 INFO L290 TraceCheckUtils]: 33: Hoare triple {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:04:44,280 INFO L272 TraceCheckUtils]: 34: Hoare triple {3007#(and (= main_~b~0 (+ (- 1) main_~y~0)) (<= (mod main_~a~0 2) 0) (= main_~q~0 (+ (* main_~a~0 main_~p~0) (* main_~y~0 main_~x~0) (* (- 1) main_~a~0 main_~p~0 main_~y~0))) (<= 0 main_~x~0) (<= main_~x~0 100) (= 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)); {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:04:44,280 INFO L290 TraceCheckUtils]: 35: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:04:44,280 INFO L290 TraceCheckUtils]: 36: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2900#false} is VALID [2022-04-28 14:04:44,280 INFO L290 TraceCheckUtils]: 37: Hoare triple {2900#false} assume !false; {2900#false} is VALID [2022-04-28 14:04:44,282 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 14:04:44,282 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:05:06,185 INFO L290 TraceCheckUtils]: 37: Hoare triple {2900#false} assume !false; {2900#false} is VALID [2022-04-28 14:05:06,185 INFO L290 TraceCheckUtils]: 36: Hoare triple {3018#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2900#false} is VALID [2022-04-28 14:05:06,186 INFO L290 TraceCheckUtils]: 35: Hoare triple {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3018#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:05:06,187 INFO L272 TraceCheckUtils]: 34: Hoare triple {3034#(= (+ 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)); {3014#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:05:06,187 INFO L290 TraceCheckUtils]: 33: Hoare triple {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:05:06,205 INFO L290 TraceCheckUtils]: 32: Hoare triple {3041#(or (= (* 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))))} 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; {3034#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:05:06,206 INFO L290 TraceCheckUtils]: 31: Hoare triple {3041#(or (= (* 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))))} 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)); {3041#(or (= (* 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))))} is VALID [2022-04-28 14:05:06,206 INFO L290 TraceCheckUtils]: 30: Hoare triple {3041#(or (= (* 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))))} 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)); {3041#(or (= (* 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))))} is VALID [2022-04-28 14:05:06,207 INFO L290 TraceCheckUtils]: 29: Hoare triple {3041#(or (= (* 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))))} assume !!(0 != ~a~0 && 0 != ~b~0); {3041#(or (= (* 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))))} is VALID [2022-04-28 14:05:06,208 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} {2899#true} #77#return; {3041#(or (= (* 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))))} is VALID [2022-04-28 14:05:06,208 INFO L290 TraceCheckUtils]: 27: Hoare triple {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:05:06,208 INFO L290 TraceCheckUtils]: 26: Hoare triple {3063#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2987#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:05:06,209 INFO L290 TraceCheckUtils]: 25: Hoare triple {2899#true} ~cond := #in~cond; {3063#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:05:06,209 INFO L272 TraceCheckUtils]: 24: Hoare triple {2899#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2899#true} is VALID [2022-04-28 14:05:06,209 INFO L290 TraceCheckUtils]: 23: Hoare triple {2899#true} assume !false; {2899#true} is VALID [2022-04-28 14:05:06,209 INFO L290 TraceCheckUtils]: 22: Hoare triple {2899#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2899#true} is VALID [2022-04-28 14:05:06,209 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2899#true} {2899#true} #75#return; {2899#true} is VALID [2022-04-28 14:05:06,209 INFO L290 TraceCheckUtils]: 20: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 14:05:06,209 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-28 14:05:06,209 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-28 14:05:06,209 INFO L272 TraceCheckUtils]: 17: Hoare triple {2899#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2899#true} is VALID [2022-04-28 14:05:06,209 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2899#true} {2899#true} #73#return; {2899#true} is VALID [2022-04-28 14:05:06,209 INFO L290 TraceCheckUtils]: 15: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 14:05:06,209 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-28 14:05:06,209 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-28 14:05:06,209 INFO L272 TraceCheckUtils]: 12: Hoare triple {2899#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L290 TraceCheckUtils]: 11: Hoare triple {2899#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2899#true} {2899#true} #71#return; {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L290 TraceCheckUtils]: 9: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L290 TraceCheckUtils]: 8: Hoare triple {2899#true} assume !(0 == ~cond); {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L290 TraceCheckUtils]: 7: Hoare triple {2899#true} ~cond := #in~cond; {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L290 TraceCheckUtils]: 5: Hoare triple {2899#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; {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {2899#true} call #t~ret6 := main(); {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2899#true} {2899#true} #83#return; {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {2899#true} assume true; {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {2899#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); {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L272 TraceCheckUtils]: 0: Hoare triple {2899#true} call ULTIMATE.init(); {2899#true} is VALID [2022-04-28 14:05:06,210 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:05:06,210 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:05:06,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1226991310] [2022-04-28 14:05:06,211 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:05:06,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1881778647] [2022-04-28 14:05:06,211 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1881778647] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:05:06,211 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:05:06,211 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-28 14:05:06,211 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:05:06,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [754924308] [2022-04-28 14:05:06,211 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [754924308] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:05:06,211 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:05:06,211 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 14:05:06,211 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1531286591] [2022-04-28 14:05:06,211 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:05:06,212 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 38 [2022-04-28 14:05:06,212 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:05:06,214 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:05:06,243 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:05:06,243 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 14:05:06,243 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:05:06,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 14:05:06,244 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-28 14:05:06,244 INFO L87 Difference]: Start difference. First operand 53 states and 64 transitions. Second operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:05:07,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:05:07,018 INFO L93 Difference]: Finished difference Result 78 states and 99 transitions. [2022-04-28 14:05:07,018 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 14:05:07,018 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 38 [2022-04-28 14:05:07,018 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:05:07,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:05:07,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2022-04-28 14:05:07,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:05:07,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 77 transitions. [2022-04-28 14:05:07,026 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 77 transitions. [2022-04-28 14:05:07,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:05:07,099 INFO L225 Difference]: With dead ends: 78 [2022-04-28 14:05:07,099 INFO L226 Difference]: Without dead ends: 65 [2022-04-28 14:05:07,099 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 61 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=57, Invalid=249, Unknown=0, NotChecked=0, Total=306 [2022-04-28 14:05:07,100 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 31 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 244 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 254 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 244 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 14:05:07,100 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 126 Invalid, 254 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 244 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 14:05:07,100 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-28 14:05:07,173 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 63. [2022-04-28 14:05:07,174 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:05:07,174 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:05:07,174 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:05:07,174 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:05:07,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:05:07,176 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-28 14:05:07,176 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2022-04-28 14:05:07,176 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:05:07,176 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:05:07,176 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 65 states. [2022-04-28 14:05:07,176 INFO L87 Difference]: Start difference. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 65 states. [2022-04-28 14:05:07,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:05:07,178 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-28 14:05:07,178 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 80 transitions. [2022-04-28 14:05:07,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:05:07,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:05:07,178 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:05:07,178 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:05:07,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:05:07,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-28 14:05:07,180 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 38 [2022-04-28 14:05:07,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:05:07,180 INFO L495 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-28 14:05:07,180 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 11 states have internal predecessors, (23), 4 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 14:05:07,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-28 14:05:07,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:05:07,278 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-28 14:05:07,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 14:05:07,278 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:05:07,278 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:05:07,304 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 14:05:07,494 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:05:07,494 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:05:07,495 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:05:07,495 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 1 times [2022-04-28 14:05:07,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:05:07,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2048522895] [2022-04-28 14:05:07,495 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:05:07,495 INFO L85 PathProgramCache]: Analyzing trace with hash 901777418, now seen corresponding path program 2 times [2022-04-28 14:05:07,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:05:07,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2024739563] [2022-04-28 14:05:07,495 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:05:07,495 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:05:07,510 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:05:07,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [33601920] [2022-04-28 14:05:07,510 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:05:07,510 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:05:07,510 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:05:07,518 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:05:07,519 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 14:05:07,611 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:05:07,611 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:05:07,612 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 14:05:07,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:05:07,621 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:05:07,822 INFO L272 TraceCheckUtils]: 0: Hoare triple {3559#true} call ULTIMATE.init(); {3559#true} is VALID [2022-04-28 14:05:07,822 INFO L290 TraceCheckUtils]: 1: Hoare triple {3559#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); {3559#true} is VALID [2022-04-28 14:05:07,822 INFO L290 TraceCheckUtils]: 2: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3559#true} {3559#true} #83#return; {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L272 TraceCheckUtils]: 4: Hoare triple {3559#true} call #t~ret6 := main(); {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L290 TraceCheckUtils]: 5: Hoare triple {3559#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; {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L272 TraceCheckUtils]: 6: Hoare triple {3559#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L290 TraceCheckUtils]: 7: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L290 TraceCheckUtils]: 8: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L290 TraceCheckUtils]: 9: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3559#true} {3559#true} #71#return; {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L290 TraceCheckUtils]: 11: Hoare triple {3559#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L272 TraceCheckUtils]: 12: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L290 TraceCheckUtils]: 13: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L290 TraceCheckUtils]: 14: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L290 TraceCheckUtils]: 15: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3559#true} {3559#true} #73#return; {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L272 TraceCheckUtils]: 17: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3559#true} is VALID [2022-04-28 14:05:07,823 INFO L290 TraceCheckUtils]: 18: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 14:05:07,824 INFO L290 TraceCheckUtils]: 19: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 14:05:07,824 INFO L290 TraceCheckUtils]: 20: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 14:05:07,824 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3559#true} {3559#true} #75#return; {3559#true} is VALID [2022-04-28 14:05:07,824 INFO L290 TraceCheckUtils]: 22: Hoare triple {3559#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:05:07,824 INFO L290 TraceCheckUtils]: 23: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:05:07,824 INFO L272 TraceCheckUtils]: 24: Hoare triple {3630#(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)); {3559#true} is VALID [2022-04-28 14:05:07,825 INFO L290 TraceCheckUtils]: 25: Hoare triple {3559#true} ~cond := #in~cond; {3640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:05:07,825 INFO L290 TraceCheckUtils]: 26: Hoare triple {3640#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:05:07,825 INFO L290 TraceCheckUtils]: 27: Hoare triple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:05:07,826 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:05:07,826 INFO L290 TraceCheckUtils]: 29: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:05:07,826 INFO L290 TraceCheckUtils]: 30: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= 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)); {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:05:07,827 INFO L290 TraceCheckUtils]: 31: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= 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)); {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:05:07,827 INFO L290 TraceCheckUtils]: 32: Hoare triple {3630#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= 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));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {3663#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:05:07,828 INFO L290 TraceCheckUtils]: 33: Hoare triple {3663#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} assume !false; {3663#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ main_~a~0 1) main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 14:05:07,830 INFO L272 TraceCheckUtils]: 34: Hoare triple {3663#(and (= main_~b~0 (+ (- 1) main_~y~0)) (= (+ main_~q~0 (* (- 1) main_~a~0 main_~p~0) (* (- 1) main_~b~0 main_~p~0) (* (- 1) main_~p~0)) 0) (= (+ main_~a~0 1) 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)); {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:05:07,831 INFO L290 TraceCheckUtils]: 35: Hoare triple {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:05:07,831 INFO L290 TraceCheckUtils]: 36: Hoare triple {3674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3560#false} is VALID [2022-04-28 14:05:07,831 INFO L290 TraceCheckUtils]: 37: Hoare triple {3560#false} assume !false; {3560#false} is VALID [2022-04-28 14:05:07,831 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:05:07,831 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:05:29,229 INFO L290 TraceCheckUtils]: 37: Hoare triple {3560#false} assume !false; {3560#false} is VALID [2022-04-28 14:05:29,240 INFO L290 TraceCheckUtils]: 36: Hoare triple {3674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3560#false} is VALID [2022-04-28 14:05:29,241 INFO L290 TraceCheckUtils]: 35: Hoare triple {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:05:29,241 INFO L272 TraceCheckUtils]: 34: Hoare triple {3690#(= (+ 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)); {3670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:05:29,242 INFO L290 TraceCheckUtils]: 33: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:05:29,270 INFO L290 TraceCheckUtils]: 32: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~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));~a~0 := ~a~0 - 1;~b~0 := ~b~0 - 1;~q~0 := ~q~0 + (1 + (~a~0 + ~b~0)) * ~p~0; {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:05:29,270 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~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)); {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:05:29,271 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~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)); {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:05:29,271 INFO L290 TraceCheckUtils]: 29: Hoare triple {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:05:29,272 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} {3559#true} #77#return; {3690#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:05:29,272 INFO L290 TraceCheckUtils]: 27: Hoare triple {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:05:29,272 INFO L290 TraceCheckUtils]: 26: Hoare triple {3718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3644#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:05:29,273 INFO L290 TraceCheckUtils]: 25: Hoare triple {3559#true} ~cond := #in~cond; {3718#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:05:29,273 INFO L272 TraceCheckUtils]: 24: Hoare triple {3559#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L290 TraceCheckUtils]: 23: Hoare triple {3559#true} assume !false; {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L290 TraceCheckUtils]: 22: Hoare triple {3559#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3559#true} {3559#true} #75#return; {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L290 TraceCheckUtils]: 20: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L290 TraceCheckUtils]: 19: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L290 TraceCheckUtils]: 18: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L272 TraceCheckUtils]: 17: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3559#true} {3559#true} #73#return; {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L290 TraceCheckUtils]: 15: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L290 TraceCheckUtils]: 14: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L290 TraceCheckUtils]: 13: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L272 TraceCheckUtils]: 12: Hoare triple {3559#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L290 TraceCheckUtils]: 11: Hoare triple {3559#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3559#true} {3559#true} #71#return; {3559#true} is VALID [2022-04-28 14:05:29,273 INFO L290 TraceCheckUtils]: 9: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 14:05:29,274 INFO L290 TraceCheckUtils]: 8: Hoare triple {3559#true} assume !(0 == ~cond); {3559#true} is VALID [2022-04-28 14:05:29,274 INFO L290 TraceCheckUtils]: 7: Hoare triple {3559#true} ~cond := #in~cond; {3559#true} is VALID [2022-04-28 14:05:29,274 INFO L272 TraceCheckUtils]: 6: Hoare triple {3559#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {3559#true} is VALID [2022-04-28 14:05:29,274 INFO L290 TraceCheckUtils]: 5: Hoare triple {3559#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; {3559#true} is VALID [2022-04-28 14:05:29,274 INFO L272 TraceCheckUtils]: 4: Hoare triple {3559#true} call #t~ret6 := main(); {3559#true} is VALID [2022-04-28 14:05:29,274 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3559#true} {3559#true} #83#return; {3559#true} is VALID [2022-04-28 14:05:29,274 INFO L290 TraceCheckUtils]: 2: Hoare triple {3559#true} assume true; {3559#true} is VALID [2022-04-28 14:05:29,274 INFO L290 TraceCheckUtils]: 1: Hoare triple {3559#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); {3559#true} is VALID [2022-04-28 14:05:29,274 INFO L272 TraceCheckUtils]: 0: Hoare triple {3559#true} call ULTIMATE.init(); {3559#true} is VALID [2022-04-28 14:05:29,274 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 14:05:29,274 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:05:29,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2024739563] [2022-04-28 14:05:29,274 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:05:29,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [33601920] [2022-04-28 14:05:29,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [33601920] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:05:29,275 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:05:29,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 10 [2022-04-28 14:05:29,275 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:05:29,275 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2048522895] [2022-04-28 14:05:29,275 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2048522895] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:05:29,275 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:05:29,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 14:05:29,275 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [996930901] [2022-04-28 14:05:29,275 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:05:29,275 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 38 [2022-04-28 14:05:29,276 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:05:29,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:05:29,302 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:05:29,302 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 14:05:29,302 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:05:29,302 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 14:05:29,302 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-28 14:05:29,302 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:05:29,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:05:29,865 INFO L93 Difference]: Finished difference Result 76 states and 94 transitions. [2022-04-28 14:05:29,865 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 14:05:29,866 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 38 [2022-04-28 14:05:29,866 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:05:29,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:05:29,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-04-28 14:05:29,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:05:29,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-04-28 14:05:29,868 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 61 transitions. [2022-04-28 14:05:29,915 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:05:29,916 INFO L225 Difference]: With dead ends: 76 [2022-04-28 14:05:29,916 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 14:05:29,916 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 65 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 14:05:29,917 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 16 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 14:05:29,917 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 120 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 14:05:29,917 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 14:05:29,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 63. [2022-04-28 14:05:29,993 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:05:29,993 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:05:29,994 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:05:29,994 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:05:29,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:05:29,995 INFO L93 Difference]: Finished difference Result 74 states and 92 transitions. [2022-04-28 14:05:29,995 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-28 14:05:29,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:05:29,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:05:29,996 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-28 14:05:29,996 INFO L87 Difference]: Start difference. First operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-28 14:05:29,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:05:29,997 INFO L93 Difference]: Finished difference Result 74 states and 92 transitions. [2022-04-28 14:05:29,997 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 92 transitions. [2022-04-28 14:05:29,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:05:29,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:05:29,998 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:05:29,998 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:05:29,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 46 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 14:05:29,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-28 14:05:29,999 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 38 [2022-04-28 14:05:29,999 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:05:29,999 INFO L495 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-28 14:05:29,999 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 14:05:30,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-28 14:05:30,121 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:05:30,121 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-28 14:05:30,122 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 14:05:30,122 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:05:30,122 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:05:30,127 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-28 14:05:30,326 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:05:30,326 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:05:30,326 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:05:30,326 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 1 times [2022-04-28 14:05:30,326 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:05:30,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [645633542] [2022-04-28 14:05:30,327 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:05:30,327 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 2 times [2022-04-28 14:05:30,327 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:05:30,327 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [863876463] [2022-04-28 14:05:30,327 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:05:30,327 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:05:30,355 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:05:30,355 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [403720487] [2022-04-28 14:05:30,355 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:05:30,355 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:05:30,355 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:05:30,364 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:05:30,365 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 14:05:30,399 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:05:30,399 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:05:30,400 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 14:05:30,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:05:30,430 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:05:30,964 INFO L272 TraceCheckUtils]: 0: Hoare triple {4226#true} call ULTIMATE.init(); {4226#true} is VALID [2022-04-28 14:05:30,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {4226#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); {4226#true} is VALID [2022-04-28 14:05:30,964 INFO L290 TraceCheckUtils]: 2: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-28 14:05:30,964 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4226#true} {4226#true} #83#return; {4226#true} is VALID [2022-04-28 14:05:30,964 INFO L272 TraceCheckUtils]: 4: Hoare triple {4226#true} call #t~ret6 := main(); {4226#true} is VALID [2022-04-28 14:05:30,964 INFO L290 TraceCheckUtils]: 5: Hoare triple {4226#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; {4226#true} is VALID [2022-04-28 14:05:30,964 INFO L272 TraceCheckUtils]: 6: Hoare triple {4226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-28 14:05:30,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {4226#true} ~cond := #in~cond; {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:05:30,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:05:30,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:05:30,966 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4226#true} #71#return; {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:05:30,966 INFO L290 TraceCheckUtils]: 11: Hoare triple {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:05:30,966 INFO L272 TraceCheckUtils]: 12: Hoare triple {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-28 14:05:30,966 INFO L290 TraceCheckUtils]: 13: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-28 14:05:30,966 INFO L290 TraceCheckUtils]: 14: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-28 14:05:30,967 INFO L290 TraceCheckUtils]: 15: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-28 14:05:30,967 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4226#true} {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #73#return; {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} is VALID [2022-04-28 14:05:30,967 INFO L272 TraceCheckUtils]: 17: Hoare triple {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4226#true} is VALID [2022-04-28 14:05:30,967 INFO L290 TraceCheckUtils]: 18: Hoare triple {4226#true} ~cond := #in~cond; {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 14:05:30,967 INFO L290 TraceCheckUtils]: 19: Hoare triple {4252#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:05:30,968 INFO L290 TraceCheckUtils]: 20: Hoare triple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:05:30,968 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4263#(and (<= 0 main_~x~0) (<= main_~x~0 100))} #75#return; {4297#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} is VALID [2022-04-28 14:05:30,969 INFO L290 TraceCheckUtils]: 22: Hoare triple {4297#(and (<= 0 main_~x~0) (<= main_~x~0 100) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:05:30,969 INFO L290 TraceCheckUtils]: 23: Hoare triple {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:05:30,969 INFO L272 TraceCheckUtils]: 24: Hoare triple {4301#(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)); {4226#true} is VALID [2022-04-28 14:05:30,969 INFO L290 TraceCheckUtils]: 25: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-28 14:05:30,969 INFO L290 TraceCheckUtils]: 26: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-28 14:05:30,969 INFO L290 TraceCheckUtils]: 27: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-28 14:05:30,970 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4226#true} {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 14:05:30,970 INFO L290 TraceCheckUtils]: 29: Hoare triple {4301#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:05:30,971 INFO L290 TraceCheckUtils]: 30: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~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; {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:05:30,971 INFO L290 TraceCheckUtils]: 31: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !false; {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:05:30,971 INFO L272 TraceCheckUtils]: 32: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 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)); {4226#true} is VALID [2022-04-28 14:05:30,971 INFO L290 TraceCheckUtils]: 33: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-28 14:05:30,971 INFO L290 TraceCheckUtils]: 34: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-28 14:05:30,971 INFO L290 TraceCheckUtils]: 35: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-28 14:05:30,972 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4226#true} {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} #77#return; {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 14:05:30,972 INFO L290 TraceCheckUtils]: 37: Hoare triple {4323#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {4227#false} is VALID [2022-04-28 14:05:30,972 INFO L272 TraceCheckUtils]: 38: Hoare triple {4227#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4227#false} is VALID [2022-04-28 14:05:30,972 INFO L290 TraceCheckUtils]: 39: Hoare triple {4227#false} ~cond := #in~cond; {4227#false} is VALID [2022-04-28 14:05:30,972 INFO L290 TraceCheckUtils]: 40: Hoare triple {4227#false} assume 0 == ~cond; {4227#false} is VALID [2022-04-28 14:05:30,972 INFO L290 TraceCheckUtils]: 41: Hoare triple {4227#false} assume !false; {4227#false} is VALID [2022-04-28 14:05:30,973 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 10 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 14:05:30,973 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:05:31,711 INFO L290 TraceCheckUtils]: 41: Hoare triple {4227#false} assume !false; {4227#false} is VALID [2022-04-28 14:05:31,711 INFO L290 TraceCheckUtils]: 40: Hoare triple {4227#false} assume 0 == ~cond; {4227#false} is VALID [2022-04-28 14:05:31,711 INFO L290 TraceCheckUtils]: 39: Hoare triple {4227#false} ~cond := #in~cond; {4227#false} is VALID [2022-04-28 14:05:31,711 INFO L272 TraceCheckUtils]: 38: Hoare triple {4227#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4227#false} is VALID [2022-04-28 14:05:31,711 INFO L290 TraceCheckUtils]: 37: Hoare triple {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {4227#false} is VALID [2022-04-28 14:05:31,712 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4226#true} {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} #77#return; {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-28 14:05:31,712 INFO L290 TraceCheckUtils]: 35: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-28 14:05:31,712 INFO L290 TraceCheckUtils]: 34: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-28 14:05:31,712 INFO L290 TraceCheckUtils]: 33: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-28 14:05:31,712 INFO L272 TraceCheckUtils]: 32: Hoare triple {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4226#true} is VALID [2022-04-28 14:05:31,713 INFO L290 TraceCheckUtils]: 31: Hoare triple {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} assume !false; {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-28 14:05:31,713 INFO L290 TraceCheckUtils]: 30: Hoare triple {4394#(or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0)) (and (not (<= (div main_~a~0 2) 0)) (not (= (div 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; {4372#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-28 14:05:31,714 INFO L290 TraceCheckUtils]: 29: Hoare triple {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {4394#(or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0)) (and (not (<= (div main_~a~0 2) 0)) (not (= (div main_~b~0 2) 0))))} is VALID [2022-04-28 14:05:31,715 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4226#true} {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} #77#return; {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-28 14:05:31,715 INFO L290 TraceCheckUtils]: 27: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-28 14:05:31,715 INFO L290 TraceCheckUtils]: 26: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-28 14:05:31,715 INFO L290 TraceCheckUtils]: 25: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-28 14:05:31,715 INFO L272 TraceCheckUtils]: 24: Hoare triple {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4226#true} is VALID [2022-04-28 14:05:31,715 INFO L290 TraceCheckUtils]: 23: Hoare triple {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} assume !false; {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-28 14:05:31,716 INFO L290 TraceCheckUtils]: 22: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4398#(or (not (= (mod main_~b~0 2) 0)) (= main_~a~0 0) (not (<= (div main_~a~0 2) 0)) (= main_~b~0 0) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-28 14:05:31,717 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4226#true} {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} #75#return; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-28 14:05:31,717 INFO L290 TraceCheckUtils]: 20: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-28 14:05:31,717 INFO L290 TraceCheckUtils]: 19: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-28 14:05:31,717 INFO L290 TraceCheckUtils]: 18: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-28 14:05:31,717 INFO L272 TraceCheckUtils]: 17: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4226#true} is VALID [2022-04-28 14:05:31,717 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4226#true} {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} #73#return; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-28 14:05:31,717 INFO L290 TraceCheckUtils]: 15: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-28 14:05:31,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {4226#true} assume !(0 == ~cond); {4226#true} is VALID [2022-04-28 14:05:31,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {4226#true} ~cond := #in~cond; {4226#true} is VALID [2022-04-28 14:05:31,718 INFO L272 TraceCheckUtils]: 12: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-28 14:05:31,718 INFO L290 TraceCheckUtils]: 11: Hoare triple {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-28 14:05:31,719 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} {4226#true} #71#return; {4420#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-28 14:05:31,719 INFO L290 TraceCheckUtils]: 9: Hoare triple {4256#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:05:31,719 INFO L290 TraceCheckUtils]: 8: Hoare triple {4466#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4256#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 14:05:31,720 INFO L290 TraceCheckUtils]: 7: Hoare triple {4226#true} ~cond := #in~cond; {4466#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 14:05:31,720 INFO L272 TraceCheckUtils]: 6: Hoare triple {4226#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4226#true} is VALID [2022-04-28 14:05:31,720 INFO L290 TraceCheckUtils]: 5: Hoare triple {4226#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; {4226#true} is VALID [2022-04-28 14:05:31,720 INFO L272 TraceCheckUtils]: 4: Hoare triple {4226#true} call #t~ret6 := main(); {4226#true} is VALID [2022-04-28 14:05:31,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4226#true} {4226#true} #83#return; {4226#true} is VALID [2022-04-28 14:05:31,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {4226#true} assume true; {4226#true} is VALID [2022-04-28 14:05:31,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {4226#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); {4226#true} is VALID [2022-04-28 14:05:31,720 INFO L272 TraceCheckUtils]: 0: Hoare triple {4226#true} call ULTIMATE.init(); {4226#true} is VALID [2022-04-28 14:05:31,720 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 14:05:31,720 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:05:31,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [863876463] [2022-04-28 14:05:31,720 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:05:31,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [403720487] [2022-04-28 14:05:31,721 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [403720487] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:05:31,721 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:05:31,721 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-28 14:05:31,721 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:05:31,721 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [645633542] [2022-04-28 14:05:31,721 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [645633542] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:05:31,721 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:05:31,721 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 14:05:31,721 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [593764769] [2022-04-28 14:05:31,721 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:05:31,722 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 42 [2022-04-28 14:05:31,722 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:05:31,722 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:05:31,749 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:05:31,749 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 14:05:31,749 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:05:31,749 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 14:05:31,749 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-28 14:05:31,750 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:05:32,118 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:05:32,118 INFO L93 Difference]: Finished difference Result 82 states and 103 transitions. [2022-04-28 14:05:32,119 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 14:05:32,119 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 42 [2022-04-28 14:05:32,119 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:05:32,119 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:05:32,120 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-28 14:05:32,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:05:32,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 57 transitions. [2022-04-28 14:05:32,121 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 57 transitions. [2022-04-28 14:05:32,159 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:05:32,160 INFO L225 Difference]: With dead ends: 82 [2022-04-28 14:05:32,160 INFO L226 Difference]: Without dead ends: 75 [2022-04-28 14:05:32,161 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 71 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2022-04-28 14:05:32,162 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 21 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 112 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:05:32,163 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 121 Invalid, 112 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 14:05:32,163 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-28 14:05:32,267 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 73. [2022-04-28 14:05:32,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:05:32,268 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 14:05:32,268 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 14:05:32,268 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 14:05:32,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:05:32,275 INFO L93 Difference]: Finished difference Result 75 states and 96 transitions. [2022-04-28 14:05:32,275 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 96 transitions. [2022-04-28 14:05:32,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:05:32,275 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:05:32,275 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 75 states. [2022-04-28 14:05:32,276 INFO L87 Difference]: Start difference. First operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) Second operand 75 states. [2022-04-28 14:05:32,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:05:32,278 INFO L93 Difference]: Finished difference Result 75 states and 96 transitions. [2022-04-28 14:05:32,278 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 96 transitions. [2022-04-28 14:05:32,279 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:05:32,279 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:05:32,279 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:05:32,279 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:05:32,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 51 states have (on average 1.3137254901960784) internal successors, (67), 54 states have internal predecessors, (67), 14 states have call successors, (14), 8 states have call predecessors, (14), 7 states have return successors, (12), 10 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 14:05:32,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 93 transitions. [2022-04-28 14:05:32,281 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 93 transitions. Word has length 42 [2022-04-28 14:05:32,281 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:05:32,282 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 93 transitions. [2022-04-28 14:05:32,282 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 14:05:32,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 93 transitions. [2022-04-28 14:05:32,419 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 14:05:32,420 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 93 transitions. [2022-04-28 14:05:32,420 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 14:05:32,420 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:05:32,420 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:05:32,436 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-28 14:05:32,620 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 14:05:32,621 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:05:32,621 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:05:32,621 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 1 times [2022-04-28 14:05:32,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:05:32,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1398620828] [2022-04-28 14:05:32,621 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:05:32,622 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 2 times [2022-04-28 14:05:32,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:05:32,622 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1557856007] [2022-04-28 14:05:32,622 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:05:32,622 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:05:32,631 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:05:32,631 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1408257276] [2022-04-28 14:05:32,631 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 14:05:32,631 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:05:32,631 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:05:32,632 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:05:32,633 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 14:05:32,673 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 14:05:32,673 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:05:32,674 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 14:05:32,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:05:32,681 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 14:05:42,923 INFO L272 TraceCheckUtils]: 0: Hoare triple {4956#true} call ULTIMATE.init(); {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {4956#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); {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L290 TraceCheckUtils]: 2: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4956#true} {4956#true} #83#return; {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L272 TraceCheckUtils]: 4: Hoare triple {4956#true} call #t~ret6 := main(); {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L290 TraceCheckUtils]: 5: Hoare triple {4956#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; {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L272 TraceCheckUtils]: 6: Hoare triple {4956#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L290 TraceCheckUtils]: 7: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4956#true} {4956#true} #71#return; {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L290 TraceCheckUtils]: 11: Hoare triple {4956#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L272 TraceCheckUtils]: 12: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L290 TraceCheckUtils]: 13: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-28 14:05:42,924 INFO L290 TraceCheckUtils]: 15: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4956#true} {4956#true} #73#return; {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L272 TraceCheckUtils]: 17: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L290 TraceCheckUtils]: 18: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L290 TraceCheckUtils]: 19: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L290 TraceCheckUtils]: 20: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4956#true} {4956#true} #75#return; {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L290 TraceCheckUtils]: 22: Hoare triple {4956#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L290 TraceCheckUtils]: 23: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L272 TraceCheckUtils]: 24: Hoare triple {4956#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L290 TraceCheckUtils]: 26: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4956#true} {4956#true} #77#return; {4956#true} is VALID [2022-04-28 14:05:42,925 INFO L290 TraceCheckUtils]: 29: Hoare triple {4956#true} assume !!(0 != ~a~0 && 0 != ~b~0); {5048#(not (= main_~b~0 0))} is VALID [2022-04-28 14:05:42,926 INFO L290 TraceCheckUtils]: 30: Hoare triple {5048#(not (= 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)); {5048#(not (= main_~b~0 0))} is VALID [2022-04-28 14:05:42,926 INFO L290 TraceCheckUtils]: 31: Hoare triple {5048#(not (= 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);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {5048#(not (= main_~b~0 0))} is VALID [2022-04-28 14:05:42,926 INFO L290 TraceCheckUtils]: 32: Hoare triple {5048#(not (= main_~b~0 0))} assume !false; {5048#(not (= main_~b~0 0))} is VALID [2022-04-28 14:05:42,926 INFO L272 TraceCheckUtils]: 33: Hoare triple {5048#(not (= main_~b~0 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-28 14:05:42,927 INFO L290 TraceCheckUtils]: 34: Hoare triple {4956#true} ~cond := #in~cond; {5064#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:05:42,927 INFO L290 TraceCheckUtils]: 35: Hoare triple {5064#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:05:42,927 INFO L290 TraceCheckUtils]: 36: Hoare triple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:05:44,929 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} {5048#(not (= main_~b~0 0))} #77#return; {5075#(and (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)) (not (= main_~b~0 0)))} is UNKNOWN [2022-04-28 14:05:44,930 INFO L290 TraceCheckUtils]: 38: Hoare triple {5075#(and (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)) (not (= main_~b~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:05:44,931 INFO L272 TraceCheckUtils]: 39: Hoare triple {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:05:44,931 INFO L290 TraceCheckUtils]: 40: Hoare triple {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5087#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:05:44,931 INFO L290 TraceCheckUtils]: 41: Hoare triple {5087#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4957#false} is VALID [2022-04-28 14:05:44,931 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#false} assume !false; {4957#false} is VALID [2022-04-28 14:05:44,931 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 14:05:44,932 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 14:06:19,388 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#false} assume !false; {4957#false} is VALID [2022-04-28 14:06:19,388 INFO L290 TraceCheckUtils]: 41: Hoare triple {5087#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4957#false} is VALID [2022-04-28 14:06:19,388 INFO L290 TraceCheckUtils]: 40: Hoare triple {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5087#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 14:06:19,389 INFO L272 TraceCheckUtils]: 39: Hoare triple {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5083#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 14:06:19,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {5106#(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); {5079#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 14:06:19,391 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} {4956#true} #77#return; {5106#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-28 14:06:19,391 INFO L290 TraceCheckUtils]: 36: Hoare triple {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:06:19,392 INFO L290 TraceCheckUtils]: 35: Hoare triple {5119#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5068#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 14:06:19,392 INFO L290 TraceCheckUtils]: 34: Hoare triple {4956#true} ~cond := #in~cond; {5119#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 14:06:19,392 INFO L272 TraceCheckUtils]: 33: Hoare triple {4956#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-28 14:06:19,392 INFO L290 TraceCheckUtils]: 32: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-28 14:06:19,392 INFO L290 TraceCheckUtils]: 31: Hoare triple {4956#true} 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; {4956#true} is VALID [2022-04-28 14:06:19,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {4956#true} 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)); {4956#true} is VALID [2022-04-28 14:06:19,392 INFO L290 TraceCheckUtils]: 29: Hoare triple {4956#true} assume !!(0 != ~a~0 && 0 != ~b~0); {4956#true} is VALID [2022-04-28 14:06:19,392 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4956#true} {4956#true} #77#return; {4956#true} is VALID [2022-04-28 14:06:19,392 INFO L290 TraceCheckUtils]: 27: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 26: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 25: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L272 TraceCheckUtils]: 24: Hoare triple {4956#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 23: Hoare triple {4956#true} assume !false; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 22: Hoare triple {4956#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4956#true} {4956#true} #75#return; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 20: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 19: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 18: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L272 TraceCheckUtils]: 17: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4956#true} {4956#true} #73#return; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 15: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 14: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 13: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L272 TraceCheckUtils]: 12: Hoare triple {4956#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {4956#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4956#true} {4956#true} #71#return; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-28 14:06:19,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {4956#true} assume !(0 == ~cond); {4956#true} is VALID [2022-04-28 14:06:19,394 INFO L290 TraceCheckUtils]: 7: Hoare triple {4956#true} ~cond := #in~cond; {4956#true} is VALID [2022-04-28 14:06:19,394 INFO L272 TraceCheckUtils]: 6: Hoare triple {4956#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 100 then 1 else 0)); {4956#true} is VALID [2022-04-28 14:06:19,394 INFO L290 TraceCheckUtils]: 5: Hoare triple {4956#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; {4956#true} is VALID [2022-04-28 14:06:19,394 INFO L272 TraceCheckUtils]: 4: Hoare triple {4956#true} call #t~ret6 := main(); {4956#true} is VALID [2022-04-28 14:06:19,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4956#true} {4956#true} #83#return; {4956#true} is VALID [2022-04-28 14:06:19,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {4956#true} assume true; {4956#true} is VALID [2022-04-28 14:06:19,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {4956#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); {4956#true} is VALID [2022-04-28 14:06:19,394 INFO L272 TraceCheckUtils]: 0: Hoare triple {4956#true} call ULTIMATE.init(); {4956#true} is VALID [2022-04-28 14:06:19,394 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 14:06:19,394 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 14:06:19,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1557856007] [2022-04-28 14:06:19,394 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 14:06:19,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1408257276] [2022-04-28 14:06:19,394 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1408257276] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 14:06:19,394 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 14:06:19,394 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-28 14:06:19,395 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 14:06:19,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1398620828] [2022-04-28 14:06:19,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1398620828] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 14:06:19,395 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 14:06:19,395 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 14:06:19,395 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [851516868] [2022-04-28 14:06:19,395 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 14:06:19,395 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 43 [2022-04-28 14:06:19,395 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 14:06:19,395 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:06:21,423 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:21,423 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 14:06:21,423 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:21,423 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 14:06:21,424 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 14:06:21,424 INFO L87 Difference]: Start difference. First operand 73 states and 93 transitions. Second operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:06:24,772 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 14:06:27,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:27,481 INFO L93 Difference]: Finished difference Result 86 states and 110 transitions. [2022-04-28 14:06:27,481 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 14:06:27,481 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 43 [2022-04-28 14:06:27,481 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 14:06:27,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:06:27,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-28 14:06:27,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:06:27,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 51 transitions. [2022-04-28 14:06:27,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 51 transitions. [2022-04-28 14:06:29,520 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 50 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:29,521 INFO L225 Difference]: With dead ends: 86 [2022-04-28 14:06:29,521 INFO L226 Difference]: Without dead ends: 79 [2022-04-28 14:06:29,521 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 75 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-04-28 14:06:29,521 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 15 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 152 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 152 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.1s IncrementalHoareTripleChecker+Time [2022-04-28 14:06:29,522 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 153 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 152 Invalid, 1 Unknown, 0 Unchecked, 4.1s Time] [2022-04-28 14:06:29,522 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-28 14:06:29,612 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 68. [2022-04-28 14:06:29,612 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 14:06:29,612 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 14:06:29,612 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 14:06:29,612 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 14:06:29,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:29,614 INFO L93 Difference]: Finished difference Result 79 states and 101 transitions. [2022-04-28 14:06:29,614 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 101 transitions. [2022-04-28 14:06:29,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:06:29,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:06:29,614 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-28 14:06:29,614 INFO L87 Difference]: Start difference. First operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) Second operand 79 states. [2022-04-28 14:06:29,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 14:06:29,615 INFO L93 Difference]: Finished difference Result 79 states and 101 transitions. [2022-04-28 14:06:29,615 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 101 transitions. [2022-04-28 14:06:29,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 14:06:29,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 14:06:29,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 14:06:29,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 14:06:29,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 50 states have internal predecessors, (59), 13 states have call successors, (13), 8 states have call predecessors, (13), 7 states have return successors, (11), 9 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 14:06:29,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 83 transitions. [2022-04-28 14:06:29,617 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 83 transitions. Word has length 43 [2022-04-28 14:06:29,617 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 14:06:29,617 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 83 transitions. [2022-04-28 14:06:29,617 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 14:06:29,617 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 83 transitions. [2022-04-28 14:06:31,767 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 82 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 14:06:31,767 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 83 transitions. [2022-04-28 14:06:31,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 14:06:31,767 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 14:06:31,767 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 14:06:31,783 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 14:06:31,968 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 14:06:31,968 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 14:06:31,968 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 14:06:31,968 INFO L85 PathProgramCache]: Analyzing trace with hash 1139704970, now seen corresponding path program 3 times [2022-04-28 14:06:31,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 14:06:31,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2050201790] [2022-04-28 14:06:31,969 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 14:06:31,969 INFO L85 PathProgramCache]: Analyzing trace with hash 1139704970, now seen corresponding path program 4 times [2022-04-28 14:06:31,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 14:06:31,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [233570802] [2022-04-28 14:06:31,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 14:06:31,969 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 14:06:31,978 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 14:06:31,978 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [916473300] [2022-04-28 14:06:31,978 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 14:06:31,978 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 14:06:31,978 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 14:06:31,979 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 14:06:31,999 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 14:06:32,039 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 14:06:32,040 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 14:06:32,040 INFO L263 TraceCheckSpWp]: Trace formula consists of 97 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 14:06:32,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 14:06:32,055 INFO L286 TraceCheckSpWp]: Computing forward predicates...