/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 07:22:50,757 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 07:22:50,758 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 07:22:50,782 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 07:22:50,783 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 07:22:50,783 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 07:22:50,788 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 07:22:50,790 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 07:22:50,791 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 07:22:50,791 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 07:22:50,792 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 07:22:50,792 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 07:22:50,792 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 07:22:50,793 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 07:22:50,794 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 07:22:50,794 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 07:22:50,795 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 07:22:50,795 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 07:22:50,796 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 07:22:50,797 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 07:22:50,798 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 07:22:50,804 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 07:22:50,808 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 07:22:50,809 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 07:22:50,810 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 07:22:50,814 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 07:22:50,814 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 07:22:50,814 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 07:22:50,815 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 07:22:50,815 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 07:22:50,816 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 07:22:50,816 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 07:22:50,816 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 07:22:50,817 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 07:22:50,817 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 07:22:50,817 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 07:22:50,818 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 07:22:50,818 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 07:22:50,818 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 07:22:50,818 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 07:22:50,819 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 07:22:50,823 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 07:22:50,824 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 07:22:50,833 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 07:22:50,833 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 07:22:50,834 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 07:22:50,834 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 07:22:50,834 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 07:22:50,834 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 07:22:50,834 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 07:22:50,834 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 07:22:50,834 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 07:22:50,834 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 07:22:50,834 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 07:22:50,834 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 07:22:50,834 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 07:22:50,835 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 07:22:50,835 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 07:22:50,835 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 07:22:50,835 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 07:22:50,835 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 07:22:50,835 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:22:50,835 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 07:22:50,835 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 07:22:50,835 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 07:22:50,835 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 07:22:50,836 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 07:22:50,836 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 07:22:50,836 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 07:22:50,999 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 07:22:51,028 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 07:22:51,029 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 07:22:51,030 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 07:22:51,031 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 07:22:51,031 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound50.c [2022-04-28 07:22:51,074 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/421673bdb/e2fc91b6c67e4ff1972c1a7a8ac8477d/FLAG1a95bdef1 [2022-04-28 07:22:51,478 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 07:22:51,479 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_valuebound50.c [2022-04-28 07:22:51,486 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/421673bdb/e2fc91b6c67e4ff1972c1a7a8ac8477d/FLAG1a95bdef1 [2022-04-28 07:22:51,496 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/421673bdb/e2fc91b6c67e4ff1972c1a7a8ac8477d [2022-04-28 07:22:51,500 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 07:22:51,501 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 07:22:51,502 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 07:22:51,502 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 07:22:51,504 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 07:22:51,505 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:22:51" (1/1) ... [2022-04-28 07:22:51,506 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3d604c9f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:51, skipping insertion in model container [2022-04-28 07:22:51,506 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:22:51" (1/1) ... [2022-04-28 07:22:51,510 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 07:22:51,519 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 07:22:51,630 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_valuebound50.c[524,537] [2022-04-28 07:22:51,661 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:22:51,667 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 07:22:51,677 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_valuebound50.c[524,537] [2022-04-28 07:22:51,685 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:22:51,694 INFO L208 MainTranslator]: Completed translation [2022-04-28 07:22:51,694 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:51 WrapperNode [2022-04-28 07:22:51,694 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 07:22:51,695 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 07:22:51,695 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 07:22:51,695 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 07:22:51,703 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:51" (1/1) ... [2022-04-28 07:22:51,703 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:51" (1/1) ... [2022-04-28 07:22:51,707 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:51" (1/1) ... [2022-04-28 07:22:51,708 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:51" (1/1) ... [2022-04-28 07:22:51,713 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:51" (1/1) ... [2022-04-28 07:22:51,715 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:51" (1/1) ... [2022-04-28 07:22:51,716 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:51" (1/1) ... [2022-04-28 07:22:51,717 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 07:22:51,718 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 07:22:51,718 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 07:22:51,718 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 07:22:51,720 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:51" (1/1) ... [2022-04-28 07:22:51,725 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:22:51,732 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:22:51,746 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 07:22:51,748 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 07:22:51,774 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 07:22:51,775 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 07:22:51,775 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 07:22:51,775 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 07:22:51,776 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 07:22:51,776 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 07:22:51,776 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 07:22:51,776 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 07:22:51,776 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 07:22:51,776 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 07:22:51,776 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 07:22:51,777 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 07:22:51,778 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 07:22:51,779 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 07:22:51,779 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 07:22:51,779 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 07:22:51,779 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 07:22:51,779 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 07:22:51,779 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 07:22:51,779 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 07:22:51,827 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 07:22:51,829 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 07:22:51,979 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 07:22:51,984 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 07:22:51,984 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 07:22:51,985 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:22:51 BoogieIcfgContainer [2022-04-28 07:22:51,985 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 07:22:51,986 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 07:22:51,987 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 07:22:51,989 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 07:22:51,989 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 07:22:51" (1/3) ... [2022-04-28 07:22:51,989 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@28884d62 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:22:51, skipping insertion in model container [2022-04-28 07:22:51,990 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:22:51" (2/3) ... [2022-04-28 07:22:51,990 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@28884d62 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:22:51, skipping insertion in model container [2022-04-28 07:22:51,990 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:22:51" (3/3) ... [2022-04-28 07:22:51,991 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_valuebound50.c [2022-04-28 07:22:52,000 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 07:22:52,000 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 07:22:52,029 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 07:22:52,033 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@6565e7e4, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@29b79e6 [2022-04-28 07:22:52,034 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 07:22:52,039 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 07:22:52,044 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:22:52,045 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:22:52,045 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 07:22:52,045 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:22:52,049 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:22:52,049 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 1 times [2022-04-28 07:22:52,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:22:52,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1960206252] [2022-04-28 07:22:52,072 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:22:52,072 INFO L85 PathProgramCache]: Analyzing trace with hash 1738134960, now seen corresponding path program 2 times [2022-04-28 07:22:52,075 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:22:52,075 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [360258968] [2022-04-28 07:22:52,075 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:22:52,076 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:22:52,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:52,235 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 07:22:52,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:52,255 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 07:22:52,256 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 07:22:52,256 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-28 07:22:52,256 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 07:22:52,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:52,285 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 07:22:52,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 07:22:52,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 07:22:52,286 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-28 07:22:52,286 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 07:22:52,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:52,294 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 07:22:52,295 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 07:22:52,295 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 07:22:52,295 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-28 07:22:52,296 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 07:22:52,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:52,302 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 07:22:52,303 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 07:22:52,303 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 07:22:52,303 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-28 07:22:52,304 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 07:22:52,304 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 07:22:52,305 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-28 07:22:52,306 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #83#return; {37#true} is VALID [2022-04-28 07:22:52,306 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-28 07:22:52,306 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 07:22:52,306 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {37#true} is VALID [2022-04-28 07:22:52,306 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 07:22:52,307 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 07:22:52,307 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 07:22:52,308 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #71#return; {38#false} is VALID [2022-04-28 07:22:52,308 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 07:22:52,308 INFO L272 TraceCheckUtils]: 12: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {37#true} is VALID [2022-04-28 07:22:52,308 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 07:22:52,309 INFO L290 TraceCheckUtils]: 14: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 07:22:52,309 INFO L290 TraceCheckUtils]: 15: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 07:22:52,310 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38#false} {38#false} #73#return; {38#false} is VALID [2022-04-28 07:22:52,310 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 07:22:52,310 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-28 07:22:52,311 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-28 07:22:52,311 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-28 07:22:52,311 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38#false} {38#false} #75#return; {38#false} is VALID [2022-04-28 07:22:52,312 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 07:22:52,312 INFO L290 TraceCheckUtils]: 23: Hoare triple {38#false} assume !true; {38#false} is VALID [2022-04-28 07:22:52,312 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 07:22:52,313 INFO L290 TraceCheckUtils]: 25: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-28 07:22:52,313 INFO L290 TraceCheckUtils]: 26: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-28 07:22:52,313 INFO L290 TraceCheckUtils]: 27: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-28 07:22:52,314 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 07:22:52,314 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:22:52,314 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [360258968] [2022-04-28 07:22:52,315 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [360258968] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:22:52,315 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:22:52,315 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:22:52,319 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:22:52,320 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1960206252] [2022-04-28 07:22:52,320 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1960206252] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:22:52,321 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:22:52,321 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:22:52,321 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [214895167] [2022-04-28 07:22:52,322 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:22:52,327 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 07:22:52,329 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:22:52,331 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 07:22:52,364 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:22:52,365 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 07:22:52,365 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:22:52,390 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 07:22:52,391 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 07:22:52,393 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 07:22:52,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:22:52,511 INFO L93 Difference]: Finished difference Result 61 states and 88 transitions. [2022-04-28 07:22:52,511 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 07:22:52,512 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 07:22:52,512 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:22:52,513 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 07:22:52,518 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-28 07:22:52,518 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 07:22:52,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 88 transitions. [2022-04-28 07:22:52,522 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 88 transitions. [2022-04-28 07:22:52,605 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 07:22:52,615 INFO L225 Difference]: With dead ends: 61 [2022-04-28 07:22:52,615 INFO L226 Difference]: Without dead ends: 29 [2022-04-28 07:22:52,617 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 07:22:52,619 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 07:22:52,620 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 07:22:52,630 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-28 07:22:52,640 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-28 07:22:52,640 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:22:52,641 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 07:22:52,641 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 07:22:52,641 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 07:22:52,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:22:52,644 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-28 07:22:52,644 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 07:22:52,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:22:52,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:22:52,645 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 07:22:52,646 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 07:22:52,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:22:52,648 INFO L93 Difference]: Finished difference Result 29 states and 36 transitions. [2022-04-28 07:22:52,648 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 07:22:52,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:22:52,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:22:52,649 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:22:52,649 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:22:52,649 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 07:22:52,651 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 36 transitions. [2022-04-28 07:22:52,652 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 36 transitions. Word has length 28 [2022-04-28 07:22:52,652 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:22:52,652 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 36 transitions. [2022-04-28 07:22:52,653 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 07:22:52,653 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 36 transitions. [2022-04-28 07:22:52,686 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 07:22:52,687 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 36 transitions. [2022-04-28 07:22:52,687 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:22:52,687 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:22:52,687 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 07:22:52,688 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 07:22:52,688 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:22:52,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:22:52,688 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 1 times [2022-04-28 07:22:52,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:22:52,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [933529792] [2022-04-28 07:22:52,689 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:22:52,689 INFO L85 PathProgramCache]: Analyzing trace with hash 567203544, now seen corresponding path program 2 times [2022-04-28 07:22:52,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:22:52,690 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1303533026] [2022-04-28 07:22:52,690 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:22:52,690 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:22:52,707 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:22:52,707 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1732541972] [2022-04-28 07:22:52,707 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:22:52,707 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:22:52,708 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:22:52,739 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 07:22:52,765 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 07:22:52,819 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 07:22:52,820 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:22:52,821 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 07:22:52,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:52,849 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:22:53,034 INFO L272 TraceCheckUtils]: 0: Hoare triple {295#true} call ULTIMATE.init(); {295#true} is VALID [2022-04-28 07:22:53,034 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 07:22:53,034 INFO L290 TraceCheckUtils]: 2: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 07:22:53,035 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {295#true} {295#true} #83#return; {295#true} is VALID [2022-04-28 07:22:53,035 INFO L272 TraceCheckUtils]: 4: Hoare triple {295#true} call #t~ret6 := main(); {295#true} is VALID [2022-04-28 07:22:53,035 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 07:22:53,035 INFO L272 TraceCheckUtils]: 6: Hoare triple {295#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {295#true} is VALID [2022-04-28 07:22:53,035 INFO L290 TraceCheckUtils]: 7: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 07:22:53,035 INFO L290 TraceCheckUtils]: 8: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 07:22:53,035 INFO L290 TraceCheckUtils]: 9: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 07:22:53,036 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {295#true} {295#true} #71#return; {295#true} is VALID [2022-04-28 07:22:53,036 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 07:22:53,036 INFO L272 TraceCheckUtils]: 12: Hoare triple {295#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {295#true} is VALID [2022-04-28 07:22:53,036 INFO L290 TraceCheckUtils]: 13: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 07:22:53,036 INFO L290 TraceCheckUtils]: 14: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 07:22:53,036 INFO L290 TraceCheckUtils]: 15: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 07:22:53,036 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {295#true} {295#true} #73#return; {295#true} is VALID [2022-04-28 07:22:53,036 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 07:22:53,037 INFO L290 TraceCheckUtils]: 18: Hoare triple {295#true} ~cond := #in~cond; {295#true} is VALID [2022-04-28 07:22:53,037 INFO L290 TraceCheckUtils]: 19: Hoare triple {295#true} assume !(0 == ~cond); {295#true} is VALID [2022-04-28 07:22:53,037 INFO L290 TraceCheckUtils]: 20: Hoare triple {295#true} assume true; {295#true} is VALID [2022-04-28 07:22:53,037 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {295#true} {295#true} #75#return; {295#true} is VALID [2022-04-28 07:22:53,038 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 07:22:53,038 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 07:22:53,039 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 07:22:53,040 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 07:22:53,040 INFO L290 TraceCheckUtils]: 26: Hoare triple {377#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {296#false} is VALID [2022-04-28 07:22:53,040 INFO L290 TraceCheckUtils]: 27: Hoare triple {296#false} assume !false; {296#false} is VALID [2022-04-28 07:22:53,040 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 07:22:53,041 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:22:53,041 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:22:53,041 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1303533026] [2022-04-28 07:22:53,041 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:22:53,041 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1732541972] [2022-04-28 07:22:53,041 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1732541972] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:22:53,041 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:22:53,041 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:22:53,042 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:22:53,042 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [933529792] [2022-04-28 07:22:53,042 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [933529792] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:22:53,042 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:22:53,043 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:22:53,043 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [433626352] [2022-04-28 07:22:53,043 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:22:53,043 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 07:22:53,043 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:22:53,044 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 07:22:53,059 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 07:22:53,059 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:22:53,059 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:22:53,059 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:22:53,060 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 07:22:53,060 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 07:22:53,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:22:53,214 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-28 07:22:53,214 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 07:22:53,214 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 07:22:53,215 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:22:53,215 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 07:22:53,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 07:22:53,216 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 07:22:53,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-28 07:22:53,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-28 07:22:53,262 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 07:22:53,264 INFO L225 Difference]: With dead ends: 43 [2022-04-28 07:22:53,264 INFO L226 Difference]: Without dead ends: 41 [2022-04-28 07:22:53,264 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 07:22:53,265 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 07:22:53,265 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 07:22:53,266 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-28 07:22:53,274 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 35. [2022-04-28 07:22:53,274 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:22:53,274 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 07:22:53,275 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 07:22:53,275 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 07:22:53,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:22:53,277 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 07:22:53,277 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 07:22:53,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:22:53,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:22:53,278 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 07:22:53,278 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 07:22:53,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:22:53,280 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-28 07:22:53,280 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-28 07:22:53,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:22:53,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:22:53,281 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:22:53,281 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:22:53,281 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 07:22:53,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 42 transitions. [2022-04-28 07:22:53,282 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 42 transitions. Word has length 28 [2022-04-28 07:22:53,282 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:22:53,283 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 42 transitions. [2022-04-28 07:22:53,283 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 07:22:53,283 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 42 transitions. [2022-04-28 07:22:53,320 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 07:22:53,320 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 42 transitions. [2022-04-28 07:22:53,321 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 07:22:53,321 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:22:53,321 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 07:22:53,339 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-28 07:22:53,540 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 07:22:53,541 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:22:53,541 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:22:53,541 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 1 times [2022-04-28 07:22:53,541 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:22:53,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1740704446] [2022-04-28 07:22:53,542 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:22:53,542 INFO L85 PathProgramCache]: Analyzing trace with hash -1139707498, now seen corresponding path program 2 times [2022-04-28 07:22:53,542 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:22:53,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1303194238] [2022-04-28 07:22:53,542 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:22:53,542 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:22:53,568 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:22:53,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1469319911] [2022-04-28 07:22:53,569 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:22:53,569 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:22:53,569 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:22:53,572 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 07:22:53,573 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 07:22:53,635 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:22:53,636 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:22:53,637 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 07:22:53,646 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:22:53,647 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:23:02,969 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-28 07:23:02,969 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 07:23:02,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 07:23:02,969 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-28 07:23:02,969 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-28 07:23:02,969 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 07:23:02,970 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {623#true} is VALID [2022-04-28 07:23:02,970 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 07:23:02,970 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 07:23:02,971 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 07:23:02,971 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 50))} is VALID [2022-04-28 07:23:02,972 INFO L290 TraceCheckUtils]: 11: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 50))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {660#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:23:02,972 INFO L272 TraceCheckUtils]: 12: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {623#true} is VALID [2022-04-28 07:23:02,972 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 07:23:02,972 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 07:23:02,972 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 07:23:02,973 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {660#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #73#return; {660#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:23:02,973 INFO L272 TraceCheckUtils]: 17: Hoare triple {660#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-28 07:23:02,975 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 07:23:02,975 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 07:23:02,976 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 07:23:02,976 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {653#(not (= |assume_abort_if_not_#in~cond| 0))} {660#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #75#return; {694#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0))} is VALID [2022-04-28 07:23:02,977 INFO L290 TraceCheckUtils]: 22: Hoare triple {694#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 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_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:23:02,977 INFO L290 TraceCheckUtils]: 23: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !false; {698#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:23:02,977 INFO L272 TraceCheckUtils]: 24: Hoare triple {698#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 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 07:23:02,977 INFO L290 TraceCheckUtils]: 25: Hoare triple {623#true} ~cond := #in~cond; {708#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:23:02,978 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 07:23:02,978 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 07:23:04,981 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {712#(not (= |__VERIFIER_assert_#in~cond| 0))} {698#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 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_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is UNKNOWN [2022-04-28 07:23:04,982 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_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 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 07:23:04,983 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 07:23:04,983 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 07:23:04,983 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-28 07:23:04,984 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-28 07:23:04,984 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 07:23:04,984 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:23:39,046 INFO L290 TraceCheckUtils]: 33: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-28 07:23:39,047 INFO L290 TraceCheckUtils]: 32: Hoare triple {731#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-28 07:23:39,048 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 07:23:39,049 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 07:23:39,049 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 07:23:39,051 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 07:23:39,051 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 07:23:39,052 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 07:23:39,052 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 07:23:39,052 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 07:23:39,052 INFO L290 TraceCheckUtils]: 23: Hoare triple {623#true} assume !false; {623#true} is VALID [2022-04-28 07:23:39,053 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 07:23:39,053 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {623#true} {623#true} #75#return; {623#true} is VALID [2022-04-28 07:23:39,053 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 07:23:39,053 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 07:23:39,053 INFO L290 TraceCheckUtils]: 18: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 07:23:39,053 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 07:23:39,053 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {623#true} {623#true} #73#return; {623#true} is VALID [2022-04-28 07:23:39,053 INFO L290 TraceCheckUtils]: 15: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 07:23:39,054 INFO L290 TraceCheckUtils]: 14: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 07:23:39,054 INFO L290 TraceCheckUtils]: 13: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 07:23:39,054 INFO L272 TraceCheckUtils]: 12: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {623#true} is VALID [2022-04-28 07:23:39,054 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 07:23:39,054 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #71#return; {623#true} is VALID [2022-04-28 07:23:39,054 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 07:23:39,054 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-28 07:23:39,054 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-28 07:23:39,055 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {623#true} is VALID [2022-04-28 07:23:39,055 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 07:23:39,055 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-28 07:23:39,055 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #83#return; {623#true} is VALID [2022-04-28 07:23:39,055 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-28 07:23:39,055 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 07:23:39,056 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-28 07:23:39,056 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 07:23:39,056 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:23:39,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1303194238] [2022-04-28 07:23:39,056 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:23:39,056 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1469319911] [2022-04-28 07:23:39,057 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1469319911] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:23:39,057 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:23:39,057 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 16 [2022-04-28 07:23:39,057 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:23:39,057 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1740704446] [2022-04-28 07:23:39,057 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1740704446] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:23:39,057 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:23:39,058 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 07:23:39,058 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1699563778] [2022-04-28 07:23:39,058 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:23:39,058 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 07:23:39,059 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:23:39,059 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 07:23:41,089 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 07:23:41,090 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 07:23:41,090 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:23:41,090 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 07:23:41,090 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=195, Unknown=0, NotChecked=0, Total=240 [2022-04-28 07:23:41,091 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 07:23:43,628 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 07:23:47,175 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 07:23:47,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:23:47,366 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-28 07:23:47,366 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 07:23:47,367 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 07:23:47,367 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:23:47,367 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 07:23:47,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 07:23:47,369 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 07:23:47,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 07:23:47,370 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-28 07:23:47,418 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 07:23:47,419 INFO L225 Difference]: With dead ends: 47 [2022-04-28 07:23:47,419 INFO L226 Difference]: Without dead ends: 45 [2022-04-28 07:23:47,419 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 07:23:47,420 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 26 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 227 mSolverCounterSat, 10 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 239 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 227 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.9s IncrementalHoareTripleChecker+Time [2022-04-28 07:23:47,421 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 137 Invalid, 239 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 227 Invalid, 2 Unknown, 0 Unchecked, 4.9s Time] [2022-04-28 07:23:47,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-28 07:23:47,456 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 41. [2022-04-28 07:23:47,457 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:23:47,457 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 07:23:47,457 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 07:23:47,458 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 07:23:47,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:23:47,460 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 07:23:47,460 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 07:23:47,460 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:23:47,460 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:23:47,460 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 07:23:47,461 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 07:23:47,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:23:47,463 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 07:23:47,463 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 07:23:47,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:23:47,463 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:23:47,463 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:23:47,463 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:23:47,464 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 07:23:47,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-28 07:23:47,465 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 34 [2022-04-28 07:23:47,465 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:23:47,466 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-28 07:23:47,466 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 07:23:47,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-28 07:23:47,519 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 07:23:47,519 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-28 07:23:47,520 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-28 07:23:47,520 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:23:47,520 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 07:23:47,540 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 07:23:47,721 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 07:23:47,721 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:23:47,721 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:23:47,721 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 1 times [2022-04-28 07:23:47,721 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:23:47,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [127282445] [2022-04-28 07:23:47,722 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:23:47,722 INFO L85 PathProgramCache]: Analyzing trace with hash 412541489, now seen corresponding path program 2 times [2022-04-28 07:23:47,722 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:23:47,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1112546347] [2022-04-28 07:23:47,722 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:23:47,722 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:23:47,735 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:23:47,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1377509928] [2022-04-28 07:23:47,741 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:23:47,741 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:23:47,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:23:47,742 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 07:23:47,745 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 07:23:47,782 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:23:47,783 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:23:47,784 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 07:23:47,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:23:47,796 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:23:50,084 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-28 07:23:50,084 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 07:23:50,084 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:23:50,084 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-28 07:23:50,084 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-28 07:23:50,084 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 07:23:50,084 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {1116#true} is VALID [2022-04-28 07:23:50,085 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 07:23:50,085 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 07:23:50,085 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 07:23:50,086 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 50))} is VALID [2022-04-28 07:23:50,087 INFO L290 TraceCheckUtils]: 11: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 50))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:23:50,087 INFO L272 TraceCheckUtils]: 12: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {1116#true} is VALID [2022-04-28 07:23:50,087 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 07:23:50,087 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 07:23:50,087 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:23:50,087 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1153#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #73#return; {1153#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:23:50,088 INFO L272 TraceCheckUtils]: 17: Hoare triple {1153#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1116#true} is VALID [2022-04-28 07:23:50,088 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 07:23:50,088 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 07:23:50,089 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 07:23:50,089 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1146#(not (= |assume_abort_if_not_#in~cond| 0))} {1153#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #75#return; {1187#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0))} is VALID [2022-04-28 07:23:50,090 INFO L290 TraceCheckUtils]: 22: Hoare triple {1187#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 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_~x~0 50) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:23:50,090 INFO L290 TraceCheckUtils]: 23: Hoare triple {1191#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1191#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:23:50,090 INFO L272 TraceCheckUtils]: 24: Hoare triple {1191#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 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 07:23:50,090 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 07:23:50,091 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 07:23:50,094 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:23:50,097 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1116#true} {1191#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {1191#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:23:50,099 INFO L290 TraceCheckUtils]: 29: Hoare triple {1191#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 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_~x~0 50) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:23:50,101 INFO L290 TraceCheckUtils]: 30: Hoare triple {1191#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 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) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:23:50,101 INFO L290 TraceCheckUtils]: 31: Hoare triple {1216#(and (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} assume !false; {1216#(and (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:23:50,104 INFO L272 TraceCheckUtils]: 32: Hoare triple {1216#(and (= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (= main_~q~0 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (<= 1 main_~y~0) (= (mod main_~x~0 2) 0))} 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 07:23:50,104 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 07:23:50,104 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-28 07:23:50,104 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-28 07:23:50,105 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 07:23:50,106 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:24:51,022 INFO L290 TraceCheckUtils]: 35: Hoare triple {1117#false} assume !false; {1117#false} is VALID [2022-04-28 07:24:51,023 INFO L290 TraceCheckUtils]: 34: Hoare triple {1227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1117#false} is VALID [2022-04-28 07:24:51,024 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 07:24:51,024 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 07:24:51,025 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 07:24:51,029 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 07:24:51,029 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 07:24:51,030 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 07:24:51,030 INFO L290 TraceCheckUtils]: 27: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:24:51,030 INFO L290 TraceCheckUtils]: 26: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 07:24:51,031 INFO L290 TraceCheckUtils]: 25: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 07:24:51,031 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 07:24:51,031 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 07:24:51,035 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 07:24:51,036 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 07:24:51,036 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 07:24:51,036 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 07:24:51,037 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 07:24:51,037 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 07:24:51,037 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1116#true} {1116#true} #73#return; {1116#true} is VALID [2022-04-28 07:24:51,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:24:51,037 INFO L290 TraceCheckUtils]: 14: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 07:24:51,037 INFO L290 TraceCheckUtils]: 13: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 07:24:51,037 INFO L272 TraceCheckUtils]: 12: Hoare triple {1116#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {1116#true} is VALID [2022-04-28 07:24:51,037 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 07:24:51,038 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1116#true} {1116#true} #71#return; {1116#true} is VALID [2022-04-28 07:24:51,038 INFO L290 TraceCheckUtils]: 9: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:24:51,038 INFO L290 TraceCheckUtils]: 8: Hoare triple {1116#true} assume !(0 == ~cond); {1116#true} is VALID [2022-04-28 07:24:51,038 INFO L290 TraceCheckUtils]: 7: Hoare triple {1116#true} ~cond := #in~cond; {1116#true} is VALID [2022-04-28 07:24:51,038 INFO L272 TraceCheckUtils]: 6: Hoare triple {1116#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {1116#true} is VALID [2022-04-28 07:24:51,038 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 07:24:51,038 INFO L272 TraceCheckUtils]: 4: Hoare triple {1116#true} call #t~ret6 := main(); {1116#true} is VALID [2022-04-28 07:24:51,038 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1116#true} {1116#true} #83#return; {1116#true} is VALID [2022-04-28 07:24:51,038 INFO L290 TraceCheckUtils]: 2: Hoare triple {1116#true} assume true; {1116#true} is VALID [2022-04-28 07:24:51,038 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 07:24:51,039 INFO L272 TraceCheckUtils]: 0: Hoare triple {1116#true} call ULTIMATE.init(); {1116#true} is VALID [2022-04-28 07:24:51,039 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 07:24:51,039 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:51,039 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1112546347] [2022-04-28 07:24:51,039 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:51,039 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1377509928] [2022-04-28 07:24:51,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1377509928] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:24:51,039 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:24:51,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 07:24:51,040 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:51,040 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [127282445] [2022-04-28 07:24:51,040 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [127282445] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:51,040 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:51,040 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 07:24:51,040 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1743975395] [2022-04-28 07:24:51,040 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:51,041 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 07:24:51,041 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:51,041 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 07:24:51,069 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 07:24:51,070 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 07:24:51,070 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:51,070 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 07:24:51,070 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=143, Unknown=0, NotChecked=0, Total=182 [2022-04-28 07:24:51,070 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 07:24:51,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:51,941 INFO L93 Difference]: Finished difference Result 59 states and 75 transitions. [2022-04-28 07:24:51,941 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 07:24:51,942 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 07:24:51,942 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:51,943 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 07:24:51,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-28 07:24:51,959 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 07:24:51,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-28 07:24:51,963 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 69 transitions. [2022-04-28 07:24:52,020 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 07:24:52,022 INFO L225 Difference]: With dead ends: 59 [2022-04-28 07:24:52,022 INFO L226 Difference]: Without dead ends: 57 [2022-04-28 07:24:52,022 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 07:24:52,023 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 48 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 217 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.5s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:52,023 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.5s Time] [2022-04-28 07:24:52,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-28 07:24:52,087 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 48. [2022-04-28 07:24:52,087 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:52,087 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 07:24:52,088 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 07:24:52,088 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 07:24:52,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:52,090 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-28 07:24:52,090 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-28 07:24:52,090 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:52,090 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:52,090 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 07:24:52,091 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 07:24:52,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:52,109 INFO L93 Difference]: Finished difference Result 57 states and 73 transitions. [2022-04-28 07:24:52,109 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 73 transitions. [2022-04-28 07:24:52,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:52,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:52,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:52,113 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:52,113 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 07:24:52,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 57 transitions. [2022-04-28 07:24:52,115 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 57 transitions. Word has length 36 [2022-04-28 07:24:52,115 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:52,115 INFO L495 AbstractCegarLoop]: Abstraction has 48 states and 57 transitions. [2022-04-28 07:24:52,115 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 07:24:52,115 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 48 states and 57 transitions. [2022-04-28 07:24:52,184 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 07:24:52,185 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 57 transitions. [2022-04-28 07:24:52,186 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 07:24:52,186 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:52,187 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 07:24:52,221 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 07:24:52,403 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 07:24:52,404 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:52,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:52,404 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 1 times [2022-04-28 07:24:52,404 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:52,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1271747335] [2022-04-28 07:24:52,405 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:52,405 INFO L85 PathProgramCache]: Analyzing trace with hash 2032180221, now seen corresponding path program 2 times [2022-04-28 07:24:52,405 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:52,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [121056381] [2022-04-28 07:24:52,405 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:52,405 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:52,431 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:52,431 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1888795779] [2022-04-28 07:24:52,431 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:52,431 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:52,431 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:52,439 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 07:24:52,441 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 07:24:52,506 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:52,506 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:52,507 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-28 07:24:52,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:52,518 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:52,832 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-28 07:24:52,833 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 07:24:52,833 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:52,833 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-28 07:24:52,833 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-28 07:24:52,833 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 07:24:52,833 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {1677#true} is VALID [2022-04-28 07:24:52,833 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:52,833 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:52,833 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:52,834 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-28 07:24:52,834 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 07:24:52,834 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {1677#true} is VALID [2022-04-28 07:24:52,834 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:52,834 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:52,834 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:52,834 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-28 07:24:52,834 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 07:24:52,835 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1736#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:24:52,835 INFO L290 TraceCheckUtils]: 19: Hoare triple {1736#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1740#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:52,835 INFO L290 TraceCheckUtils]: 20: Hoare triple {1740#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1740#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:52,836 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1740#(not (= |assume_abort_if_not_#in~cond| 0))} {1677#true} #75#return; {1747#(<= 1 main_~y~0)} is VALID [2022-04-28 07:24:52,836 INFO L290 TraceCheckUtils]: 22: Hoare triple {1747#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1751#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:52,837 INFO L290 TraceCheckUtils]: 23: Hoare triple {1751#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1751#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:52,837 INFO L272 TraceCheckUtils]: 24: Hoare triple {1751#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 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)); {1677#true} is VALID [2022-04-28 07:24:52,837 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:52,837 INFO L290 TraceCheckUtils]: 26: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:52,837 INFO L290 TraceCheckUtils]: 27: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:52,837 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1677#true} {1751#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #77#return; {1751#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:52,838 INFO L290 TraceCheckUtils]: 29: Hoare triple {1751#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1751#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:52,838 INFO L290 TraceCheckUtils]: 30: Hoare triple {1751#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 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)); {1751#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:52,839 INFO L290 TraceCheckUtils]: 31: Hoare triple {1751#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~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; {1779#(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))) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:52,840 INFO L290 TraceCheckUtils]: 32: Hoare triple {1779#(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))) (<= 1 main_~y~0) (= main_~p~0 1))} assume !false; {1779#(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))) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 07:24:52,841 INFO L272 TraceCheckUtils]: 33: Hoare triple {1779#(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))) (<= 1 main_~y~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)); {1786#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:52,841 INFO L290 TraceCheckUtils]: 34: Hoare triple {1786#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1790#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:52,842 INFO L290 TraceCheckUtils]: 35: Hoare triple {1790#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-28 07:24:52,842 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-28 07:24:52,842 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 07:24:52,842 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:24:53,128 INFO L290 TraceCheckUtils]: 36: Hoare triple {1678#false} assume !false; {1678#false} is VALID [2022-04-28 07:24:53,129 INFO L290 TraceCheckUtils]: 35: Hoare triple {1790#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1678#false} is VALID [2022-04-28 07:24:53,129 INFO L290 TraceCheckUtils]: 34: Hoare triple {1786#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1790#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:53,130 INFO L272 TraceCheckUtils]: 33: Hoare triple {1806#(= (+ 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)); {1786#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:53,130 INFO L290 TraceCheckUtils]: 32: Hoare triple {1806#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !false; {1806#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:53,135 INFO L290 TraceCheckUtils]: 31: Hoare triple {1813#(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; {1806#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:24:53,135 INFO L290 TraceCheckUtils]: 30: Hoare triple {1813#(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)); {1813#(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 07:24:53,138 INFO L290 TraceCheckUtils]: 29: Hoare triple {1820#(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)) (= main_~b~0 0))} assume !!(0 != ~a~0 && 0 != ~b~0); {1813#(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 07:24:53,139 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1677#true} {1820#(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)) (= main_~b~0 0))} #77#return; {1820#(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)) (= main_~b~0 0))} is VALID [2022-04-28 07:24:53,139 INFO L290 TraceCheckUtils]: 27: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:53,139 INFO L290 TraceCheckUtils]: 26: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:53,139 INFO L290 TraceCheckUtils]: 25: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:53,140 INFO L272 TraceCheckUtils]: 24: Hoare triple {1820#(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)) (= main_~b~0 0))} 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 07:24:53,141 INFO L290 TraceCheckUtils]: 23: Hoare triple {1820#(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)) (= main_~b~0 0))} assume !false; {1820#(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)) (= main_~b~0 0))} is VALID [2022-04-28 07:24:53,141 INFO L290 TraceCheckUtils]: 22: Hoare triple {1677#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1820#(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)) (= main_~b~0 0))} is VALID [2022-04-28 07:24:53,141 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1677#true} {1677#true} #75#return; {1677#true} is VALID [2022-04-28 07:24:53,141 INFO L290 TraceCheckUtils]: 20: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:53,141 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:53,141 INFO L290 TraceCheckUtils]: 18: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:53,141 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 07:24:53,141 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1677#true} {1677#true} #73#return; {1677#true} is VALID [2022-04-28 07:24:53,142 INFO L290 TraceCheckUtils]: 15: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:53,142 INFO L290 TraceCheckUtils]: 14: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:53,142 INFO L290 TraceCheckUtils]: 13: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:53,142 INFO L272 TraceCheckUtils]: 12: Hoare triple {1677#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {1677#true} is VALID [2022-04-28 07:24:53,142 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 07:24:53,142 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1677#true} {1677#true} #71#return; {1677#true} is VALID [2022-04-28 07:24:53,142 INFO L290 TraceCheckUtils]: 9: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:53,142 INFO L290 TraceCheckUtils]: 8: Hoare triple {1677#true} assume !(0 == ~cond); {1677#true} is VALID [2022-04-28 07:24:53,142 INFO L290 TraceCheckUtils]: 7: Hoare triple {1677#true} ~cond := #in~cond; {1677#true} is VALID [2022-04-28 07:24:53,142 INFO L272 TraceCheckUtils]: 6: Hoare triple {1677#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {1677#true} is VALID [2022-04-28 07:24:53,142 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 07:24:53,142 INFO L272 TraceCheckUtils]: 4: Hoare triple {1677#true} call #t~ret6 := main(); {1677#true} is VALID [2022-04-28 07:24:53,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1677#true} {1677#true} #83#return; {1677#true} is VALID [2022-04-28 07:24:53,143 INFO L290 TraceCheckUtils]: 2: Hoare triple {1677#true} assume true; {1677#true} is VALID [2022-04-28 07:24:53,143 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 07:24:53,143 INFO L272 TraceCheckUtils]: 0: Hoare triple {1677#true} call ULTIMATE.init(); {1677#true} is VALID [2022-04-28 07:24:53,143 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:24:53,143 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:53,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [121056381] [2022-04-28 07:24:53,143 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:53,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1888795779] [2022-04-28 07:24:53,143 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1888795779] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 07:24:53,143 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 07:24:53,144 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [9] total 12 [2022-04-28 07:24:53,144 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:53,144 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1271747335] [2022-04-28 07:24:53,144 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1271747335] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:53,144 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:53,144 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 07:24:53,144 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1277938386] [2022-04-28 07:24:53,144 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:53,144 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 07:24:53,145 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:53,145 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:53,174 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 07:24:53,174 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 07:24:53,174 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:53,174 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 07:24:53,174 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-04-28 07:24:53,175 INFO L87 Difference]: Start difference. First operand 48 states and 57 transitions. Second operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:53,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:53,545 INFO L93 Difference]: Finished difference Result 54 states and 62 transitions. [2022-04-28 07:24:53,545 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 07:24:53,545 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 07:24:53,546 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:53,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:53,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 07:24:53,547 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:53,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 07:24:53,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-28 07:24:53,628 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 07:24:53,629 INFO L225 Difference]: With dead ends: 54 [2022-04-28 07:24:53,629 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 07:24:53,629 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 62 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=120, Unknown=0, NotChecked=0, Total=156 [2022-04-28 07:24:53,630 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 14 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:53,630 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 83 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:24:53,631 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 07:24:53,674 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 45. [2022-04-28 07:24:53,674 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:53,674 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 45 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 07:24:53,674 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 45 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 07:24:53,674 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 45 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 07:24:53,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:53,676 INFO L93 Difference]: Finished difference Result 52 states and 60 transitions. [2022-04-28 07:24:53,676 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 60 transitions. [2022-04-28 07:24:53,676 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:53,676 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:53,676 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 52 states. [2022-04-28 07:24:53,677 INFO L87 Difference]: Start difference. First operand has 45 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 52 states. [2022-04-28 07:24:53,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:53,681 INFO L93 Difference]: Finished difference Result 52 states and 60 transitions. [2022-04-28 07:24:53,681 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 60 transitions. [2022-04-28 07:24:53,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:53,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:53,682 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:53,682 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:53,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 28 states have (on average 1.2142857142857142) internal successors, (34), 30 states have internal predecessors, (34), 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 07:24:53,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 52 transitions. [2022-04-28 07:24:53,683 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 52 transitions. Word has length 37 [2022-04-28 07:24:53,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:53,683 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 52 transitions. [2022-04-28 07:24:53,683 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:24:53,683 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 52 transitions. [2022-04-28 07:24:54,540 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:54,540 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 52 transitions. [2022-04-28 07:24:54,540 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 07:24:54,540 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:54,540 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 07:24:54,557 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 07:24:54,741 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 07:24:54,741 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:54,741 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:54,742 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 1 times [2022-04-28 07:24:54,742 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:54,742 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [45567474] [2022-04-28 07:24:54,742 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:54,742 INFO L85 PathProgramCache]: Analyzing trace with hash 262800198, now seen corresponding path program 2 times [2022-04-28 07:24:54,742 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:54,742 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2135496783] [2022-04-28 07:24:54,743 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:54,743 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:54,753 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:54,754 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [726171315] [2022-04-28 07:24:54,754 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:54,754 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:54,754 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:54,763 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 07:24:54,769 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 07:24:54,806 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:54,806 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:54,808 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 07:24:54,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:54,821 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:55,122 INFO L272 TraceCheckUtils]: 0: Hoare triple {2214#true} call ULTIMATE.init(); {2214#true} is VALID [2022-04-28 07:24:55,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {2214#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); {2214#true} is VALID [2022-04-28 07:24:55,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {2214#true} assume true; {2214#true} is VALID [2022-04-28 07:24:55,123 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2214#true} {2214#true} #83#return; {2214#true} is VALID [2022-04-28 07:24:55,123 INFO L272 TraceCheckUtils]: 4: Hoare triple {2214#true} call #t~ret6 := main(); {2214#true} is VALID [2022-04-28 07:24:55,123 INFO L290 TraceCheckUtils]: 5: Hoare triple {2214#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; {2214#true} is VALID [2022-04-28 07:24:55,123 INFO L272 TraceCheckUtils]: 6: Hoare triple {2214#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {2214#true} is VALID [2022-04-28 07:24:55,123 INFO L290 TraceCheckUtils]: 7: Hoare triple {2214#true} ~cond := #in~cond; {2240#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:24:55,124 INFO L290 TraceCheckUtils]: 8: Hoare triple {2240#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2244#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:55,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {2244#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2244#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:55,125 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2244#(not (= |assume_abort_if_not_#in~cond| 0))} {2214#true} #71#return; {2251#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:24:55,125 INFO L290 TraceCheckUtils]: 11: Hoare triple {2251#(and (<= 0 main_~x~0) (<= main_~x~0 50))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2251#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:24:55,125 INFO L272 TraceCheckUtils]: 12: Hoare triple {2251#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {2214#true} is VALID [2022-04-28 07:24:55,125 INFO L290 TraceCheckUtils]: 13: Hoare triple {2214#true} ~cond := #in~cond; {2214#true} is VALID [2022-04-28 07:24:55,126 INFO L290 TraceCheckUtils]: 14: Hoare triple {2214#true} assume !(0 == ~cond); {2214#true} is VALID [2022-04-28 07:24:55,126 INFO L290 TraceCheckUtils]: 15: Hoare triple {2214#true} assume true; {2214#true} is VALID [2022-04-28 07:24:55,126 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2214#true} {2251#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #73#return; {2251#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:24:55,126 INFO L272 TraceCheckUtils]: 17: Hoare triple {2251#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2214#true} is VALID [2022-04-28 07:24:55,127 INFO L290 TraceCheckUtils]: 18: Hoare triple {2214#true} ~cond := #in~cond; {2240#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:24:55,127 INFO L290 TraceCheckUtils]: 19: Hoare triple {2240#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2244#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:55,127 INFO L290 TraceCheckUtils]: 20: Hoare triple {2244#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2244#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:55,128 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2244#(not (= |assume_abort_if_not_#in~cond| 0))} {2251#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #75#return; {2285#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0))} is VALID [2022-04-28 07:24:55,128 INFO L290 TraceCheckUtils]: 22: Hoare triple {2285#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2289#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:55,129 INFO L290 TraceCheckUtils]: 23: Hoare triple {2289#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {2289#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:55,129 INFO L272 TraceCheckUtils]: 24: Hoare triple {2289#(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)); {2214#true} is VALID [2022-04-28 07:24:55,130 INFO L290 TraceCheckUtils]: 25: Hoare triple {2214#true} ~cond := #in~cond; {2214#true} is VALID [2022-04-28 07:24:55,130 INFO L290 TraceCheckUtils]: 26: Hoare triple {2214#true} assume !(0 == ~cond); {2214#true} is VALID [2022-04-28 07:24:55,130 INFO L290 TraceCheckUtils]: 27: Hoare triple {2214#true} assume true; {2214#true} is VALID [2022-04-28 07:24:55,131 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2214#true} {2289#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {2289#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:55,131 INFO L290 TraceCheckUtils]: 29: Hoare triple {2289#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {2311#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:55,131 INFO L272 TraceCheckUtils]: 30: Hoare triple {2311#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2214#true} is VALID [2022-04-28 07:24:55,131 INFO L290 TraceCheckUtils]: 31: Hoare triple {2214#true} ~cond := #in~cond; {2214#true} is VALID [2022-04-28 07:24:55,131 INFO L290 TraceCheckUtils]: 32: Hoare triple {2214#true} assume !(0 == ~cond); {2214#true} is VALID [2022-04-28 07:24:55,132 INFO L290 TraceCheckUtils]: 33: Hoare triple {2214#true} assume true; {2214#true} is VALID [2022-04-28 07:24:55,132 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2214#true} {2311#(and (= main_~a~0 0) (<= 1 main_~b~0))} #79#return; {2311#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:55,133 INFO L272 TraceCheckUtils]: 35: Hoare triple {2311#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2330#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:55,133 INFO L290 TraceCheckUtils]: 36: Hoare triple {2330#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2334#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:55,133 INFO L290 TraceCheckUtils]: 37: Hoare triple {2334#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2215#false} is VALID [2022-04-28 07:24:55,134 INFO L290 TraceCheckUtils]: 38: Hoare triple {2215#false} assume !false; {2215#false} is VALID [2022-04-28 07:24:55,134 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 07:24:55,134 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:24:55,377 INFO L290 TraceCheckUtils]: 38: Hoare triple {2215#false} assume !false; {2215#false} is VALID [2022-04-28 07:24:55,377 INFO L290 TraceCheckUtils]: 37: Hoare triple {2334#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2215#false} is VALID [2022-04-28 07:24:55,377 INFO L290 TraceCheckUtils]: 36: Hoare triple {2330#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2334#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:55,378 INFO L272 TraceCheckUtils]: 35: Hoare triple {2350#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2330#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:55,379 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2214#true} {2350#(= (* main_~b~0 main_~a~0) 0)} #79#return; {2350#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-28 07:24:55,379 INFO L290 TraceCheckUtils]: 33: Hoare triple {2214#true} assume true; {2214#true} is VALID [2022-04-28 07:24:55,379 INFO L290 TraceCheckUtils]: 32: Hoare triple {2214#true} assume !(0 == ~cond); {2214#true} is VALID [2022-04-28 07:24:55,379 INFO L290 TraceCheckUtils]: 31: Hoare triple {2214#true} ~cond := #in~cond; {2214#true} is VALID [2022-04-28 07:24:55,379 INFO L272 TraceCheckUtils]: 30: Hoare triple {2350#(= (* main_~b~0 main_~a~0) 0)} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2214#true} is VALID [2022-04-28 07:24:55,380 INFO L290 TraceCheckUtils]: 29: Hoare triple {2214#true} assume !(0 != ~a~0 && 0 != ~b~0); {2350#(= (* main_~b~0 main_~a~0) 0)} is VALID [2022-04-28 07:24:55,380 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2214#true} {2214#true} #77#return; {2214#true} is VALID [2022-04-28 07:24:55,380 INFO L290 TraceCheckUtils]: 27: Hoare triple {2214#true} assume true; {2214#true} is VALID [2022-04-28 07:24:55,380 INFO L290 TraceCheckUtils]: 26: Hoare triple {2214#true} assume !(0 == ~cond); {2214#true} is VALID [2022-04-28 07:24:55,380 INFO L290 TraceCheckUtils]: 25: Hoare triple {2214#true} ~cond := #in~cond; {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L272 TraceCheckUtils]: 24: Hoare triple {2214#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L290 TraceCheckUtils]: 23: Hoare triple {2214#true} assume !false; {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L290 TraceCheckUtils]: 22: Hoare triple {2214#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2214#true} {2214#true} #75#return; {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L290 TraceCheckUtils]: 20: Hoare triple {2214#true} assume true; {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L290 TraceCheckUtils]: 19: Hoare triple {2214#true} assume !(0 == ~cond); {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L290 TraceCheckUtils]: 18: Hoare triple {2214#true} ~cond := #in~cond; {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L272 TraceCheckUtils]: 17: Hoare triple {2214#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2214#true} {2214#true} #73#return; {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L290 TraceCheckUtils]: 15: Hoare triple {2214#true} assume true; {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L290 TraceCheckUtils]: 14: Hoare triple {2214#true} assume !(0 == ~cond); {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {2214#true} ~cond := #in~cond; {2214#true} is VALID [2022-04-28 07:24:55,381 INFO L272 TraceCheckUtils]: 12: Hoare triple {2214#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {2214#true} is VALID [2022-04-28 07:24:55,382 INFO L290 TraceCheckUtils]: 11: Hoare triple {2214#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2214#true} is VALID [2022-04-28 07:24:55,382 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2214#true} {2214#true} #71#return; {2214#true} is VALID [2022-04-28 07:24:55,382 INFO L290 TraceCheckUtils]: 9: Hoare triple {2214#true} assume true; {2214#true} is VALID [2022-04-28 07:24:55,382 INFO L290 TraceCheckUtils]: 8: Hoare triple {2214#true} assume !(0 == ~cond); {2214#true} is VALID [2022-04-28 07:24:55,382 INFO L290 TraceCheckUtils]: 7: Hoare triple {2214#true} ~cond := #in~cond; {2214#true} is VALID [2022-04-28 07:24:55,382 INFO L272 TraceCheckUtils]: 6: Hoare triple {2214#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {2214#true} is VALID [2022-04-28 07:24:55,382 INFO L290 TraceCheckUtils]: 5: Hoare triple {2214#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; {2214#true} is VALID [2022-04-28 07:24:55,382 INFO L272 TraceCheckUtils]: 4: Hoare triple {2214#true} call #t~ret6 := main(); {2214#true} is VALID [2022-04-28 07:24:55,382 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2214#true} {2214#true} #83#return; {2214#true} is VALID [2022-04-28 07:24:55,382 INFO L290 TraceCheckUtils]: 2: Hoare triple {2214#true} assume true; {2214#true} is VALID [2022-04-28 07:24:55,382 INFO L290 TraceCheckUtils]: 1: Hoare triple {2214#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); {2214#true} is VALID [2022-04-28 07:24:55,382 INFO L272 TraceCheckUtils]: 0: Hoare triple {2214#true} call ULTIMATE.init(); {2214#true} is VALID [2022-04-28 07:24:55,383 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 07:24:55,383 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:55,383 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2135496783] [2022-04-28 07:24:55,383 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:55,383 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [726171315] [2022-04-28 07:24:55,383 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [726171315] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 07:24:55,383 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 07:24:55,383 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-28 07:24:55,383 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:55,383 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [45567474] [2022-04-28 07:24:55,383 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [45567474] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:55,384 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:55,384 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:24:55,384 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [617147899] [2022-04-28 07:24:55,384 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:55,384 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 07:24:55,384 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:55,384 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 07:24:55,406 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 07:24:55,407 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:24:55,407 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:55,407 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:24:55,407 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-04-28 07:24:55,407 INFO L87 Difference]: Start difference. First operand 45 states and 52 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 07:24:55,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:55,804 INFO L93 Difference]: Finished difference Result 51 states and 57 transitions. [2022-04-28 07:24:55,804 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 07:24:55,805 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 07:24:55,805 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:55,805 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 07:24:55,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 07:24:55,806 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 07:24:55,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 41 transitions. [2022-04-28 07:24:55,807 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 41 transitions. [2022-04-28 07:24:55,850 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 07:24:55,851 INFO L225 Difference]: With dead ends: 51 [2022-04-28 07:24:55,851 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 07:24:55,851 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 07:24:55,852 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 07:24:55,852 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 07:24:55,853 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 07:24:55,891 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-04-28 07:24:55,891 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:55,892 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 37 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:24:55,892 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 37 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:24:55,892 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 37 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:24:55,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:55,894 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2022-04-28 07:24:55,894 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-04-28 07:24:55,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:55,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:55,894 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 07:24:55,894 INFO L87 Difference]: Start difference. First operand has 37 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 07:24:55,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:55,896 INFO L93 Difference]: Finished difference Result 37 states and 42 transitions. [2022-04-28 07:24:55,896 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-04-28 07:24:55,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:55,896 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:55,896 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:55,896 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:55,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 24 states have (on average 1.1666666666666667) internal successors, (28), 24 states have internal predecessors, (28), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:24:55,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 42 transitions. [2022-04-28 07:24:55,898 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 42 transitions. Word has length 39 [2022-04-28 07:24:55,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:55,899 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 42 transitions. [2022-04-28 07:24:55,899 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 07:24:55,899 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 42 transitions. [2022-04-28 07:24:56,677 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 07:24:56,677 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 42 transitions. [2022-04-28 07:24:56,678 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 07:24:56,678 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:56,678 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 07:24:56,696 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 07:24:56,899 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 07:24:56,899 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:56,899 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:56,899 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 1 times [2022-04-28 07:24:56,899 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:56,899 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1294069145] [2022-04-28 07:24:56,901 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:56,901 INFO L85 PathProgramCache]: Analyzing trace with hash -982526417, now seen corresponding path program 2 times [2022-04-28 07:24:56,901 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:56,901 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1002976923] [2022-04-28 07:24:56,901 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:56,901 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:56,932 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:56,933 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1153484111] [2022-04-28 07:24:56,933 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:56,933 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:56,933 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:56,944 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 07:24:56,952 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 07:24:56,985 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:56,985 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:56,986 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 07:24:56,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:57,000 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:57,455 INFO L272 TraceCheckUtils]: 0: Hoare triple {2710#true} call ULTIMATE.init(); {2710#true} is VALID [2022-04-28 07:24:57,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {2710#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); {2710#true} is VALID [2022-04-28 07:24:57,456 INFO L290 TraceCheckUtils]: 2: Hoare triple {2710#true} assume true; {2710#true} is VALID [2022-04-28 07:24:57,456 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2710#true} {2710#true} #83#return; {2710#true} is VALID [2022-04-28 07:24:57,456 INFO L272 TraceCheckUtils]: 4: Hoare triple {2710#true} call #t~ret6 := main(); {2710#true} is VALID [2022-04-28 07:24:57,456 INFO L290 TraceCheckUtils]: 5: Hoare triple {2710#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; {2710#true} is VALID [2022-04-28 07:24:57,456 INFO L272 TraceCheckUtils]: 6: Hoare triple {2710#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {2710#true} is VALID [2022-04-28 07:24:57,456 INFO L290 TraceCheckUtils]: 7: Hoare triple {2710#true} ~cond := #in~cond; {2736#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:24:57,457 INFO L290 TraceCheckUtils]: 8: Hoare triple {2736#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2740#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:57,457 INFO L290 TraceCheckUtils]: 9: Hoare triple {2740#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2740#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:57,458 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2740#(not (= |assume_abort_if_not_#in~cond| 0))} {2710#true} #71#return; {2747#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:24:57,459 INFO L290 TraceCheckUtils]: 11: Hoare triple {2747#(and (<= 0 main_~x~0) (<= main_~x~0 50))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2747#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:24:57,459 INFO L272 TraceCheckUtils]: 12: Hoare triple {2747#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {2710#true} is VALID [2022-04-28 07:24:57,459 INFO L290 TraceCheckUtils]: 13: Hoare triple {2710#true} ~cond := #in~cond; {2710#true} is VALID [2022-04-28 07:24:57,459 INFO L290 TraceCheckUtils]: 14: Hoare triple {2710#true} assume !(0 == ~cond); {2710#true} is VALID [2022-04-28 07:24:57,459 INFO L290 TraceCheckUtils]: 15: Hoare triple {2710#true} assume true; {2710#true} is VALID [2022-04-28 07:24:57,465 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2710#true} {2747#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #73#return; {2747#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:24:57,465 INFO L272 TraceCheckUtils]: 17: Hoare triple {2747#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2710#true} is VALID [2022-04-28 07:24:57,465 INFO L290 TraceCheckUtils]: 18: Hoare triple {2710#true} ~cond := #in~cond; {2736#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:24:57,466 INFO L290 TraceCheckUtils]: 19: Hoare triple {2736#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2740#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:57,466 INFO L290 TraceCheckUtils]: 20: Hoare triple {2740#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2740#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:57,466 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2740#(not (= |assume_abort_if_not_#in~cond| 0))} {2747#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #75#return; {2781#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0))} is VALID [2022-04-28 07:24:57,467 INFO L290 TraceCheckUtils]: 22: Hoare triple {2781#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2785#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:57,467 INFO L290 TraceCheckUtils]: 23: Hoare triple {2785#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !false; {2785#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:57,467 INFO L272 TraceCheckUtils]: 24: Hoare triple {2785#(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)); {2710#true} is VALID [2022-04-28 07:24:57,467 INFO L290 TraceCheckUtils]: 25: Hoare triple {2710#true} ~cond := #in~cond; {2710#true} is VALID [2022-04-28 07:24:57,467 INFO L290 TraceCheckUtils]: 26: Hoare triple {2710#true} assume !(0 == ~cond); {2710#true} is VALID [2022-04-28 07:24:57,468 INFO L290 TraceCheckUtils]: 27: Hoare triple {2710#true} assume true; {2710#true} is VALID [2022-04-28 07:24:57,468 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2710#true} {2785#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} #77#return; {2785#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:57,468 INFO L290 TraceCheckUtils]: 29: Hoare triple {2785#(and (<= 0 main_~a~0) (<= 1 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {2807#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:57,469 INFO L290 TraceCheckUtils]: 30: Hoare triple {2807#(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; {2807#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:57,470 INFO L290 TraceCheckUtils]: 31: Hoare triple {2807#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !false; {2807#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:57,470 INFO L272 TraceCheckUtils]: 32: Hoare triple {2807#(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)); {2710#true} is VALID [2022-04-28 07:24:57,470 INFO L290 TraceCheckUtils]: 33: Hoare triple {2710#true} ~cond := #in~cond; {2710#true} is VALID [2022-04-28 07:24:57,470 INFO L290 TraceCheckUtils]: 34: Hoare triple {2710#true} assume !(0 == ~cond); {2710#true} is VALID [2022-04-28 07:24:57,470 INFO L290 TraceCheckUtils]: 35: Hoare triple {2710#true} assume true; {2710#true} is VALID [2022-04-28 07:24:57,471 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2710#true} {2807#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} #77#return; {2807#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:57,471 INFO L290 TraceCheckUtils]: 37: Hoare triple {2807#(and (<= 0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {2711#false} is VALID [2022-04-28 07:24:57,471 INFO L272 TraceCheckUtils]: 38: Hoare triple {2711#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2711#false} is VALID [2022-04-28 07:24:57,471 INFO L290 TraceCheckUtils]: 39: Hoare triple {2711#false} ~cond := #in~cond; {2711#false} is VALID [2022-04-28 07:24:57,471 INFO L290 TraceCheckUtils]: 40: Hoare triple {2711#false} assume 0 == ~cond; {2711#false} is VALID [2022-04-28 07:24:57,471 INFO L290 TraceCheckUtils]: 41: Hoare triple {2711#false} assume !false; {2711#false} is VALID [2022-04-28 07:24:57,472 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 07:24:57,472 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:24:58,341 INFO L290 TraceCheckUtils]: 41: Hoare triple {2711#false} assume !false; {2711#false} is VALID [2022-04-28 07:24:58,341 INFO L290 TraceCheckUtils]: 40: Hoare triple {2711#false} assume 0 == ~cond; {2711#false} is VALID [2022-04-28 07:24:58,341 INFO L290 TraceCheckUtils]: 39: Hoare triple {2711#false} ~cond := #in~cond; {2711#false} is VALID [2022-04-28 07:24:58,342 INFO L272 TraceCheckUtils]: 38: Hoare triple {2711#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2711#false} is VALID [2022-04-28 07:24:58,342 INFO L290 TraceCheckUtils]: 37: Hoare triple {2856#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {2711#false} is VALID [2022-04-28 07:24:58,342 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2710#true} {2856#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} #77#return; {2856#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:24:58,343 INFO L290 TraceCheckUtils]: 35: Hoare triple {2710#true} assume true; {2710#true} is VALID [2022-04-28 07:24:58,343 INFO L290 TraceCheckUtils]: 34: Hoare triple {2710#true} assume !(0 == ~cond); {2710#true} is VALID [2022-04-28 07:24:58,343 INFO L290 TraceCheckUtils]: 33: Hoare triple {2710#true} ~cond := #in~cond; {2710#true} is VALID [2022-04-28 07:24:58,343 INFO L272 TraceCheckUtils]: 32: Hoare triple {2856#(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)); {2710#true} is VALID [2022-04-28 07:24:58,343 INFO L290 TraceCheckUtils]: 31: Hoare triple {2856#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} assume !false; {2856#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:24:58,344 INFO L290 TraceCheckUtils]: 30: Hoare triple {2878#(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; {2856#(and (not (= main_~b~0 0)) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:24:58,345 INFO L290 TraceCheckUtils]: 29: Hoare triple {2882#(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); {2878#(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 07:24:58,345 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2710#true} {2882#(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; {2882#(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 07:24:58,345 INFO L290 TraceCheckUtils]: 27: Hoare triple {2710#true} assume true; {2710#true} is VALID [2022-04-28 07:24:58,345 INFO L290 TraceCheckUtils]: 26: Hoare triple {2710#true} assume !(0 == ~cond); {2710#true} is VALID [2022-04-28 07:24:58,345 INFO L290 TraceCheckUtils]: 25: Hoare triple {2710#true} ~cond := #in~cond; {2710#true} is VALID [2022-04-28 07:24:58,346 INFO L272 TraceCheckUtils]: 24: Hoare triple {2882#(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)); {2710#true} is VALID [2022-04-28 07:24:58,346 INFO L290 TraceCheckUtils]: 23: Hoare triple {2882#(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; {2882#(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 07:24:58,347 INFO L290 TraceCheckUtils]: 22: Hoare triple {2904#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2882#(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 07:24:58,347 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2710#true} {2904#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} #75#return; {2904#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-28 07:24:58,347 INFO L290 TraceCheckUtils]: 20: Hoare triple {2710#true} assume true; {2710#true} is VALID [2022-04-28 07:24:58,347 INFO L290 TraceCheckUtils]: 19: Hoare triple {2710#true} assume !(0 == ~cond); {2710#true} is VALID [2022-04-28 07:24:58,347 INFO L290 TraceCheckUtils]: 18: Hoare triple {2710#true} ~cond := #in~cond; {2710#true} is VALID [2022-04-28 07:24:58,347 INFO L272 TraceCheckUtils]: 17: Hoare triple {2904#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2710#true} is VALID [2022-04-28 07:24:58,348 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2710#true} {2904#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} #73#return; {2904#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-28 07:24:58,348 INFO L290 TraceCheckUtils]: 15: Hoare triple {2710#true} assume true; {2710#true} is VALID [2022-04-28 07:24:58,348 INFO L290 TraceCheckUtils]: 14: Hoare triple {2710#true} assume !(0 == ~cond); {2710#true} is VALID [2022-04-28 07:24:58,348 INFO L290 TraceCheckUtils]: 13: Hoare triple {2710#true} ~cond := #in~cond; {2710#true} is VALID [2022-04-28 07:24:58,348 INFO L272 TraceCheckUtils]: 12: Hoare triple {2904#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {2710#true} is VALID [2022-04-28 07:24:58,348 INFO L290 TraceCheckUtils]: 11: Hoare triple {2904#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2904#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-28 07:24:58,349 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2740#(not (= |assume_abort_if_not_#in~cond| 0))} {2710#true} #71#return; {2904#(<= 0 (+ (div (+ (- 1) main_~x~0) 2) 1))} is VALID [2022-04-28 07:24:58,349 INFO L290 TraceCheckUtils]: 9: Hoare triple {2740#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2740#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:58,350 INFO L290 TraceCheckUtils]: 8: Hoare triple {2950#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2740#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:58,350 INFO L290 TraceCheckUtils]: 7: Hoare triple {2710#true} ~cond := #in~cond; {2950#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:24:58,350 INFO L272 TraceCheckUtils]: 6: Hoare triple {2710#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {2710#true} is VALID [2022-04-28 07:24:58,350 INFO L290 TraceCheckUtils]: 5: Hoare triple {2710#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; {2710#true} is VALID [2022-04-28 07:24:58,350 INFO L272 TraceCheckUtils]: 4: Hoare triple {2710#true} call #t~ret6 := main(); {2710#true} is VALID [2022-04-28 07:24:58,350 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2710#true} {2710#true} #83#return; {2710#true} is VALID [2022-04-28 07:24:58,350 INFO L290 TraceCheckUtils]: 2: Hoare triple {2710#true} assume true; {2710#true} is VALID [2022-04-28 07:24:58,350 INFO L290 TraceCheckUtils]: 1: Hoare triple {2710#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); {2710#true} is VALID [2022-04-28 07:24:58,350 INFO L272 TraceCheckUtils]: 0: Hoare triple {2710#true} call ULTIMATE.init(); {2710#true} is VALID [2022-04-28 07:24:58,351 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 07:24:58,351 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:58,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1002976923] [2022-04-28 07:24:58,351 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:58,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1153484111] [2022-04-28 07:24:58,351 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1153484111] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:24:58,351 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:24:58,351 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-28 07:24:58,351 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:58,351 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1294069145] [2022-04-28 07:24:58,352 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1294069145] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:58,352 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:58,352 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 07:24:58,352 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1049212836] [2022-04-28 07:24:58,352 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:58,352 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 07:24:58,352 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:58,352 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 07:24:58,375 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 07:24:58,375 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 07:24:58,376 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:58,376 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 07:24:58,376 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-28 07:24:58,376 INFO L87 Difference]: Start difference. First operand 37 states and 42 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 07:24:58,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:58,738 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-28 07:24:58,738 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:24:58,739 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 07:24:58,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:58,740 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 07:24:58,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 07:24:58,743 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 07:24:58,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 55 transitions. [2022-04-28 07:24:58,745 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 55 transitions. [2022-04-28 07:24:58,790 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 07:24:58,791 INFO L225 Difference]: With dead ends: 52 [2022-04-28 07:24:58,791 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 07:24:58,791 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 07:24:58,792 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 36 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 111 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:58,792 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [38 Valid, 109 Invalid, 111 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 96 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:24:58,793 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 07:24:58,849 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 44. [2022-04-28 07:24:58,849 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:58,849 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 44 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 30 states have internal predecessors, (36), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:24:58,849 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 44 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 30 states have internal predecessors, (36), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:24:58,849 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 44 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 30 states have internal predecessors, (36), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:24:58,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:58,851 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-28 07:24:58,851 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 58 transitions. [2022-04-28 07:24:58,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:58,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:58,851 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 30 states have internal predecessors, (36), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 47 states. [2022-04-28 07:24:58,851 INFO L87 Difference]: Start difference. First operand has 44 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 30 states have internal predecessors, (36), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 47 states. [2022-04-28 07:24:58,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:58,852 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-28 07:24:58,852 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 58 transitions. [2022-04-28 07:24:58,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:58,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:58,853 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:58,853 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:58,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 30 states have internal predecessors, (36), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:24:58,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 54 transitions. [2022-04-28 07:24:58,854 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 54 transitions. Word has length 42 [2022-04-28 07:24:58,854 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:58,854 INFO L495 AbstractCegarLoop]: Abstraction has 44 states and 54 transitions. [2022-04-28 07:24:58,854 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 07:24:58,854 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 54 transitions. [2022-04-28 07:24:59,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:59,431 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 54 transitions. [2022-04-28 07:24:59,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 07:24:59,431 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:59,431 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 07:24:59,452 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 07:24:59,631 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 07:24:59,632 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:59,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:59,632 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 1 times [2022-04-28 07:24:59,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:59,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1446200015] [2022-04-28 07:24:59,633 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:59,633 INFO L85 PathProgramCache]: Analyzing trace with hash 1669465851, now seen corresponding path program 2 times [2022-04-28 07:24:59,633 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:59,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1239834405] [2022-04-28 07:24:59,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:59,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:59,643 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:59,643 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [710793060] [2022-04-28 07:24:59,643 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:59,643 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:59,643 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:59,651 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 07:24:59,687 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 07:24:59,707 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:59,707 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:59,708 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 07:24:59,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:59,716 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:25:10,002 INFO L272 TraceCheckUtils]: 0: Hoare triple {3266#true} call ULTIMATE.init(); {3266#true} is VALID [2022-04-28 07:25:10,002 INFO L290 TraceCheckUtils]: 1: Hoare triple {3266#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); {3266#true} is VALID [2022-04-28 07:25:10,002 INFO L290 TraceCheckUtils]: 2: Hoare triple {3266#true} assume true; {3266#true} is VALID [2022-04-28 07:25:10,002 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3266#true} {3266#true} #83#return; {3266#true} is VALID [2022-04-28 07:25:10,002 INFO L272 TraceCheckUtils]: 4: Hoare triple {3266#true} call #t~ret6 := main(); {3266#true} is VALID [2022-04-28 07:25:10,002 INFO L290 TraceCheckUtils]: 5: Hoare triple {3266#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; {3266#true} is VALID [2022-04-28 07:25:10,003 INFO L272 TraceCheckUtils]: 6: Hoare triple {3266#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {3266#true} is VALID [2022-04-28 07:25:10,003 INFO L290 TraceCheckUtils]: 7: Hoare triple {3266#true} ~cond := #in~cond; {3266#true} is VALID [2022-04-28 07:25:10,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {3266#true} assume !(0 == ~cond); {3266#true} is VALID [2022-04-28 07:25:10,003 INFO L290 TraceCheckUtils]: 9: Hoare triple {3266#true} assume true; {3266#true} is VALID [2022-04-28 07:25:10,003 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3266#true} {3266#true} #71#return; {3266#true} is VALID [2022-04-28 07:25:10,003 INFO L290 TraceCheckUtils]: 11: Hoare triple {3266#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3266#true} is VALID [2022-04-28 07:25:10,003 INFO L272 TraceCheckUtils]: 12: Hoare triple {3266#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {3266#true} is VALID [2022-04-28 07:25:10,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {3266#true} ~cond := #in~cond; {3266#true} is VALID [2022-04-28 07:25:10,003 INFO L290 TraceCheckUtils]: 14: Hoare triple {3266#true} assume !(0 == ~cond); {3266#true} is VALID [2022-04-28 07:25:10,003 INFO L290 TraceCheckUtils]: 15: Hoare triple {3266#true} assume true; {3266#true} is VALID [2022-04-28 07:25:10,003 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3266#true} {3266#true} #73#return; {3266#true} is VALID [2022-04-28 07:25:10,004 INFO L272 TraceCheckUtils]: 17: Hoare triple {3266#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3266#true} is VALID [2022-04-28 07:25:10,004 INFO L290 TraceCheckUtils]: 18: Hoare triple {3266#true} ~cond := #in~cond; {3266#true} is VALID [2022-04-28 07:25:10,004 INFO L290 TraceCheckUtils]: 19: Hoare triple {3266#true} assume !(0 == ~cond); {3266#true} is VALID [2022-04-28 07:25:10,004 INFO L290 TraceCheckUtils]: 20: Hoare triple {3266#true} assume true; {3266#true} is VALID [2022-04-28 07:25:10,004 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3266#true} {3266#true} #75#return; {3266#true} is VALID [2022-04-28 07:25:10,004 INFO L290 TraceCheckUtils]: 22: Hoare triple {3266#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3266#true} is VALID [2022-04-28 07:25:10,004 INFO L290 TraceCheckUtils]: 23: Hoare triple {3266#true} assume !false; {3266#true} is VALID [2022-04-28 07:25:10,004 INFO L272 TraceCheckUtils]: 24: Hoare triple {3266#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3266#true} is VALID [2022-04-28 07:25:10,004 INFO L290 TraceCheckUtils]: 25: Hoare triple {3266#true} ~cond := #in~cond; {3266#true} is VALID [2022-04-28 07:25:10,004 INFO L290 TraceCheckUtils]: 26: Hoare triple {3266#true} assume !(0 == ~cond); {3266#true} is VALID [2022-04-28 07:25:10,004 INFO L290 TraceCheckUtils]: 27: Hoare triple {3266#true} assume true; {3266#true} is VALID [2022-04-28 07:25:10,005 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3266#true} {3266#true} #77#return; {3266#true} is VALID [2022-04-28 07:25:10,006 INFO L290 TraceCheckUtils]: 29: Hoare triple {3266#true} assume !!(0 != ~a~0 && 0 != ~b~0); {3358#(not (= main_~b~0 0))} is VALID [2022-04-28 07:25:10,007 INFO L290 TraceCheckUtils]: 30: Hoare triple {3358#(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)); {3358#(not (= main_~b~0 0))} is VALID [2022-04-28 07:25:10,007 INFO L290 TraceCheckUtils]: 31: Hoare triple {3358#(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; {3358#(not (= main_~b~0 0))} is VALID [2022-04-28 07:25:10,007 INFO L290 TraceCheckUtils]: 32: Hoare triple {3358#(not (= main_~b~0 0))} assume !false; {3358#(not (= main_~b~0 0))} is VALID [2022-04-28 07:25:10,007 INFO L272 TraceCheckUtils]: 33: Hoare triple {3358#(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)); {3266#true} is VALID [2022-04-28 07:25:10,007 INFO L290 TraceCheckUtils]: 34: Hoare triple {3266#true} ~cond := #in~cond; {3374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:25:10,008 INFO L290 TraceCheckUtils]: 35: Hoare triple {3374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:10,008 INFO L290 TraceCheckUtils]: 36: Hoare triple {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:12,010 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} {3358#(not (= main_~b~0 0))} #77#return; {3385#(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 07:25:12,011 INFO L290 TraceCheckUtils]: 38: Hoare triple {3385#(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); {3389#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:25:12,011 INFO L272 TraceCheckUtils]: 39: Hoare triple {3389#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {3393#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:25:12,012 INFO L290 TraceCheckUtils]: 40: Hoare triple {3393#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3397#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:25:12,012 INFO L290 TraceCheckUtils]: 41: Hoare triple {3397#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3267#false} is VALID [2022-04-28 07:25:12,012 INFO L290 TraceCheckUtils]: 42: Hoare triple {3267#false} assume !false; {3267#false} is VALID [2022-04-28 07:25:12,012 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 07:25:12,012 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:25:48,230 INFO L290 TraceCheckUtils]: 42: Hoare triple {3267#false} assume !false; {3267#false} is VALID [2022-04-28 07:25:48,230 INFO L290 TraceCheckUtils]: 41: Hoare triple {3397#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3267#false} is VALID [2022-04-28 07:25:48,231 INFO L290 TraceCheckUtils]: 40: Hoare triple {3393#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3397#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:25:48,231 INFO L272 TraceCheckUtils]: 39: Hoare triple {3389#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {3393#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:25:48,232 INFO L290 TraceCheckUtils]: 38: Hoare triple {3416#(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); {3389#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:25:48,233 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} {3266#true} #77#return; {3416#(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 07:25:48,233 INFO L290 TraceCheckUtils]: 36: Hoare triple {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:48,234 INFO L290 TraceCheckUtils]: 35: Hoare triple {3429#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:48,234 INFO L290 TraceCheckUtils]: 34: Hoare triple {3266#true} ~cond := #in~cond; {3429#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:25:48,234 INFO L272 TraceCheckUtils]: 33: Hoare triple {3266#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3266#true} is VALID [2022-04-28 07:25:48,234 INFO L290 TraceCheckUtils]: 32: Hoare triple {3266#true} assume !false; {3266#true} is VALID [2022-04-28 07:25:48,234 INFO L290 TraceCheckUtils]: 31: Hoare triple {3266#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; {3266#true} is VALID [2022-04-28 07:25:48,234 INFO L290 TraceCheckUtils]: 30: Hoare triple {3266#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)); {3266#true} is VALID [2022-04-28 07:25:48,234 INFO L290 TraceCheckUtils]: 29: Hoare triple {3266#true} assume !!(0 != ~a~0 && 0 != ~b~0); {3266#true} is VALID [2022-04-28 07:25:48,234 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3266#true} {3266#true} #77#return; {3266#true} is VALID [2022-04-28 07:25:48,234 INFO L290 TraceCheckUtils]: 27: Hoare triple {3266#true} assume true; {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L290 TraceCheckUtils]: 26: Hoare triple {3266#true} assume !(0 == ~cond); {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L290 TraceCheckUtils]: 25: Hoare triple {3266#true} ~cond := #in~cond; {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L272 TraceCheckUtils]: 24: Hoare triple {3266#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L290 TraceCheckUtils]: 23: Hoare triple {3266#true} assume !false; {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L290 TraceCheckUtils]: 22: Hoare triple {3266#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3266#true} {3266#true} #75#return; {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L290 TraceCheckUtils]: 20: Hoare triple {3266#true} assume true; {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L290 TraceCheckUtils]: 19: Hoare triple {3266#true} assume !(0 == ~cond); {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L290 TraceCheckUtils]: 18: Hoare triple {3266#true} ~cond := #in~cond; {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L272 TraceCheckUtils]: 17: Hoare triple {3266#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3266#true} {3266#true} #73#return; {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L290 TraceCheckUtils]: 15: Hoare triple {3266#true} assume true; {3266#true} is VALID [2022-04-28 07:25:48,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {3266#true} assume !(0 == ~cond); {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {3266#true} ~cond := #in~cond; {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L272 TraceCheckUtils]: 12: Hoare triple {3266#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L290 TraceCheckUtils]: 11: Hoare triple {3266#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3266#true} {3266#true} #71#return; {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L290 TraceCheckUtils]: 9: Hoare triple {3266#true} assume true; {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L290 TraceCheckUtils]: 8: Hoare triple {3266#true} assume !(0 == ~cond); {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L290 TraceCheckUtils]: 7: Hoare triple {3266#true} ~cond := #in~cond; {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L272 TraceCheckUtils]: 6: Hoare triple {3266#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L290 TraceCheckUtils]: 5: Hoare triple {3266#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; {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L272 TraceCheckUtils]: 4: Hoare triple {3266#true} call #t~ret6 := main(); {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3266#true} {3266#true} #83#return; {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L290 TraceCheckUtils]: 2: Hoare triple {3266#true} assume true; {3266#true} is VALID [2022-04-28 07:25:48,236 INFO L290 TraceCheckUtils]: 1: Hoare triple {3266#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); {3266#true} is VALID [2022-04-28 07:25:48,237 INFO L272 TraceCheckUtils]: 0: Hoare triple {3266#true} call ULTIMATE.init(); {3266#true} is VALID [2022-04-28 07:25:48,237 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 07:25:48,237 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:25:48,237 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1239834405] [2022-04-28 07:25:48,237 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:25:48,237 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [710793060] [2022-04-28 07:25:48,237 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [710793060] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:25:48,237 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:25:48,237 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-28 07:25:48,237 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:25:48,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1446200015] [2022-04-28 07:25:48,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1446200015] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:25:48,238 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:25:48,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 07:25:48,238 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [394634395] [2022-04-28 07:25:48,238 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:25:48,238 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 07:25:48,238 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:25:48,238 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 07:25:50,267 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 07:25:50,267 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 07:25:50,267 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:25:50,268 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 07:25:50,268 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 07:25:50,268 INFO L87 Difference]: Start difference. First operand 44 states and 54 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 07:25:53,762 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 07:25:56,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:25:56,840 INFO L93 Difference]: Finished difference Result 58 states and 74 transitions. [2022-04-28 07:25:56,840 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 07:25:56,840 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 07:25:56,841 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:25:56,841 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 07:25:56,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 49 transitions. [2022-04-28 07:25:56,842 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 07:25:56,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 49 transitions. [2022-04-28 07:25:56,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 49 transitions. [2022-04-28 07:25:58,880 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 48 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:25:58,881 INFO L225 Difference]: With dead ends: 58 [2022-04-28 07:25:58,881 INFO L226 Difference]: Without dead ends: 53 [2022-04-28 07:25:58,881 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 07:25:58,881 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 10 mSDsluCounter, 139 mSDsCounter, 0 mSdLazyCounter, 167 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 165 SdHoareTripleChecker+Invalid, 170 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 167 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.3s IncrementalHoareTripleChecker+Time [2022-04-28 07:25:58,881 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 165 Invalid, 170 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 167 Invalid, 1 Unknown, 0 Unchecked, 4.3s Time] [2022-04-28 07:25:58,882 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-28 07:25:58,926 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 39. [2022-04-28 07:25:58,926 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:25:58,926 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.16) internal successors, (29), 26 states have internal predecessors, (29), 9 states have call successors, (9), 6 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 07:25:58,926 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.16) internal successors, (29), 26 states have internal predecessors, (29), 9 states have call successors, (9), 6 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 07:25:58,926 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 39 states, 25 states have (on average 1.16) internal successors, (29), 26 states have internal predecessors, (29), 9 states have call successors, (9), 6 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 07:25:58,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:25:58,928 INFO L93 Difference]: Finished difference Result 53 states and 68 transitions. [2022-04-28 07:25:58,928 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 68 transitions. [2022-04-28 07:25:58,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:25:58,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:25:58,928 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 25 states have (on average 1.16) internal successors, (29), 26 states have internal predecessors, (29), 9 states have call successors, (9), 6 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 53 states. [2022-04-28 07:25:58,928 INFO L87 Difference]: Start difference. First operand has 39 states, 25 states have (on average 1.16) internal successors, (29), 26 states have internal predecessors, (29), 9 states have call successors, (9), 6 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 53 states. [2022-04-28 07:25:58,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:25:58,930 INFO L93 Difference]: Finished difference Result 53 states and 68 transitions. [2022-04-28 07:25:58,930 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 68 transitions. [2022-04-28 07:25:58,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:25:58,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:25:58,930 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:25:58,930 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:25:58,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 25 states have (on average 1.16) internal successors, (29), 26 states have internal predecessors, (29), 9 states have call successors, (9), 6 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 07:25:58,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 45 transitions. [2022-04-28 07:25:58,931 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 45 transitions. Word has length 43 [2022-04-28 07:25:58,931 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:25:58,931 INFO L495 AbstractCegarLoop]: Abstraction has 39 states and 45 transitions. [2022-04-28 07:25:58,931 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 07:25:58,931 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 45 transitions. [2022-04-28 07:26:01,454 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:26:01,454 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 45 transitions. [2022-04-28 07:26:01,454 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 07:26:01,454 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:26:01,454 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, 1] [2022-04-28 07:26:01,474 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 07:26:01,655 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 07:26:01,655 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:26:01,655 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:26:01,655 INFO L85 PathProgramCache]: Analyzing trace with hash -1372706166, now seen corresponding path program 1 times [2022-04-28 07:26:01,655 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:26:01,655 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1370117422] [2022-04-28 07:26:01,656 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:26:01,656 INFO L85 PathProgramCache]: Analyzing trace with hash -1372706166, now seen corresponding path program 2 times [2022-04-28 07:26:01,656 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:26:01,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [66926365] [2022-04-28 07:26:01,656 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:26:01,656 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:26:01,672 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:26:01,672 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [531369843] [2022-04-28 07:26:01,672 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:26:01,673 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:26:01,673 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:26:01,673 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 07:26:01,674 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 07:26:01,709 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:26:01,709 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:26:01,710 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 07:26:01,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:26:01,718 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:26:11,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {3840#true} call ULTIMATE.init(); {3840#true} is VALID [2022-04-28 07:26:11,947 INFO L290 TraceCheckUtils]: 1: Hoare triple {3840#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); {3840#true} is VALID [2022-04-28 07:26:11,947 INFO L290 TraceCheckUtils]: 2: Hoare triple {3840#true} assume true; {3840#true} is VALID [2022-04-28 07:26:11,947 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3840#true} {3840#true} #83#return; {3840#true} is VALID [2022-04-28 07:26:11,947 INFO L272 TraceCheckUtils]: 4: Hoare triple {3840#true} call #t~ret6 := main(); {3840#true} is VALID [2022-04-28 07:26:11,947 INFO L290 TraceCheckUtils]: 5: Hoare triple {3840#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; {3840#true} is VALID [2022-04-28 07:26:11,947 INFO L272 TraceCheckUtils]: 6: Hoare triple {3840#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {3840#true} is VALID [2022-04-28 07:26:11,947 INFO L290 TraceCheckUtils]: 7: Hoare triple {3840#true} ~cond := #in~cond; {3840#true} is VALID [2022-04-28 07:26:11,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {3840#true} assume !(0 == ~cond); {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {3840#true} assume true; {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3840#true} {3840#true} #71#return; {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L290 TraceCheckUtils]: 11: Hoare triple {3840#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L272 TraceCheckUtils]: 12: Hoare triple {3840#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {3840#true} ~cond := #in~cond; {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L290 TraceCheckUtils]: 14: Hoare triple {3840#true} assume !(0 == ~cond); {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L290 TraceCheckUtils]: 15: Hoare triple {3840#true} assume true; {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3840#true} {3840#true} #73#return; {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L272 TraceCheckUtils]: 17: Hoare triple {3840#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L290 TraceCheckUtils]: 18: Hoare triple {3840#true} ~cond := #in~cond; {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L290 TraceCheckUtils]: 19: Hoare triple {3840#true} assume !(0 == ~cond); {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L290 TraceCheckUtils]: 20: Hoare triple {3840#true} assume true; {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3840#true} {3840#true} #75#return; {3840#true} is VALID [2022-04-28 07:26:11,948 INFO L290 TraceCheckUtils]: 22: Hoare triple {3840#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3840#true} is VALID [2022-04-28 07:26:11,949 INFO L290 TraceCheckUtils]: 23: Hoare triple {3840#true} assume !false; {3840#true} is VALID [2022-04-28 07:26:11,949 INFO L272 TraceCheckUtils]: 24: Hoare triple {3840#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3840#true} is VALID [2022-04-28 07:26:11,949 INFO L290 TraceCheckUtils]: 25: Hoare triple {3840#true} ~cond := #in~cond; {3840#true} is VALID [2022-04-28 07:26:11,949 INFO L290 TraceCheckUtils]: 26: Hoare triple {3840#true} assume !(0 == ~cond); {3840#true} is VALID [2022-04-28 07:26:11,949 INFO L290 TraceCheckUtils]: 27: Hoare triple {3840#true} assume true; {3840#true} is VALID [2022-04-28 07:26:11,949 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3840#true} {3840#true} #77#return; {3840#true} is VALID [2022-04-28 07:26:11,949 INFO L290 TraceCheckUtils]: 29: Hoare triple {3840#true} assume !!(0 != ~a~0 && 0 != ~b~0); {3932#(not (= main_~a~0 0))} is VALID [2022-04-28 07:26:11,949 INFO L290 TraceCheckUtils]: 30: Hoare triple {3932#(not (= main_~a~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)); {3932#(not (= main_~a~0 0))} is VALID [2022-04-28 07:26:11,950 INFO L290 TraceCheckUtils]: 31: Hoare triple {3932#(not (= main_~a~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)); {3932#(not (= main_~a~0 0))} is VALID [2022-04-28 07:26:11,950 INFO L290 TraceCheckUtils]: 32: Hoare triple {3932#(not (= main_~a~0 0))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {3932#(not (= main_~a~0 0))} is VALID [2022-04-28 07:26:11,950 INFO L290 TraceCheckUtils]: 33: Hoare triple {3932#(not (= main_~a~0 0))} assume !false; {3932#(not (= main_~a~0 0))} is VALID [2022-04-28 07:26:11,950 INFO L272 TraceCheckUtils]: 34: Hoare triple {3932#(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)); {3840#true} is VALID [2022-04-28 07:26:11,951 INFO L290 TraceCheckUtils]: 35: Hoare triple {3840#true} ~cond := #in~cond; {3951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:26:11,951 INFO L290 TraceCheckUtils]: 36: Hoare triple {3951#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:26:11,954 INFO L290 TraceCheckUtils]: 37: Hoare triple {3955#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:26:13,956 WARN L284 TraceCheckUtils]: 38: Hoare quadruple {3955#(not (= |__VERIFIER_assert_#in~cond| 0))} {3932#(not (= main_~a~0 0))} #77#return; {3962#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (not (= main_~a~0 0)))} is UNKNOWN [2022-04-28 07:26:13,957 INFO L290 TraceCheckUtils]: 39: Hoare triple {3962#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (not (= main_~a~0 0)))} assume !(0 != ~a~0 && 0 != ~b~0); {3966#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:26:13,958 INFO L272 TraceCheckUtils]: 40: Hoare triple {3966#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {3970#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:26:13,958 INFO L290 TraceCheckUtils]: 41: Hoare triple {3970#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3974#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:26:13,958 INFO L290 TraceCheckUtils]: 42: Hoare triple {3974#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3841#false} is VALID [2022-04-28 07:26:13,958 INFO L290 TraceCheckUtils]: 43: Hoare triple {3841#false} assume !false; {3841#false} is VALID [2022-04-28 07:26:13,959 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 07:26:13,959 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:26:37,649 INFO L290 TraceCheckUtils]: 43: Hoare triple {3841#false} assume !false; {3841#false} is VALID [2022-04-28 07:26:37,650 INFO L290 TraceCheckUtils]: 42: Hoare triple {3974#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3841#false} is VALID [2022-04-28 07:26:37,650 INFO L290 TraceCheckUtils]: 41: Hoare triple {3970#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3974#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:26:37,651 INFO L272 TraceCheckUtils]: 40: Hoare triple {3966#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {3970#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:26:37,652 INFO L290 TraceCheckUtils]: 39: Hoare triple {3993#(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); {3966#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:26:37,653 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3955#(not (= |__VERIFIER_assert_#in~cond| 0))} {3840#true} #77#return; {3993#(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 07:26:37,653 INFO L290 TraceCheckUtils]: 37: Hoare triple {3955#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:26:37,654 INFO L290 TraceCheckUtils]: 36: Hoare triple {4006#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3955#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:26:37,654 INFO L290 TraceCheckUtils]: 35: Hoare triple {3840#true} ~cond := #in~cond; {4006#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:26:37,654 INFO L272 TraceCheckUtils]: 34: Hoare triple {3840#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3840#true} is VALID [2022-04-28 07:26:37,654 INFO L290 TraceCheckUtils]: 33: Hoare triple {3840#true} assume !false; {3840#true} is VALID [2022-04-28 07:26:37,654 INFO L290 TraceCheckUtils]: 32: Hoare triple {3840#true} 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; {3840#true} is VALID [2022-04-28 07:26:37,654 INFO L290 TraceCheckUtils]: 31: Hoare triple {3840#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)); {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L290 TraceCheckUtils]: 30: Hoare triple {3840#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)); {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L290 TraceCheckUtils]: 29: Hoare triple {3840#true} assume !!(0 != ~a~0 && 0 != ~b~0); {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3840#true} {3840#true} #77#return; {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L290 TraceCheckUtils]: 27: Hoare triple {3840#true} assume true; {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L290 TraceCheckUtils]: 26: Hoare triple {3840#true} assume !(0 == ~cond); {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L290 TraceCheckUtils]: 25: Hoare triple {3840#true} ~cond := #in~cond; {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L272 TraceCheckUtils]: 24: Hoare triple {3840#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L290 TraceCheckUtils]: 23: Hoare triple {3840#true} assume !false; {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L290 TraceCheckUtils]: 22: Hoare triple {3840#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3840#true} {3840#true} #75#return; {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L290 TraceCheckUtils]: 20: Hoare triple {3840#true} assume true; {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L290 TraceCheckUtils]: 19: Hoare triple {3840#true} assume !(0 == ~cond); {3840#true} is VALID [2022-04-28 07:26:37,655 INFO L290 TraceCheckUtils]: 18: Hoare triple {3840#true} ~cond := #in~cond; {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L272 TraceCheckUtils]: 17: Hoare triple {3840#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3840#true} {3840#true} #73#return; {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L290 TraceCheckUtils]: 15: Hoare triple {3840#true} assume true; {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L290 TraceCheckUtils]: 14: Hoare triple {3840#true} assume !(0 == ~cond); {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L290 TraceCheckUtils]: 13: Hoare triple {3840#true} ~cond := #in~cond; {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L272 TraceCheckUtils]: 12: Hoare triple {3840#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L290 TraceCheckUtils]: 11: Hoare triple {3840#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3840#true} {3840#true} #71#return; {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L290 TraceCheckUtils]: 9: Hoare triple {3840#true} assume true; {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L290 TraceCheckUtils]: 8: Hoare triple {3840#true} assume !(0 == ~cond); {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L290 TraceCheckUtils]: 7: Hoare triple {3840#true} ~cond := #in~cond; {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L272 TraceCheckUtils]: 6: Hoare triple {3840#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L290 TraceCheckUtils]: 5: Hoare triple {3840#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; {3840#true} is VALID [2022-04-28 07:26:37,656 INFO L272 TraceCheckUtils]: 4: Hoare triple {3840#true} call #t~ret6 := main(); {3840#true} is VALID [2022-04-28 07:26:37,657 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3840#true} {3840#true} #83#return; {3840#true} is VALID [2022-04-28 07:26:37,657 INFO L290 TraceCheckUtils]: 2: Hoare triple {3840#true} assume true; {3840#true} is VALID [2022-04-28 07:26:37,657 INFO L290 TraceCheckUtils]: 1: Hoare triple {3840#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); {3840#true} is VALID [2022-04-28 07:26:37,657 INFO L272 TraceCheckUtils]: 0: Hoare triple {3840#true} call ULTIMATE.init(); {3840#true} is VALID [2022-04-28 07:26:37,657 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 07:26:37,657 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:26:37,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [66926365] [2022-04-28 07:26:37,657 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:26:37,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [531369843] [2022-04-28 07:26:37,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [531369843] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:26:37,657 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:26:37,657 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-28 07:26:37,658 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:26:37,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1370117422] [2022-04-28 07:26:37,658 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1370117422] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:26:37,658 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:26:37,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 07:26:37,658 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1394803441] [2022-04-28 07:26:37,658 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:26:37,658 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 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 44 [2022-04-28 07:26:37,658 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:26:37,659 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 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 07:26:39,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:26:39,686 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 07:26:39,686 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:26:39,686 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 07:26:39,686 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 07:26:39,687 INFO L87 Difference]: Start difference. First operand 39 states and 45 transitions. Second operand has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 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 07:26:42,480 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 07:26:43,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:26:43,924 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-04-28 07:26:43,924 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 07:26:43,924 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 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 44 [2022-04-28 07:26:43,924 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:26:43,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 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 07:26:43,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 49 transitions. [2022-04-28 07:26:43,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 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 07:26:43,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 49 transitions. [2022-04-28 07:26:43,926 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 49 transitions. [2022-04-28 07:26:45,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 48 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:26:45,965 INFO L225 Difference]: With dead ends: 53 [2022-04-28 07:26:45,965 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 07:26:45,966 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 77 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 07:26:45,966 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 11 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 130 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 130 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:26:45,966 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 136 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 130 Invalid, 1 Unknown, 0 Unchecked, 3.0s Time] [2022-04-28 07:26:45,967 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 07:26:46,011 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 39. [2022-04-28 07:26:46,011 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:26:46,011 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 39 states, 25 states have (on average 1.16) internal successors, (29), 26 states have internal predecessors, (29), 9 states have call successors, (9), 6 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 07:26:46,012 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 39 states, 25 states have (on average 1.16) internal successors, (29), 26 states have internal predecessors, (29), 9 states have call successors, (9), 6 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 07:26:46,012 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 39 states, 25 states have (on average 1.16) internal successors, (29), 26 states have internal predecessors, (29), 9 states have call successors, (9), 6 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 07:26:46,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:26:46,013 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2022-04-28 07:26:46,013 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2022-04-28 07:26:46,013 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:26:46,013 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:26:46,013 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 25 states have (on average 1.16) internal successors, (29), 26 states have internal predecessors, (29), 9 states have call successors, (9), 6 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 48 states. [2022-04-28 07:26:46,014 INFO L87 Difference]: Start difference. First operand has 39 states, 25 states have (on average 1.16) internal successors, (29), 26 states have internal predecessors, (29), 9 states have call successors, (9), 6 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 48 states. [2022-04-28 07:26:46,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:26:46,015 INFO L93 Difference]: Finished difference Result 48 states and 59 transitions. [2022-04-28 07:26:46,015 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 59 transitions. [2022-04-28 07:26:46,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:26:46,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:26:46,015 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:26:46,015 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:26:46,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 25 states have (on average 1.16) internal successors, (29), 26 states have internal predecessors, (29), 9 states have call successors, (9), 6 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 07:26:46,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 45 transitions. [2022-04-28 07:26:46,016 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 45 transitions. Word has length 44 [2022-04-28 07:26:46,016 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:26:46,016 INFO L495 AbstractCegarLoop]: Abstraction has 39 states and 45 transitions. [2022-04-28 07:26:46,016 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 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 07:26:46,017 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 45 transitions. [2022-04-28 07:26:48,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:26:48,458 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 45 transitions. [2022-04-28 07:26:48,458 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 07:26:48,458 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:26:48,459 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, 1] [2022-04-28 07:26:48,475 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 07:26:48,659 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 07:26:48,659 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:26:48,659 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:26:48,660 INFO L85 PathProgramCache]: Analyzing trace with hash -1114540728, now seen corresponding path program 1 times [2022-04-28 07:26:48,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:26:48,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [593720500] [2022-04-28 07:26:48,660 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:26:48,660 INFO L85 PathProgramCache]: Analyzing trace with hash -1114540728, now seen corresponding path program 2 times [2022-04-28 07:26:48,660 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:26:48,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1266339313] [2022-04-28 07:26:48,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:26:48,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:26:48,676 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:26:48,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1817159803] [2022-04-28 07:26:48,677 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:26:48,677 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:26:48,677 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:26:48,678 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 07:26:48,688 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 07:26:48,746 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:26:48,746 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:26:48,747 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 07:26:48,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:26:48,759 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:26:59,308 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 07:26:59,890 INFO L272 TraceCheckUtils]: 0: Hoare triple {4400#true} call ULTIMATE.init(); {4400#true} is VALID [2022-04-28 07:26:59,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {4400#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); {4400#true} is VALID [2022-04-28 07:26:59,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {4400#true} assume true; {4400#true} is VALID [2022-04-28 07:26:59,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4400#true} {4400#true} #83#return; {4400#true} is VALID [2022-04-28 07:26:59,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {4400#true} call #t~ret6 := main(); {4400#true} is VALID [2022-04-28 07:26:59,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {4400#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; {4400#true} is VALID [2022-04-28 07:26:59,891 INFO L272 TraceCheckUtils]: 6: Hoare triple {4400#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {4400#true} is VALID [2022-04-28 07:26:59,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {4400#true} ~cond := #in~cond; {4426#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:26:59,891 INFO L290 TraceCheckUtils]: 8: Hoare triple {4426#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4430#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:26:59,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {4430#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4430#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:26:59,892 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4430#(not (= |assume_abort_if_not_#in~cond| 0))} {4400#true} #71#return; {4437#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:26:59,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {4437#(and (<= 0 main_~x~0) (<= main_~x~0 50))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4437#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:26:59,893 INFO L272 TraceCheckUtils]: 12: Hoare triple {4437#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {4400#true} is VALID [2022-04-28 07:26:59,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {4400#true} ~cond := #in~cond; {4400#true} is VALID [2022-04-28 07:26:59,893 INFO L290 TraceCheckUtils]: 14: Hoare triple {4400#true} assume !(0 == ~cond); {4400#true} is VALID [2022-04-28 07:26:59,893 INFO L290 TraceCheckUtils]: 15: Hoare triple {4400#true} assume true; {4400#true} is VALID [2022-04-28 07:26:59,893 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4400#true} {4437#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #73#return; {4437#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:26:59,893 INFO L272 TraceCheckUtils]: 17: Hoare triple {4437#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4400#true} is VALID [2022-04-28 07:26:59,894 INFO L290 TraceCheckUtils]: 18: Hoare triple {4400#true} ~cond := #in~cond; {4426#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:26:59,894 INFO L290 TraceCheckUtils]: 19: Hoare triple {4426#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4430#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:26:59,894 INFO L290 TraceCheckUtils]: 20: Hoare triple {4430#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4430#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:26:59,895 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4430#(not (= |assume_abort_if_not_#in~cond| 0))} {4437#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #75#return; {4471#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:59,895 INFO L290 TraceCheckUtils]: 22: Hoare triple {4471#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4475#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:59,895 INFO L290 TraceCheckUtils]: 23: Hoare triple {4475#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !false; {4475#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:59,896 INFO L272 TraceCheckUtils]: 24: Hoare triple {4475#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4400#true} is VALID [2022-04-28 07:26:59,896 INFO L290 TraceCheckUtils]: 25: Hoare triple {4400#true} ~cond := #in~cond; {4485#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:26:59,896 INFO L290 TraceCheckUtils]: 26: Hoare triple {4485#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4489#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:26:59,896 INFO L290 TraceCheckUtils]: 27: Hoare triple {4489#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4489#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:26:59,897 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4489#(not (= |__VERIFIER_assert_#in~cond| 0))} {4475#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} #77#return; {4475#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:59,897 INFO L290 TraceCheckUtils]: 29: Hoare triple {4475#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {4499#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:59,898 INFO L290 TraceCheckUtils]: 30: Hoare triple {4499#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~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)); {4499#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:59,898 INFO L290 TraceCheckUtils]: 31: Hoare triple {4499#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~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)); {4499#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:26:59,899 INFO L290 TraceCheckUtils]: 32: Hoare triple {4499#(and (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~y~0 main_~b~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~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; {4509#(and (< 0 (+ main_~a~0 1)) (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)))} is VALID [2022-04-28 07:26:59,900 INFO L290 TraceCheckUtils]: 33: Hoare triple {4509#(and (< 0 (+ main_~a~0 1)) (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)))} assume !false; {4509#(and (< 0 (+ main_~a~0 1)) (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)))} is VALID [2022-04-28 07:26:59,900 INFO L272 TraceCheckUtils]: 34: Hoare triple {4509#(and (< 0 (+ main_~a~0 1)) (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4400#true} is VALID [2022-04-28 07:26:59,900 INFO L290 TraceCheckUtils]: 35: Hoare triple {4400#true} ~cond := #in~cond; {4485#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:26:59,900 INFO L290 TraceCheckUtils]: 36: Hoare triple {4485#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4489#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:26:59,901 INFO L290 TraceCheckUtils]: 37: Hoare triple {4489#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4489#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:01,903 WARN L284 TraceCheckUtils]: 38: Hoare quadruple {4489#(not (= |__VERIFIER_assert_#in~cond| 0))} {4509#(and (< 0 (+ main_~a~0 1)) (<= 1 main_~p~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)))} #77#return; {4528#(and (< 0 (+ main_~a~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (or (and (= main_~a~0 0) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (and (= main_~b~0 0) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (<= 1 (div (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0))) (not (= main_~b~0 0)) (not (= main_~a~0 0)))) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)))} is UNKNOWN [2022-04-28 07:27:01,904 INFO L290 TraceCheckUtils]: 39: Hoare triple {4528#(and (< 0 (+ main_~a~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (or (and (= main_~a~0 0) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (and (= main_~b~0 0) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (<= 1 (div (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0))) (not (= main_~b~0 0)) (not (= main_~a~0 0)))) (<= main_~x~0 (+ main_~a~0 1)) (<= 1 main_~y~0) (<= main_~y~0 (+ main_~b~0 1)))} assume !(0 != ~a~0 && 0 != ~b~0); {4532#(and (or (and (<= main_~x~0 1) (= main_~q~0 (* main_~y~0 main_~x~0))) (and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 1))) (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0))} is VALID [2022-04-28 07:27:01,905 INFO L272 TraceCheckUtils]: 40: Hoare triple {4532#(and (or (and (<= main_~x~0 1) (= main_~q~0 (* main_~y~0 main_~x~0))) (and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= main_~y~0 1))) (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4536#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:27:01,905 INFO L290 TraceCheckUtils]: 41: Hoare triple {4536#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4540#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:27:01,906 INFO L290 TraceCheckUtils]: 42: Hoare triple {4540#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4401#false} is VALID [2022-04-28 07:27:01,906 INFO L290 TraceCheckUtils]: 43: Hoare triple {4401#false} assume !false; {4401#false} is VALID [2022-04-28 07:27:01,906 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 5 proven. 8 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 07:27:01,906 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:27:31,874 INFO L290 TraceCheckUtils]: 43: Hoare triple {4401#false} assume !false; {4401#false} is VALID [2022-04-28 07:27:31,874 INFO L290 TraceCheckUtils]: 42: Hoare triple {4540#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4401#false} is VALID [2022-04-28 07:27:31,875 INFO L290 TraceCheckUtils]: 41: Hoare triple {4536#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4540#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:27:31,875 INFO L272 TraceCheckUtils]: 40: Hoare triple {4556#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4536#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:27:31,876 INFO L290 TraceCheckUtils]: 39: Hoare triple {4560#(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); {4556#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:27:31,878 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4489#(not (= |__VERIFIER_assert_#in~cond| 0))} {4400#true} #77#return; {4560#(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 07:27:31,878 INFO L290 TraceCheckUtils]: 37: Hoare triple {4489#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4489#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:31,878 INFO L290 TraceCheckUtils]: 36: Hoare triple {4573#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4489#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:31,878 INFO L290 TraceCheckUtils]: 35: Hoare triple {4400#true} ~cond := #in~cond; {4573#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:27:31,879 INFO L272 TraceCheckUtils]: 34: Hoare triple {4400#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4400#true} is VALID [2022-04-28 07:27:31,879 INFO L290 TraceCheckUtils]: 33: Hoare triple {4400#true} assume !false; {4400#true} is VALID [2022-04-28 07:27:31,879 INFO L290 TraceCheckUtils]: 32: Hoare triple {4400#true} 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; {4400#true} is VALID [2022-04-28 07:27:31,879 INFO L290 TraceCheckUtils]: 31: Hoare triple {4400#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)); {4400#true} is VALID [2022-04-28 07:27:31,879 INFO L290 TraceCheckUtils]: 30: Hoare triple {4400#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)); {4400#true} is VALID [2022-04-28 07:27:31,879 INFO L290 TraceCheckUtils]: 29: Hoare triple {4400#true} assume !!(0 != ~a~0 && 0 != ~b~0); {4400#true} is VALID [2022-04-28 07:27:31,879 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4400#true} {4400#true} #77#return; {4400#true} is VALID [2022-04-28 07:27:31,879 INFO L290 TraceCheckUtils]: 27: Hoare triple {4400#true} assume true; {4400#true} is VALID [2022-04-28 07:27:31,879 INFO L290 TraceCheckUtils]: 26: Hoare triple {4400#true} assume !(0 == ~cond); {4400#true} is VALID [2022-04-28 07:27:31,879 INFO L290 TraceCheckUtils]: 25: Hoare triple {4400#true} ~cond := #in~cond; {4400#true} is VALID [2022-04-28 07:27:31,879 INFO L272 TraceCheckUtils]: 24: Hoare triple {4400#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4400#true} is VALID [2022-04-28 07:27:31,879 INFO L290 TraceCheckUtils]: 23: Hoare triple {4400#true} assume !false; {4400#true} is VALID [2022-04-28 07:27:31,879 INFO L290 TraceCheckUtils]: 22: Hoare triple {4400#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4400#true} {4400#true} #75#return; {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L290 TraceCheckUtils]: 20: Hoare triple {4400#true} assume true; {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L290 TraceCheckUtils]: 19: Hoare triple {4400#true} assume !(0 == ~cond); {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L290 TraceCheckUtils]: 18: Hoare triple {4400#true} ~cond := #in~cond; {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L272 TraceCheckUtils]: 17: Hoare triple {4400#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4400#true} {4400#true} #73#return; {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L290 TraceCheckUtils]: 15: Hoare triple {4400#true} assume true; {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {4400#true} assume !(0 == ~cond); {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {4400#true} ~cond := #in~cond; {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L272 TraceCheckUtils]: 12: Hoare triple {4400#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {4400#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4400#true} {4400#true} #71#return; {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {4400#true} assume true; {4400#true} is VALID [2022-04-28 07:27:31,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {4400#true} assume !(0 == ~cond); {4400#true} is VALID [2022-04-28 07:27:31,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {4400#true} ~cond := #in~cond; {4400#true} is VALID [2022-04-28 07:27:31,881 INFO L272 TraceCheckUtils]: 6: Hoare triple {4400#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {4400#true} is VALID [2022-04-28 07:27:31,881 INFO L290 TraceCheckUtils]: 5: Hoare triple {4400#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; {4400#true} is VALID [2022-04-28 07:27:31,881 INFO L272 TraceCheckUtils]: 4: Hoare triple {4400#true} call #t~ret6 := main(); {4400#true} is VALID [2022-04-28 07:27:31,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4400#true} {4400#true} #83#return; {4400#true} is VALID [2022-04-28 07:27:31,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {4400#true} assume true; {4400#true} is VALID [2022-04-28 07:27:31,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {4400#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); {4400#true} is VALID [2022-04-28 07:27:31,881 INFO L272 TraceCheckUtils]: 0: Hoare triple {4400#true} call ULTIMATE.init(); {4400#true} is VALID [2022-04-28 07:27:31,882 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 07:27:31,882 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:27:31,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1266339313] [2022-04-28 07:27:31,882 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:27:31,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1817159803] [2022-04-28 07:27:31,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1817159803] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:27:31,882 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:27:31,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 8] total 18 [2022-04-28 07:27:31,882 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:27:31,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [593720500] [2022-04-28 07:27:31,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [593720500] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:27:31,883 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:27:31,883 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 07:27:31,883 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1146694901] [2022-04-28 07:27:31,883 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:27:31,885 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 1.7142857142857142) internal successors, (24), 12 states have internal predecessors, (24), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 44 [2022-04-28 07:27:31,885 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:27:31,885 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 1.7142857142857142) internal successors, (24), 12 states have internal predecessors, (24), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:27:33,914 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:33,915 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 07:27:33,915 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:33,915 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 07:27:33,926 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=250, Unknown=0, NotChecked=0, Total=306 [2022-04-28 07:27:33,932 INFO L87 Difference]: Start difference. First operand 39 states and 45 transitions. Second operand has 15 states, 14 states have (on average 1.7142857142857142) internal successors, (24), 12 states have internal predecessors, (24), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:27:37,034 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 07:27:41,350 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 07:27:42,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:42,258 INFO L93 Difference]: Finished difference Result 57 states and 71 transitions. [2022-04-28 07:27:42,258 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 07:27:42,259 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 1.7142857142857142) internal successors, (24), 12 states have internal predecessors, (24), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) Word has length 44 [2022-04-28 07:27:42,259 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:27:42,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 1.7142857142857142) internal successors, (24), 12 states have internal predecessors, (24), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:27:42,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 59 transitions. [2022-04-28 07:27:42,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 1.7142857142857142) internal successors, (24), 12 states have internal predecessors, (24), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:27:42,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 59 transitions. [2022-04-28 07:27:42,261 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 59 transitions. [2022-04-28 07:27:44,316 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 58 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:44,317 INFO L225 Difference]: With dead ends: 57 [2022-04-28 07:27:44,317 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 07:27:44,317 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 70 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 104 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=110, Invalid=490, Unknown=0, NotChecked=0, Total=600 [2022-04-28 07:27:44,317 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 46 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 228 mSolverCounterSat, 19 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 249 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 228 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.5s IncrementalHoareTripleChecker+Time [2022-04-28 07:27:44,318 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [49 Valid, 117 Invalid, 249 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 228 Invalid, 2 Unknown, 0 Unchecked, 6.5s Time] [2022-04-28 07:27:44,318 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 07:27:44,392 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 43. [2022-04-28 07:27:44,392 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:27:44,393 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 43 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 29 states have internal predecessors, (36), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:27:44,393 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 43 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 29 states have internal predecessors, (36), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:27:44,393 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 43 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 29 states have internal predecessors, (36), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:27:44,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:44,394 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-28 07:27:44,394 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-28 07:27:44,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:44,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:44,394 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 29 states have internal predecessors, (36), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 52 states. [2022-04-28 07:27:44,394 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 29 states have internal predecessors, (36), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 52 states. [2022-04-28 07:27:44,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:44,395 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-28 07:27:44,396 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 66 transitions. [2022-04-28 07:27:44,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:44,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:44,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:27:44,396 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:27:44,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 29 states have (on average 1.2413793103448276) internal successors, (36), 29 states have internal predecessors, (36), 9 states have call successors, (9), 6 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:27:44,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 52 transitions. [2022-04-28 07:27:44,397 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 52 transitions. Word has length 44 [2022-04-28 07:27:44,397 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:27:44,397 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 52 transitions. [2022-04-28 07:27:44,397 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 1.7142857142857142) internal successors, (24), 12 states have internal predecessors, (24), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:27:44,397 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 52 transitions. [2022-04-28 07:27:46,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 51 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:46,981 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 52 transitions. [2022-04-28 07:27:46,982 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 07:27:46,982 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:27:46,982 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 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] [2022-04-28 07:27:46,998 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-28 07:27:47,182 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 07:27:47,183 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:27:47,183 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:27:47,183 INFO L85 PathProgramCache]: Analyzing trace with hash 2079436449, now seen corresponding path program 1 times [2022-04-28 07:27:47,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:47,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1085168140] [2022-04-28 07:27:47,183 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:27:47,183 INFO L85 PathProgramCache]: Analyzing trace with hash 2079436449, now seen corresponding path program 2 times [2022-04-28 07:27:47,184 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:27:47,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1641517730] [2022-04-28 07:27:47,184 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:27:47,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:27:47,195 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:27:47,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1966551460] [2022-04-28 07:27:47,195 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:27:47,195 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:27:47,195 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:27:47,202 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 07:27:47,204 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 07:27:47,262 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:27:47,262 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:27:47,263 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 07:27:47,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:47,276 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:27:59,468 INFO L272 TraceCheckUtils]: 0: Hoare triple {4999#true} call ULTIMATE.init(); {4999#true} is VALID [2022-04-28 07:27:59,469 INFO L290 TraceCheckUtils]: 1: Hoare triple {4999#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); {4999#true} is VALID [2022-04-28 07:27:59,469 INFO L290 TraceCheckUtils]: 2: Hoare triple {4999#true} assume true; {4999#true} is VALID [2022-04-28 07:27:59,469 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4999#true} {4999#true} #83#return; {4999#true} is VALID [2022-04-28 07:27:59,469 INFO L272 TraceCheckUtils]: 4: Hoare triple {4999#true} call #t~ret6 := main(); {4999#true} is VALID [2022-04-28 07:27:59,469 INFO L290 TraceCheckUtils]: 5: Hoare triple {4999#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; {4999#true} is VALID [2022-04-28 07:27:59,469 INFO L272 TraceCheckUtils]: 6: Hoare triple {4999#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {4999#true} is VALID [2022-04-28 07:27:59,469 INFO L290 TraceCheckUtils]: 7: Hoare triple {4999#true} ~cond := #in~cond; {5025#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:27:59,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {5025#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5029#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:27:59,470 INFO L290 TraceCheckUtils]: 9: Hoare triple {5029#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5029#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:27:59,470 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5029#(not (= |assume_abort_if_not_#in~cond| 0))} {4999#true} #71#return; {5036#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:27:59,471 INFO L290 TraceCheckUtils]: 11: Hoare triple {5036#(and (<= 0 main_~x~0) (<= main_~x~0 50))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5036#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:27:59,471 INFO L272 TraceCheckUtils]: 12: Hoare triple {5036#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {4999#true} is VALID [2022-04-28 07:27:59,471 INFO L290 TraceCheckUtils]: 13: Hoare triple {4999#true} ~cond := #in~cond; {4999#true} is VALID [2022-04-28 07:27:59,471 INFO L290 TraceCheckUtils]: 14: Hoare triple {4999#true} assume !(0 == ~cond); {4999#true} is VALID [2022-04-28 07:27:59,471 INFO L290 TraceCheckUtils]: 15: Hoare triple {4999#true} assume true; {4999#true} is VALID [2022-04-28 07:27:59,471 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4999#true} {5036#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #73#return; {5036#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:27:59,471 INFO L272 TraceCheckUtils]: 17: Hoare triple {5036#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4999#true} is VALID [2022-04-28 07:27:59,472 INFO L290 TraceCheckUtils]: 18: Hoare triple {4999#true} ~cond := #in~cond; {5025#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:27:59,472 INFO L290 TraceCheckUtils]: 19: Hoare triple {5025#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5029#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:27:59,472 INFO L290 TraceCheckUtils]: 20: Hoare triple {5029#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5029#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:27:59,473 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5029#(not (= |assume_abort_if_not_#in~cond| 0))} {5036#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #75#return; {5070#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0))} is VALID [2022-04-28 07:27:59,473 INFO L290 TraceCheckUtils]: 22: Hoare triple {5070#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {5074#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:27:59,474 INFO L290 TraceCheckUtils]: 23: Hoare triple {5074#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !false; {5074#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:27:59,474 INFO L272 TraceCheckUtils]: 24: Hoare triple {5074#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4999#true} is VALID [2022-04-28 07:27:59,474 INFO L290 TraceCheckUtils]: 25: Hoare triple {4999#true} ~cond := #in~cond; {4999#true} is VALID [2022-04-28 07:27:59,474 INFO L290 TraceCheckUtils]: 26: Hoare triple {4999#true} assume !(0 == ~cond); {4999#true} is VALID [2022-04-28 07:27:59,474 INFO L290 TraceCheckUtils]: 27: Hoare triple {4999#true} assume true; {4999#true} is VALID [2022-04-28 07:27:59,474 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4999#true} {5074#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} #77#return; {5074#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:27:59,475 INFO L290 TraceCheckUtils]: 29: Hoare triple {5074#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {5096#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:27:59,476 INFO L290 TraceCheckUtils]: 30: Hoare triple {5096#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~b~0 main_~y~0) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)) (<= 1 main_~y~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; {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:27:59,476 INFO L290 TraceCheckUtils]: 31: Hoare triple {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} assume !false; {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:27:59,477 INFO L272 TraceCheckUtils]: 32: Hoare triple {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4999#true} is VALID [2022-04-28 07:27:59,477 INFO L290 TraceCheckUtils]: 33: Hoare triple {4999#true} ~cond := #in~cond; {4999#true} is VALID [2022-04-28 07:27:59,477 INFO L290 TraceCheckUtils]: 34: Hoare triple {4999#true} assume !(0 == ~cond); {4999#true} is VALID [2022-04-28 07:27:59,477 INFO L290 TraceCheckUtils]: 35: Hoare triple {4999#true} assume true; {4999#true} is VALID [2022-04-28 07:27:59,477 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4999#true} {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} #77#return; {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:27:59,478 INFO L290 TraceCheckUtils]: 37: Hoare triple {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} assume !!(0 != ~a~0 && 0 != ~b~0); {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:27:59,478 INFO L290 TraceCheckUtils]: 38: Hoare triple {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~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)); {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:27:59,479 INFO L290 TraceCheckUtils]: 39: Hoare triple {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~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)); {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:27:59,480 INFO L290 TraceCheckUtils]: 40: Hoare triple {5100#(and (<= (div main_~y~0 2) main_~b~0) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~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; {5131#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (<= (div main_~y~0 2) (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:27:59,480 INFO L290 TraceCheckUtils]: 41: Hoare triple {5131#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (<= (div main_~y~0 2) (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} assume !false; {5131#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (<= (div main_~y~0 2) (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:27:59,480 INFO L272 TraceCheckUtils]: 42: Hoare triple {5131#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (<= (div main_~y~0 2) (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4999#true} is VALID [2022-04-28 07:27:59,481 INFO L290 TraceCheckUtils]: 43: Hoare triple {4999#true} ~cond := #in~cond; {5141#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:27:59,481 INFO L290 TraceCheckUtils]: 44: Hoare triple {5141#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5145#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:59,481 INFO L290 TraceCheckUtils]: 45: Hoare triple {5145#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5145#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:01,483 WARN L284 TraceCheckUtils]: 46: Hoare quadruple {5145#(not (= |__VERIFIER_assert_#in~cond| 0))} {5131#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (<= (div main_~y~0 2) (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0))} #77#return; {5152#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (<= (div main_~y~0 2) (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0) (or (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)))))} is UNKNOWN [2022-04-28 07:28:01,485 INFO L290 TraceCheckUtils]: 47: Hoare triple {5152#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (<= (div main_~y~0 2) (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0) (or (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)))))} assume !(0 != ~a~0 && 0 != ~b~0); {5156#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0) (or (and (<= (div main_~y~0 2) 1) (= main_~q~0 (* main_~y~0 main_~x~0))) (and (< (div (* (- 1) main_~x~0) (- 2)) 2) (= main_~q~0 (* main_~y~0 main_~x~0)))))} is VALID [2022-04-28 07:28:01,486 INFO L272 TraceCheckUtils]: 48: Hoare triple {5156#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= (mod main_~y~0 2) 0) (<= 1 main_~y~0) (or (and (<= (div main_~y~0 2) 1) (= main_~q~0 (* main_~y~0 main_~x~0))) (and (< (div (* (- 1) main_~x~0) (- 2)) 2) (= main_~q~0 (* main_~y~0 main_~x~0)))))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5160#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:28:01,486 INFO L290 TraceCheckUtils]: 49: Hoare triple {5160#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5164#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:01,486 INFO L290 TraceCheckUtils]: 50: Hoare triple {5164#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5000#false} is VALID [2022-04-28 07:28:01,486 INFO L290 TraceCheckUtils]: 51: Hoare triple {5000#false} assume !false; {5000#false} is VALID [2022-04-28 07:28:01,487 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 14 proven. 14 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:28:01,487 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:28:34,759 INFO L290 TraceCheckUtils]: 51: Hoare triple {5000#false} assume !false; {5000#false} is VALID [2022-04-28 07:28:34,759 INFO L290 TraceCheckUtils]: 50: Hoare triple {5164#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5000#false} is VALID [2022-04-28 07:28:34,760 INFO L290 TraceCheckUtils]: 49: Hoare triple {5160#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5164#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:34,760 INFO L272 TraceCheckUtils]: 48: Hoare triple {5180#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5160#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:28:34,761 INFO L290 TraceCheckUtils]: 47: Hoare triple {5184#(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); {5180#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:28:34,762 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5145#(not (= |__VERIFIER_assert_#in~cond| 0))} {4999#true} #77#return; {5184#(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 07:28:34,763 INFO L290 TraceCheckUtils]: 45: Hoare triple {5145#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5145#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:34,763 INFO L290 TraceCheckUtils]: 44: Hoare triple {5197#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5145#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:34,763 INFO L290 TraceCheckUtils]: 43: Hoare triple {4999#true} ~cond := #in~cond; {5197#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:28:34,763 INFO L272 TraceCheckUtils]: 42: Hoare triple {4999#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4999#true} is VALID [2022-04-28 07:28:34,763 INFO L290 TraceCheckUtils]: 41: Hoare triple {4999#true} assume !false; {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L290 TraceCheckUtils]: 40: Hoare triple {4999#true} 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; {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L290 TraceCheckUtils]: 39: Hoare triple {4999#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)); {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L290 TraceCheckUtils]: 38: Hoare triple {4999#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)); {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L290 TraceCheckUtils]: 37: Hoare triple {4999#true} assume !!(0 != ~a~0 && 0 != ~b~0); {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4999#true} {4999#true} #77#return; {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L290 TraceCheckUtils]: 35: Hoare triple {4999#true} assume true; {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L290 TraceCheckUtils]: 34: Hoare triple {4999#true} assume !(0 == ~cond); {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L290 TraceCheckUtils]: 33: Hoare triple {4999#true} ~cond := #in~cond; {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L272 TraceCheckUtils]: 32: Hoare triple {4999#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L290 TraceCheckUtils]: 31: Hoare triple {4999#true} assume !false; {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L290 TraceCheckUtils]: 30: Hoare triple {4999#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);~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; {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L290 TraceCheckUtils]: 29: Hoare triple {4999#true} assume !!(0 != ~a~0 && 0 != ~b~0); {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4999#true} {4999#true} #77#return; {4999#true} is VALID [2022-04-28 07:28:34,764 INFO L290 TraceCheckUtils]: 27: Hoare triple {4999#true} assume true; {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L290 TraceCheckUtils]: 26: Hoare triple {4999#true} assume !(0 == ~cond); {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L290 TraceCheckUtils]: 25: Hoare triple {4999#true} ~cond := #in~cond; {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L272 TraceCheckUtils]: 24: Hoare triple {4999#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L290 TraceCheckUtils]: 23: Hoare triple {4999#true} assume !false; {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L290 TraceCheckUtils]: 22: Hoare triple {4999#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4999#true} {4999#true} #75#return; {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L290 TraceCheckUtils]: 20: Hoare triple {4999#true} assume true; {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L290 TraceCheckUtils]: 19: Hoare triple {4999#true} assume !(0 == ~cond); {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L290 TraceCheckUtils]: 18: Hoare triple {4999#true} ~cond := #in~cond; {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L272 TraceCheckUtils]: 17: Hoare triple {4999#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4999#true} {4999#true} #73#return; {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L290 TraceCheckUtils]: 15: Hoare triple {4999#true} assume true; {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {4999#true} assume !(0 == ~cond); {4999#true} is VALID [2022-04-28 07:28:34,765 INFO L290 TraceCheckUtils]: 13: Hoare triple {4999#true} ~cond := #in~cond; {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L272 TraceCheckUtils]: 12: Hoare triple {4999#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L290 TraceCheckUtils]: 11: Hoare triple {4999#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4999#true} {4999#true} #71#return; {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L290 TraceCheckUtils]: 9: Hoare triple {4999#true} assume true; {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L290 TraceCheckUtils]: 8: Hoare triple {4999#true} assume !(0 == ~cond); {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L290 TraceCheckUtils]: 7: Hoare triple {4999#true} ~cond := #in~cond; {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L272 TraceCheckUtils]: 6: Hoare triple {4999#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L290 TraceCheckUtils]: 5: Hoare triple {4999#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; {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {4999#true} call #t~ret6 := main(); {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4999#true} {4999#true} #83#return; {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {4999#true} assume true; {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {4999#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); {4999#true} is VALID [2022-04-28 07:28:34,766 INFO L272 TraceCheckUtils]: 0: Hoare triple {4999#true} call ULTIMATE.init(); {4999#true} is VALID [2022-04-28 07:28:34,767 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-28 07:28:34,767 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:28:34,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1641517730] [2022-04-28 07:28:34,767 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:28:34,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1966551460] [2022-04-28 07:28:34,767 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1966551460] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:28:34,767 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:28:34,767 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 8] total 19 [2022-04-28 07:28:34,767 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:28:34,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1085168140] [2022-04-28 07:28:34,767 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1085168140] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:28:34,767 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:28:34,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 07:28:34,768 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2057971616] [2022-04-28 07:28:34,768 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:28:34,768 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Word has length 52 [2022-04-28 07:28:34,768 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:28:34,768 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 07:28:36,826 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 45 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:28:36,826 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 07:28:36,826 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:36,826 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 07:28:36,826 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=281, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:28:36,827 INFO L87 Difference]: Start difference. First operand 43 states and 52 transitions. Second operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 07:28:39,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:39,632 INFO L93 Difference]: Finished difference Result 63 states and 81 transitions. [2022-04-28 07:28:39,632 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 07:28:39,632 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) Word has length 52 [2022-04-28 07:28:39,632 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:28:39,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 07:28:39,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 69 transitions. [2022-04-28 07:28:39,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 07:28:39,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 69 transitions. [2022-04-28 07:28:39,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 69 transitions. [2022-04-28 07:28:43,702 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 67 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 07:28:43,702 INFO L225 Difference]: With dead ends: 63 [2022-04-28 07:28:43,702 INFO L226 Difference]: Without dead ends: 58 [2022-04-28 07:28:43,703 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 108 GetRequests, 85 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 109 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=95, Invalid=457, Unknown=0, NotChecked=0, Total=552 [2022-04-28 07:28:43,703 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 60 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 277 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 277 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-28 07:28:43,703 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [63 Valid, 120 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 277 Invalid, 0 Unknown, 0 Unchecked, 1.2s Time] [2022-04-28 07:28:43,704 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-28 07:28:43,811 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 47. [2022-04-28 07:28:43,812 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:28:43,812 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 47 states, 32 states have (on average 1.25) internal successors, (40), 32 states have internal predecessors, (40), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:28:43,812 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 47 states, 32 states have (on average 1.25) internal successors, (40), 32 states have internal predecessors, (40), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:28:43,812 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 47 states, 32 states have (on average 1.25) internal successors, (40), 32 states have internal predecessors, (40), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:28:43,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:43,813 INFO L93 Difference]: Finished difference Result 58 states and 76 transitions. [2022-04-28 07:28:43,813 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 76 transitions. [2022-04-28 07:28:43,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:43,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:43,814 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 32 states have (on average 1.25) internal successors, (40), 32 states have internal predecessors, (40), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 58 states. [2022-04-28 07:28:43,814 INFO L87 Difference]: Start difference. First operand has 47 states, 32 states have (on average 1.25) internal successors, (40), 32 states have internal predecessors, (40), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 58 states. [2022-04-28 07:28:43,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:43,815 INFO L93 Difference]: Finished difference Result 58 states and 76 transitions. [2022-04-28 07:28:43,815 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 76 transitions. [2022-04-28 07:28:43,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:43,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:43,815 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:28:43,815 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:28:43,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 32 states have (on average 1.25) internal successors, (40), 32 states have internal predecessors, (40), 10 states have call successors, (10), 6 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:28:43,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 58 transitions. [2022-04-28 07:28:43,818 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 58 transitions. Word has length 52 [2022-04-28 07:28:43,818 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:28:43,818 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 58 transitions. [2022-04-28 07:28:43,818 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.0) internal successors, (30), 13 states have internal predecessors, (30), 6 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 6 states have call predecessors, (7), 5 states have call successors, (7) [2022-04-28 07:28:43,819 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 58 transitions. [2022-04-28 07:28:48,526 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 56 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-28 07:28:48,526 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 58 transitions. [2022-04-28 07:28:48,527 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 07:28:48,527 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:28:48,527 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 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] [2022-04-28 07:28:48,543 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 07:28:48,727 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 07:28:48,727 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:28:48,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:28:48,728 INFO L85 PathProgramCache]: Analyzing trace with hash -1287237523, now seen corresponding path program 1 times [2022-04-28 07:28:48,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:48,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [818752078] [2022-04-28 07:28:48,728 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:28:48,728 INFO L85 PathProgramCache]: Analyzing trace with hash -1287237523, now seen corresponding path program 2 times [2022-04-28 07:28:48,728 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:28:48,728 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1973456934] [2022-04-28 07:28:48,728 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:28:48,728 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:28:48,738 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:28:48,738 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [803103207] [2022-04-28 07:28:48,738 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:28:48,739 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:28:48,739 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:28:48,739 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:28:48,740 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 07:28:48,778 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:28:48,778 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:28:48,779 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 07:28:48,788 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:48,788 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:28:49,658 INFO L272 TraceCheckUtils]: 0: Hoare triple {5675#true} call ULTIMATE.init(); {5675#true} is VALID [2022-04-28 07:28:49,658 INFO L290 TraceCheckUtils]: 1: Hoare triple {5675#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); {5675#true} is VALID [2022-04-28 07:28:49,658 INFO L290 TraceCheckUtils]: 2: Hoare triple {5675#true} assume true; {5675#true} is VALID [2022-04-28 07:28:49,658 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5675#true} {5675#true} #83#return; {5675#true} is VALID [2022-04-28 07:28:49,658 INFO L272 TraceCheckUtils]: 4: Hoare triple {5675#true} call #t~ret6 := main(); {5675#true} is VALID [2022-04-28 07:28:49,658 INFO L290 TraceCheckUtils]: 5: Hoare triple {5675#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; {5675#true} is VALID [2022-04-28 07:28:49,659 INFO L272 TraceCheckUtils]: 6: Hoare triple {5675#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {5675#true} is VALID [2022-04-28 07:28:49,659 INFO L290 TraceCheckUtils]: 7: Hoare triple {5675#true} ~cond := #in~cond; {5675#true} is VALID [2022-04-28 07:28:49,659 INFO L290 TraceCheckUtils]: 8: Hoare triple {5675#true} assume !(0 == ~cond); {5675#true} is VALID [2022-04-28 07:28:49,659 INFO L290 TraceCheckUtils]: 9: Hoare triple {5675#true} assume true; {5675#true} is VALID [2022-04-28 07:28:49,659 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5675#true} {5675#true} #71#return; {5675#true} is VALID [2022-04-28 07:28:49,659 INFO L290 TraceCheckUtils]: 11: Hoare triple {5675#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5675#true} is VALID [2022-04-28 07:28:49,659 INFO L272 TraceCheckUtils]: 12: Hoare triple {5675#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {5675#true} is VALID [2022-04-28 07:28:49,659 INFO L290 TraceCheckUtils]: 13: Hoare triple {5675#true} ~cond := #in~cond; {5675#true} is VALID [2022-04-28 07:28:49,659 INFO L290 TraceCheckUtils]: 14: Hoare triple {5675#true} assume !(0 == ~cond); {5675#true} is VALID [2022-04-28 07:28:49,659 INFO L290 TraceCheckUtils]: 15: Hoare triple {5675#true} assume true; {5675#true} is VALID [2022-04-28 07:28:49,659 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5675#true} {5675#true} #73#return; {5675#true} is VALID [2022-04-28 07:28:49,659 INFO L272 TraceCheckUtils]: 17: Hoare triple {5675#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5675#true} is VALID [2022-04-28 07:28:49,660 INFO L290 TraceCheckUtils]: 18: Hoare triple {5675#true} ~cond := #in~cond; {5734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:28:49,660 INFO L290 TraceCheckUtils]: 19: Hoare triple {5734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:49,660 INFO L290 TraceCheckUtils]: 20: Hoare triple {5738#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:49,661 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5738#(not (= |assume_abort_if_not_#in~cond| 0))} {5675#true} #75#return; {5745#(<= 1 main_~y~0)} is VALID [2022-04-28 07:28:49,661 INFO L290 TraceCheckUtils]: 22: Hoare triple {5745#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {5749#(<= 1 main_~b~0)} is VALID [2022-04-28 07:28:49,661 INFO L290 TraceCheckUtils]: 23: Hoare triple {5749#(<= 1 main_~b~0)} assume !false; {5749#(<= 1 main_~b~0)} is VALID [2022-04-28 07:28:49,661 INFO L272 TraceCheckUtils]: 24: Hoare triple {5749#(<= 1 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5675#true} is VALID [2022-04-28 07:28:49,662 INFO L290 TraceCheckUtils]: 25: Hoare triple {5675#true} ~cond := #in~cond; {5675#true} is VALID [2022-04-28 07:28:49,662 INFO L290 TraceCheckUtils]: 26: Hoare triple {5675#true} assume !(0 == ~cond); {5675#true} is VALID [2022-04-28 07:28:49,662 INFO L290 TraceCheckUtils]: 27: Hoare triple {5675#true} assume true; {5675#true} is VALID [2022-04-28 07:28:49,662 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5675#true} {5749#(<= 1 main_~b~0)} #77#return; {5749#(<= 1 main_~b~0)} is VALID [2022-04-28 07:28:49,663 INFO L290 TraceCheckUtils]: 29: Hoare triple {5749#(<= 1 main_~b~0)} assume !!(0 != ~a~0 && 0 != ~b~0); {5771#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:49,663 INFO L290 TraceCheckUtils]: 30: Hoare triple {5771#(and (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)); {5771#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:49,664 INFO L290 TraceCheckUtils]: 31: Hoare triple {5771#(and (not (= main_~a~0 0)) (<= 1 main_~b~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; {5778#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:49,664 INFO L290 TraceCheckUtils]: 32: Hoare triple {5778#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} assume !false; {5778#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:49,665 INFO L272 TraceCheckUtils]: 33: Hoare triple {5778#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5675#true} is VALID [2022-04-28 07:28:49,665 INFO L290 TraceCheckUtils]: 34: Hoare triple {5675#true} ~cond := #in~cond; {5675#true} is VALID [2022-04-28 07:28:49,665 INFO L290 TraceCheckUtils]: 35: Hoare triple {5675#true} assume !(0 == ~cond); {5675#true} is VALID [2022-04-28 07:28:49,665 INFO L290 TraceCheckUtils]: 36: Hoare triple {5675#true} assume true; {5675#true} is VALID [2022-04-28 07:28:49,665 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5675#true} {5778#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} #77#return; {5778#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:49,666 INFO L290 TraceCheckUtils]: 38: Hoare triple {5778#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {5778#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:49,666 INFO L290 TraceCheckUtils]: 39: Hoare triple {5778#(and (<= (mod main_~b~0 2) 0) (< 0 (+ (div main_~a~0 2) 1)) (<= 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)); {5803#(and (<= (mod main_~b~0 2) 0) (not (= (mod main_~a~0 2) 0)) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:49,667 INFO L290 TraceCheckUtils]: 40: Hoare triple {5803#(and (<= (mod main_~b~0 2) 0) (not (= (mod main_~a~0 2) 0)) (< 0 (+ (div main_~a~0 2) 1)) (<= 1 main_~b~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)); {5676#false} is VALID [2022-04-28 07:28:49,667 INFO L290 TraceCheckUtils]: 41: Hoare triple {5676#false} 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; {5676#false} is VALID [2022-04-28 07:28:49,667 INFO L290 TraceCheckUtils]: 42: Hoare triple {5676#false} assume !false; {5676#false} is VALID [2022-04-28 07:28:49,667 INFO L272 TraceCheckUtils]: 43: Hoare triple {5676#false} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5676#false} is VALID [2022-04-28 07:28:49,667 INFO L290 TraceCheckUtils]: 44: Hoare triple {5676#false} ~cond := #in~cond; {5676#false} is VALID [2022-04-28 07:28:49,667 INFO L290 TraceCheckUtils]: 45: Hoare triple {5676#false} assume !(0 == ~cond); {5676#false} is VALID [2022-04-28 07:28:49,668 INFO L290 TraceCheckUtils]: 46: Hoare triple {5676#false} assume true; {5676#false} is VALID [2022-04-28 07:28:49,668 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5676#false} {5676#false} #77#return; {5676#false} is VALID [2022-04-28 07:28:49,668 INFO L290 TraceCheckUtils]: 48: Hoare triple {5676#false} assume !(0 != ~a~0 && 0 != ~b~0); {5676#false} is VALID [2022-04-28 07:28:49,668 INFO L272 TraceCheckUtils]: 49: Hoare triple {5676#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5676#false} is VALID [2022-04-28 07:28:49,668 INFO L290 TraceCheckUtils]: 50: Hoare triple {5676#false} ~cond := #in~cond; {5676#false} is VALID [2022-04-28 07:28:49,668 INFO L290 TraceCheckUtils]: 51: Hoare triple {5676#false} assume 0 == ~cond; {5676#false} is VALID [2022-04-28 07:28:49,668 INFO L290 TraceCheckUtils]: 52: Hoare triple {5676#false} assume !false; {5676#false} is VALID [2022-04-28 07:28:49,668 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 28 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:28:49,668 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:28:50,466 INFO L290 TraceCheckUtils]: 52: Hoare triple {5676#false} assume !false; {5676#false} is VALID [2022-04-28 07:28:50,466 INFO L290 TraceCheckUtils]: 51: Hoare triple {5676#false} assume 0 == ~cond; {5676#false} is VALID [2022-04-28 07:28:50,466 INFO L290 TraceCheckUtils]: 50: Hoare triple {5676#false} ~cond := #in~cond; {5676#false} is VALID [2022-04-28 07:28:50,466 INFO L272 TraceCheckUtils]: 49: Hoare triple {5676#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {5676#false} is VALID [2022-04-28 07:28:50,466 INFO L290 TraceCheckUtils]: 48: Hoare triple {5676#false} assume !(0 != ~a~0 && 0 != ~b~0); {5676#false} is VALID [2022-04-28 07:28:50,466 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5675#true} {5676#false} #77#return; {5676#false} is VALID [2022-04-28 07:28:50,466 INFO L290 TraceCheckUtils]: 46: Hoare triple {5675#true} assume true; {5675#true} is VALID [2022-04-28 07:28:50,466 INFO L290 TraceCheckUtils]: 45: Hoare triple {5675#true} assume !(0 == ~cond); {5675#true} is VALID [2022-04-28 07:28:50,466 INFO L290 TraceCheckUtils]: 44: Hoare triple {5675#true} ~cond := #in~cond; {5675#true} is VALID [2022-04-28 07:28:50,466 INFO L272 TraceCheckUtils]: 43: Hoare triple {5676#false} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5675#true} is VALID [2022-04-28 07:28:50,467 INFO L290 TraceCheckUtils]: 42: Hoare triple {5676#false} assume !false; {5676#false} is VALID [2022-04-28 07:28:50,467 INFO L290 TraceCheckUtils]: 41: Hoare triple {5676#false} 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; {5676#false} is VALID [2022-04-28 07:28:50,467 INFO L290 TraceCheckUtils]: 40: Hoare triple {5879#(and (= (mod main_~a~0 2) 1) (= (mod main_~b~0 2) 0) (<= 0 main_~a~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)); {5676#false} is VALID [2022-04-28 07:28:50,468 INFO L290 TraceCheckUtils]: 39: Hoare triple {5883#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~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)); {5879#(and (= (mod main_~a~0 2) 1) (= (mod main_~b~0 2) 0) (<= 0 main_~a~0))} is VALID [2022-04-28 07:28:50,468 INFO L290 TraceCheckUtils]: 38: Hoare triple {5883#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {5883#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:28:50,469 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5675#true} {5883#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} #77#return; {5883#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:28:50,469 INFO L290 TraceCheckUtils]: 36: Hoare triple {5675#true} assume true; {5675#true} is VALID [2022-04-28 07:28:50,469 INFO L290 TraceCheckUtils]: 35: Hoare triple {5675#true} assume !(0 == ~cond); {5675#true} is VALID [2022-04-28 07:28:50,469 INFO L290 TraceCheckUtils]: 34: Hoare triple {5675#true} ~cond := #in~cond; {5675#true} is VALID [2022-04-28 07:28:50,469 INFO L272 TraceCheckUtils]: 33: Hoare triple {5883#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5675#true} is VALID [2022-04-28 07:28:50,470 INFO L290 TraceCheckUtils]: 32: Hoare triple {5883#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} assume !false; {5883#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:28:50,471 INFO L290 TraceCheckUtils]: 31: Hoare triple {5908#(or (= (mod main_~b~0 2) 0) (< main_~a~0 0) (<= 0 main_~b~0) (not (<= 1 (mod main_~a~0 2))))} assume 1 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := ~a~0 - 1;~q~0 := ~q~0 + ~b~0 * ~p~0; {5883#(or (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)) (and (= (mod main_~b~0 2) 0) (<= 0 main_~a~0)))} is VALID [2022-04-28 07:28:50,471 INFO L290 TraceCheckUtils]: 30: Hoare triple {5908#(or (= (mod main_~b~0 2) 0) (< main_~a~0 0) (<= 0 main_~b~0) (not (<= 1 (mod main_~a~0 2))))} assume !(0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2)); {5908#(or (= (mod main_~b~0 2) 0) (< main_~a~0 0) (<= 0 main_~b~0) (not (<= 1 (mod main_~a~0 2))))} is VALID [2022-04-28 07:28:50,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {5915#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {5908#(or (= (mod main_~b~0 2) 0) (< main_~a~0 0) (<= 0 main_~b~0) (not (<= 1 (mod main_~a~0 2))))} is VALID [2022-04-28 07:28:50,472 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5675#true} {5915#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} #77#return; {5915#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 07:28:50,472 INFO L290 TraceCheckUtils]: 27: Hoare triple {5675#true} assume true; {5675#true} is VALID [2022-04-28 07:28:50,472 INFO L290 TraceCheckUtils]: 26: Hoare triple {5675#true} assume !(0 == ~cond); {5675#true} is VALID [2022-04-28 07:28:50,472 INFO L290 TraceCheckUtils]: 25: Hoare triple {5675#true} ~cond := #in~cond; {5675#true} is VALID [2022-04-28 07:28:50,472 INFO L272 TraceCheckUtils]: 24: Hoare triple {5915#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {5675#true} is VALID [2022-04-28 07:28:50,473 INFO L290 TraceCheckUtils]: 23: Hoare triple {5915#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} assume !false; {5915#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 07:28:50,473 INFO L290 TraceCheckUtils]: 22: Hoare triple {5937#(<= 0 (+ (div (+ (- 2) main_~y~0) 2) 1))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {5915#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 07:28:50,474 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5738#(not (= |assume_abort_if_not_#in~cond| 0))} {5675#true} #75#return; {5937#(<= 0 (+ (div (+ (- 2) main_~y~0) 2) 1))} is VALID [2022-04-28 07:28:50,474 INFO L290 TraceCheckUtils]: 20: Hoare triple {5738#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:50,475 INFO L290 TraceCheckUtils]: 19: Hoare triple {5950#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {5738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:50,475 INFO L290 TraceCheckUtils]: 18: Hoare triple {5675#true} ~cond := #in~cond; {5950#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:28:50,475 INFO L272 TraceCheckUtils]: 17: Hoare triple {5675#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5675#true} is VALID [2022-04-28 07:28:50,475 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5675#true} {5675#true} #73#return; {5675#true} is VALID [2022-04-28 07:28:50,475 INFO L290 TraceCheckUtils]: 15: Hoare triple {5675#true} assume true; {5675#true} is VALID [2022-04-28 07:28:50,475 INFO L290 TraceCheckUtils]: 14: Hoare triple {5675#true} assume !(0 == ~cond); {5675#true} is VALID [2022-04-28 07:28:50,475 INFO L290 TraceCheckUtils]: 13: Hoare triple {5675#true} ~cond := #in~cond; {5675#true} is VALID [2022-04-28 07:28:50,475 INFO L272 TraceCheckUtils]: 12: Hoare triple {5675#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {5675#true} is VALID [2022-04-28 07:28:50,475 INFO L290 TraceCheckUtils]: 11: Hoare triple {5675#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5675#true} is VALID [2022-04-28 07:28:50,476 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5675#true} {5675#true} #71#return; {5675#true} is VALID [2022-04-28 07:28:50,476 INFO L290 TraceCheckUtils]: 9: Hoare triple {5675#true} assume true; {5675#true} is VALID [2022-04-28 07:28:50,476 INFO L290 TraceCheckUtils]: 8: Hoare triple {5675#true} assume !(0 == ~cond); {5675#true} is VALID [2022-04-28 07:28:50,476 INFO L290 TraceCheckUtils]: 7: Hoare triple {5675#true} ~cond := #in~cond; {5675#true} is VALID [2022-04-28 07:28:50,476 INFO L272 TraceCheckUtils]: 6: Hoare triple {5675#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {5675#true} is VALID [2022-04-28 07:28:50,476 INFO L290 TraceCheckUtils]: 5: Hoare triple {5675#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; {5675#true} is VALID [2022-04-28 07:28:50,476 INFO L272 TraceCheckUtils]: 4: Hoare triple {5675#true} call #t~ret6 := main(); {5675#true} is VALID [2022-04-28 07:28:50,476 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5675#true} {5675#true} #83#return; {5675#true} is VALID [2022-04-28 07:28:50,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {5675#true} assume true; {5675#true} is VALID [2022-04-28 07:28:50,476 INFO L290 TraceCheckUtils]: 1: Hoare triple {5675#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); {5675#true} is VALID [2022-04-28 07:28:50,476 INFO L272 TraceCheckUtils]: 0: Hoare triple {5675#true} call ULTIMATE.init(); {5675#true} is VALID [2022-04-28 07:28:50,476 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 23 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 07:28:50,477 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:28:50,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1973456934] [2022-04-28 07:28:50,477 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:28:50,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [803103207] [2022-04-28 07:28:50,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [803103207] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 07:28:50,477 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 07:28:50,477 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [9] total 15 [2022-04-28 07:28:50,477 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:28:50,477 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [818752078] [2022-04-28 07:28:50,477 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [818752078] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:28:50,477 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:28:50,477 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 07:28:50,477 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1107491334] [2022-04-28 07:28:50,478 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:28:50,478 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 53 [2022-04-28 07:28:50,478 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:28:50,478 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:28:50,509 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:28:50,509 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 07:28:50,509 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:50,509 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 07:28:50,509 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-28 07:28:50,509 INFO L87 Difference]: Start difference. First operand 47 states and 58 transitions. Second operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:28:51,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:51,119 INFO L93 Difference]: Finished difference Result 72 states and 92 transitions. [2022-04-28 07:28:51,120 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 07:28:51,120 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 53 [2022-04-28 07:28:51,120 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:28:51,120 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:28:51,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 69 transitions. [2022-04-28 07:28:51,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:28:51,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 69 transitions. [2022-04-28 07:28:51,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 69 transitions. [2022-04-28 07:28:51,174 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 07:28:51,175 INFO L225 Difference]: With dead ends: 72 [2022-04-28 07:28:51,175 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 07:28:51,175 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 92 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=80, Invalid=262, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:28:51,176 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 25 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 95 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 94 SdHoareTripleChecker+Invalid, 111 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 95 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 07:28:51,176 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [26 Valid, 94 Invalid, 111 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 95 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 07:28:51,176 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 07:28:51,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 52. [2022-04-28 07:28:51,326 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:28:51,326 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 52 states, 36 states have (on average 1.25) internal successors, (45), 36 states have internal predecessors, (45), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:28:51,326 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 52 states, 36 states have (on average 1.25) internal successors, (45), 36 states have internal predecessors, (45), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:28:51,326 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 52 states, 36 states have (on average 1.25) internal successors, (45), 36 states have internal predecessors, (45), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:28:51,327 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:51,327 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-28 07:28:51,327 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 69 transitions. [2022-04-28 07:28:51,328 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:51,328 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:51,328 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 36 states have (on average 1.25) internal successors, (45), 36 states have internal predecessors, (45), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 54 states. [2022-04-28 07:28:51,328 INFO L87 Difference]: Start difference. First operand has 52 states, 36 states have (on average 1.25) internal successors, (45), 36 states have internal predecessors, (45), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 54 states. [2022-04-28 07:28:51,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:51,329 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-28 07:28:51,329 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 69 transitions. [2022-04-28 07:28:51,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:51,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:51,329 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:28:51,329 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:28:51,329 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 36 states have (on average 1.25) internal successors, (45), 36 states have internal predecessors, (45), 11 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:28:51,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 65 transitions. [2022-04-28 07:28:51,330 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 65 transitions. Word has length 53 [2022-04-28 07:28:51,330 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:28:51,330 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 65 transitions. [2022-04-28 07:28:51,330 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.111111111111111) internal successors, (28), 8 states have internal predecessors, (28), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:28:51,330 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 65 transitions. [2022-04-28 07:28:58,686 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 62 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 07:28:58,686 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 65 transitions. [2022-04-28 07:28:58,687 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-28 07:28:58,687 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:28:58,687 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:28:58,703 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 07:28:58,887 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 07:28:58,887 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:28:58,888 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:28:58,888 INFO L85 PathProgramCache]: Analyzing trace with hash 338559610, now seen corresponding path program 3 times [2022-04-28 07:28:58,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:58,888 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [816593506] [2022-04-28 07:28:58,888 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:28:58,888 INFO L85 PathProgramCache]: Analyzing trace with hash 338559610, now seen corresponding path program 4 times [2022-04-28 07:28:58,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:28:58,888 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1938561909] [2022-04-28 07:28:58,888 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:28:58,889 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:28:58,906 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:28:58,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [643155482] [2022-04-28 07:28:58,906 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:28:58,906 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:28:58,906 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:28:58,908 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:28:58,909 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 07:28:58,943 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:28:58,943 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:28:58,943 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 07:28:58,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:58,958 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:28:59,702 INFO L272 TraceCheckUtils]: 0: Hoare triple {6371#true} call ULTIMATE.init(); {6371#true} is VALID [2022-04-28 07:28:59,703 INFO L290 TraceCheckUtils]: 1: Hoare triple {6371#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); {6371#true} is VALID [2022-04-28 07:28:59,703 INFO L290 TraceCheckUtils]: 2: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 07:28:59,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6371#true} {6371#true} #83#return; {6371#true} is VALID [2022-04-28 07:28:59,720 INFO L272 TraceCheckUtils]: 4: Hoare triple {6371#true} call #t~ret6 := main(); {6371#true} is VALID [2022-04-28 07:28:59,720 INFO L290 TraceCheckUtils]: 5: Hoare triple {6371#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; {6371#true} is VALID [2022-04-28 07:28:59,720 INFO L272 TraceCheckUtils]: 6: Hoare triple {6371#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {6371#true} is VALID [2022-04-28 07:28:59,721 INFO L290 TraceCheckUtils]: 7: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 07:28:59,721 INFO L290 TraceCheckUtils]: 8: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 07:28:59,721 INFO L290 TraceCheckUtils]: 9: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 07:28:59,721 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6371#true} {6371#true} #71#return; {6371#true} is VALID [2022-04-28 07:28:59,721 INFO L290 TraceCheckUtils]: 11: Hoare triple {6371#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6371#true} is VALID [2022-04-28 07:28:59,721 INFO L272 TraceCheckUtils]: 12: Hoare triple {6371#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {6371#true} is VALID [2022-04-28 07:28:59,721 INFO L290 TraceCheckUtils]: 13: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 07:28:59,721 INFO L290 TraceCheckUtils]: 14: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 07:28:59,721 INFO L290 TraceCheckUtils]: 15: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 07:28:59,721 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6371#true} {6371#true} #73#return; {6371#true} is VALID [2022-04-28 07:28:59,721 INFO L272 TraceCheckUtils]: 17: Hoare triple {6371#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6371#true} is VALID [2022-04-28 07:28:59,722 INFO L290 TraceCheckUtils]: 18: Hoare triple {6371#true} ~cond := #in~cond; {6430#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:28:59,722 INFO L290 TraceCheckUtils]: 19: Hoare triple {6430#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6434#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:59,723 INFO L290 TraceCheckUtils]: 20: Hoare triple {6434#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6434#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:59,723 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6434#(not (= |assume_abort_if_not_#in~cond| 0))} {6371#true} #75#return; {6441#(<= 1 main_~y~0)} is VALID [2022-04-28 07:28:59,724 INFO L290 TraceCheckUtils]: 22: Hoare triple {6441#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {6445#(<= 1 main_~b~0)} is VALID [2022-04-28 07:28:59,724 INFO L290 TraceCheckUtils]: 23: Hoare triple {6445#(<= 1 main_~b~0)} assume !false; {6445#(<= 1 main_~b~0)} is VALID [2022-04-28 07:28:59,724 INFO L272 TraceCheckUtils]: 24: Hoare triple {6445#(<= 1 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {6371#true} is VALID [2022-04-28 07:28:59,724 INFO L290 TraceCheckUtils]: 25: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 07:28:59,724 INFO L290 TraceCheckUtils]: 26: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 07:28:59,724 INFO L290 TraceCheckUtils]: 27: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 07:28:59,725 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6371#true} {6445#(<= 1 main_~b~0)} #77#return; {6445#(<= 1 main_~b~0)} is VALID [2022-04-28 07:28:59,725 INFO L290 TraceCheckUtils]: 29: Hoare triple {6445#(<= 1 main_~b~0)} assume !!(0 != ~a~0 && 0 != ~b~0); {6445#(<= 1 main_~b~0)} is VALID [2022-04-28 07:28:59,726 INFO L290 TraceCheckUtils]: 30: Hoare triple {6445#(<= 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)); {6470#(and (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:59,726 INFO L290 TraceCheckUtils]: 31: Hoare triple {6470#(and (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= 1 main_~b~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)); {6470#(and (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:59,727 INFO L290 TraceCheckUtils]: 32: Hoare triple {6470#(and (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= 1 main_~b~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; {6477#(and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:28:59,728 INFO L290 TraceCheckUtils]: 33: Hoare triple {6477#(and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} assume !false; {6477#(and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:28:59,728 INFO L272 TraceCheckUtils]: 34: Hoare triple {6477#(and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {6371#true} is VALID [2022-04-28 07:28:59,728 INFO L290 TraceCheckUtils]: 35: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 07:28:59,728 INFO L290 TraceCheckUtils]: 36: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 07:28:59,728 INFO L290 TraceCheckUtils]: 37: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 07:28:59,728 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6371#true} {6477#(and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} #77#return; {6477#(and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:28:59,729 INFO L290 TraceCheckUtils]: 39: Hoare triple {6477#(and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {6477#(and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:28:59,729 INFO L290 TraceCheckUtils]: 40: Hoare triple {6477#(and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 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)); {6502#(and (not (= (mod main_~b~0 2) 0)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:28:59,730 INFO L290 TraceCheckUtils]: 41: Hoare triple {6502#(and (not (= (mod main_~b~0 2) 0)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~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)); {6502#(and (not (= (mod main_~b~0 2) 0)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:28:59,731 INFO L290 TraceCheckUtils]: 42: Hoare triple {6502#(and (not (= (mod main_~b~0 2) 0)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~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; {6372#false} is VALID [2022-04-28 07:28:59,731 INFO L290 TraceCheckUtils]: 43: Hoare triple {6372#false} assume !false; {6372#false} is VALID [2022-04-28 07:28:59,731 INFO L272 TraceCheckUtils]: 44: Hoare triple {6372#false} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {6372#false} is VALID [2022-04-28 07:28:59,731 INFO L290 TraceCheckUtils]: 45: Hoare triple {6372#false} ~cond := #in~cond; {6372#false} is VALID [2022-04-28 07:28:59,731 INFO L290 TraceCheckUtils]: 46: Hoare triple {6372#false} assume !(0 == ~cond); {6372#false} is VALID [2022-04-28 07:28:59,731 INFO L290 TraceCheckUtils]: 47: Hoare triple {6372#false} assume true; {6372#false} is VALID [2022-04-28 07:28:59,731 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6372#false} {6372#false} #77#return; {6372#false} is VALID [2022-04-28 07:28:59,731 INFO L290 TraceCheckUtils]: 49: Hoare triple {6372#false} assume !(0 != ~a~0 && 0 != ~b~0); {6372#false} is VALID [2022-04-28 07:28:59,731 INFO L272 TraceCheckUtils]: 50: Hoare triple {6372#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {6372#false} is VALID [2022-04-28 07:28:59,731 INFO L290 TraceCheckUtils]: 51: Hoare triple {6372#false} ~cond := #in~cond; {6372#false} is VALID [2022-04-28 07:28:59,731 INFO L290 TraceCheckUtils]: 52: Hoare triple {6372#false} assume 0 == ~cond; {6372#false} is VALID [2022-04-28 07:28:59,731 INFO L290 TraceCheckUtils]: 53: Hoare triple {6372#false} assume !false; {6372#false} is VALID [2022-04-28 07:28:59,732 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 26 proven. 4 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:28:59,732 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:29:00,273 INFO L290 TraceCheckUtils]: 53: Hoare triple {6372#false} assume !false; {6372#false} is VALID [2022-04-28 07:29:00,273 INFO L290 TraceCheckUtils]: 52: Hoare triple {6372#false} assume 0 == ~cond; {6372#false} is VALID [2022-04-28 07:29:00,273 INFO L290 TraceCheckUtils]: 51: Hoare triple {6372#false} ~cond := #in~cond; {6372#false} is VALID [2022-04-28 07:29:00,273 INFO L272 TraceCheckUtils]: 50: Hoare triple {6372#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {6372#false} is VALID [2022-04-28 07:29:00,273 INFO L290 TraceCheckUtils]: 49: Hoare triple {6372#false} assume !(0 != ~a~0 && 0 != ~b~0); {6372#false} is VALID [2022-04-28 07:29:00,273 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6371#true} {6372#false} #77#return; {6372#false} is VALID [2022-04-28 07:29:00,274 INFO L290 TraceCheckUtils]: 47: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 07:29:00,274 INFO L290 TraceCheckUtils]: 46: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 07:29:00,274 INFO L290 TraceCheckUtils]: 45: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 07:29:00,274 INFO L272 TraceCheckUtils]: 44: Hoare triple {6372#false} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {6371#true} is VALID [2022-04-28 07:29:00,274 INFO L290 TraceCheckUtils]: 43: Hoare triple {6372#false} assume !false; {6372#false} is VALID [2022-04-28 07:29:00,275 INFO L290 TraceCheckUtils]: 42: Hoare triple {6502#(and (not (= (mod main_~b~0 2) 0)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~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; {6372#false} is VALID [2022-04-28 07:29:00,275 INFO L290 TraceCheckUtils]: 41: Hoare triple {6502#(and (not (= (mod main_~b~0 2) 0)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~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)); {6502#(and (not (= (mod main_~b~0 2) 0)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:00,276 INFO L290 TraceCheckUtils]: 40: Hoare triple {6581#(or (and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (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)); {6502#(and (not (= (mod main_~b~0 2) 0)) (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:00,276 INFO L290 TraceCheckUtils]: 39: Hoare triple {6581#(or (and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {6581#(or (and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)))} is VALID [2022-04-28 07:29:00,277 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6371#true} {6581#(or (and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)))} #77#return; {6581#(or (and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)))} is VALID [2022-04-28 07:29:00,277 INFO L290 TraceCheckUtils]: 37: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 07:29:00,277 INFO L290 TraceCheckUtils]: 36: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 07:29:00,277 INFO L290 TraceCheckUtils]: 35: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 07:29:00,277 INFO L272 TraceCheckUtils]: 34: Hoare triple {6581#(or (and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (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)); {6371#true} is VALID [2022-04-28 07:29:00,278 INFO L290 TraceCheckUtils]: 33: Hoare triple {6581#(or (and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)))} assume !false; {6581#(or (and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)))} is VALID [2022-04-28 07:29:00,279 INFO L290 TraceCheckUtils]: 32: Hoare triple {6470#(and (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= 1 main_~b~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; {6581#(or (and (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0)) (and (= (mod main_~a~0 2) 0) (= (mod main_~b~0 2) 0)))} is VALID [2022-04-28 07:29:00,279 INFO L290 TraceCheckUtils]: 31: Hoare triple {6470#(and (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= 1 main_~b~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)); {6470#(and (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:00,280 INFO L290 TraceCheckUtils]: 30: Hoare triple {6445#(<= 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)); {6470#(and (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:00,281 INFO L290 TraceCheckUtils]: 29: Hoare triple {6615#(or (= main_~b~0 0) (<= 1 main_~b~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {6445#(<= 1 main_~b~0)} is VALID [2022-04-28 07:29:00,281 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6371#true} {6615#(or (= main_~b~0 0) (<= 1 main_~b~0))} #77#return; {6615#(or (= main_~b~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:00,281 INFO L290 TraceCheckUtils]: 27: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 07:29:00,281 INFO L290 TraceCheckUtils]: 26: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 07:29:00,281 INFO L290 TraceCheckUtils]: 25: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 07:29:00,281 INFO L272 TraceCheckUtils]: 24: Hoare triple {6615#(or (= main_~b~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)); {6371#true} is VALID [2022-04-28 07:29:00,282 INFO L290 TraceCheckUtils]: 23: Hoare triple {6615#(or (= main_~b~0 0) (<= 1 main_~b~0))} assume !false; {6615#(or (= main_~b~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:00,282 INFO L290 TraceCheckUtils]: 22: Hoare triple {6637#(<= 0 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {6615#(or (= main_~b~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:29:00,283 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6434#(not (= |assume_abort_if_not_#in~cond| 0))} {6371#true} #75#return; {6637#(<= 0 main_~y~0)} is VALID [2022-04-28 07:29:00,283 INFO L290 TraceCheckUtils]: 20: Hoare triple {6434#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6434#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:00,283 INFO L290 TraceCheckUtils]: 19: Hoare triple {6650#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {6434#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:00,283 INFO L290 TraceCheckUtils]: 18: Hoare triple {6371#true} ~cond := #in~cond; {6650#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:29:00,284 INFO L272 TraceCheckUtils]: 17: Hoare triple {6371#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6371#true} {6371#true} #73#return; {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L290 TraceCheckUtils]: 15: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L290 TraceCheckUtils]: 14: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L290 TraceCheckUtils]: 13: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L272 TraceCheckUtils]: 12: Hoare triple {6371#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L290 TraceCheckUtils]: 11: Hoare triple {6371#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6371#true} {6371#true} #71#return; {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L290 TraceCheckUtils]: 9: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L290 TraceCheckUtils]: 8: Hoare triple {6371#true} assume !(0 == ~cond); {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L290 TraceCheckUtils]: 7: Hoare triple {6371#true} ~cond := #in~cond; {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L272 TraceCheckUtils]: 6: Hoare triple {6371#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L290 TraceCheckUtils]: 5: Hoare triple {6371#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; {6371#true} is VALID [2022-04-28 07:29:00,284 INFO L272 TraceCheckUtils]: 4: Hoare triple {6371#true} call #t~ret6 := main(); {6371#true} is VALID [2022-04-28 07:29:00,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6371#true} {6371#true} #83#return; {6371#true} is VALID [2022-04-28 07:29:00,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {6371#true} assume true; {6371#true} is VALID [2022-04-28 07:29:00,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {6371#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); {6371#true} is VALID [2022-04-28 07:29:00,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {6371#true} call ULTIMATE.init(); {6371#true} is VALID [2022-04-28 07:29:00,285 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 20 proven. 4 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 07:29:00,285 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:29:00,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1938561909] [2022-04-28 07:29:00,285 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:29:00,285 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [643155482] [2022-04-28 07:29:00,285 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [643155482] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:29:00,285 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:29:00,285 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 13 [2022-04-28 07:29:00,286 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:29:00,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [816593506] [2022-04-28 07:29:00,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [816593506] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:00,286 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:00,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 07:29:00,286 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1719413546] [2022-04-28 07:29:00,286 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:29:00,286 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.4444444444444446) internal successors, (31), 8 states have internal predecessors, (31), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 54 [2022-04-28 07:29:00,286 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:29:00,287 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.4444444444444446) internal successors, (31), 8 states have internal predecessors, (31), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:00,318 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:00,318 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 07:29:00,318 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:00,318 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 07:29:00,318 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=120, Unknown=0, NotChecked=0, Total=156 [2022-04-28 07:29:00,318 INFO L87 Difference]: Start difference. First operand 52 states and 65 transitions. Second operand has 9 states, 9 states have (on average 3.4444444444444446) internal successors, (31), 8 states have internal predecessors, (31), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:01,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:01,006 INFO L93 Difference]: Finished difference Result 84 states and 108 transitions. [2022-04-28 07:29:01,006 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 07:29:01,006 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.4444444444444446) internal successors, (31), 8 states have internal predecessors, (31), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 54 [2022-04-28 07:29:01,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:29:01,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.4444444444444446) internal successors, (31), 8 states have internal predecessors, (31), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:01,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-28 07:29:01,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.4444444444444446) internal successors, (31), 8 states have internal predecessors, (31), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:01,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 65 transitions. [2022-04-28 07:29:01,008 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 65 transitions. [2022-04-28 07:29:01,055 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:01,056 INFO L225 Difference]: With dead ends: 84 [2022-04-28 07:29:01,056 INFO L226 Difference]: Without dead ends: 60 [2022-04-28 07:29:01,057 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 94 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 35 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=86, Invalid=256, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:29:01,057 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 15 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 124 SdHoareTripleChecker+Invalid, 139 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 07:29:01,057 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 124 Invalid, 139 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 07:29:01,058 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-28 07:29:01,265 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 57. [2022-04-28 07:29:01,265 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:29:01,265 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 57 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:29:01,265 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 57 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:29:01,265 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 57 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:29:01,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:01,266 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-28 07:29:01,266 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-28 07:29:01,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:01,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:01,267 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 60 states. [2022-04-28 07:29:01,267 INFO L87 Difference]: Start difference. First operand has 57 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 60 states. [2022-04-28 07:29:01,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:01,268 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-28 07:29:01,268 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-28 07:29:01,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:01,268 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:01,268 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:29:01,268 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:29:01,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 40 states have (on average 1.225) internal successors, (49), 40 states have internal predecessors, (49), 12 states have call successors, (12), 6 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 07:29:01,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 71 transitions. [2022-04-28 07:29:01,269 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 71 transitions. Word has length 54 [2022-04-28 07:29:01,270 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:29:01,270 INFO L495 AbstractCegarLoop]: Abstraction has 57 states and 71 transitions. [2022-04-28 07:29:01,270 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.4444444444444446) internal successors, (31), 8 states have internal predecessors, (31), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-28 07:29:01,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 71 transitions. [2022-04-28 07:29:10,034 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 67 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:10,035 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 71 transitions. [2022-04-28 07:29:10,035 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-28 07:29:10,035 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:29:10,035 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 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] [2022-04-28 07:29:10,052 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 07:29:10,235 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 07:29:10,236 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:29:10,236 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:29:10,236 INFO L85 PathProgramCache]: Analyzing trace with hash -1563197702, now seen corresponding path program 3 times [2022-04-28 07:29:10,236 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:10,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1655160082] [2022-04-28 07:29:10,237 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:29:10,237 INFO L85 PathProgramCache]: Analyzing trace with hash -1563197702, now seen corresponding path program 4 times [2022-04-28 07:29:10,237 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:29:10,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [802191046] [2022-04-28 07:29:10,237 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:29:10,237 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:29:10,247 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:29:10,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1309554234] [2022-04-28 07:29:10,248 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:29:10,248 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:29:10,248 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:29:10,251 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:29:10,252 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 07:29:10,295 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:29:10,296 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:29:10,296 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-28 07:29:10,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:10,313 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:29:21,433 INFO L272 TraceCheckUtils]: 0: Hoare triple {7121#true} call ULTIMATE.init(); {7121#true} is VALID [2022-04-28 07:29:21,433 INFO L290 TraceCheckUtils]: 1: Hoare triple {7121#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); {7121#true} is VALID [2022-04-28 07:29:21,433 INFO L290 TraceCheckUtils]: 2: Hoare triple {7121#true} assume true; {7121#true} is VALID [2022-04-28 07:29:21,433 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7121#true} {7121#true} #83#return; {7121#true} is VALID [2022-04-28 07:29:21,433 INFO L272 TraceCheckUtils]: 4: Hoare triple {7121#true} call #t~ret6 := main(); {7121#true} is VALID [2022-04-28 07:29:21,433 INFO L290 TraceCheckUtils]: 5: Hoare triple {7121#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; {7121#true} is VALID [2022-04-28 07:29:21,434 INFO L272 TraceCheckUtils]: 6: Hoare triple {7121#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:21,434 INFO L290 TraceCheckUtils]: 7: Hoare triple {7121#true} ~cond := #in~cond; {7121#true} is VALID [2022-04-28 07:29:21,434 INFO L290 TraceCheckUtils]: 8: Hoare triple {7121#true} assume !(0 == ~cond); {7121#true} is VALID [2022-04-28 07:29:21,434 INFO L290 TraceCheckUtils]: 9: Hoare triple {7121#true} assume true; {7121#true} is VALID [2022-04-28 07:29:21,434 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7121#true} {7121#true} #71#return; {7121#true} is VALID [2022-04-28 07:29:21,434 INFO L290 TraceCheckUtils]: 11: Hoare triple {7121#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7121#true} is VALID [2022-04-28 07:29:21,434 INFO L272 TraceCheckUtils]: 12: Hoare triple {7121#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:21,434 INFO L290 TraceCheckUtils]: 13: Hoare triple {7121#true} ~cond := #in~cond; {7121#true} is VALID [2022-04-28 07:29:21,434 INFO L290 TraceCheckUtils]: 14: Hoare triple {7121#true} assume !(0 == ~cond); {7121#true} is VALID [2022-04-28 07:29:21,434 INFO L290 TraceCheckUtils]: 15: Hoare triple {7121#true} assume true; {7121#true} is VALID [2022-04-28 07:29:21,434 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7121#true} {7121#true} #73#return; {7121#true} is VALID [2022-04-28 07:29:21,434 INFO L272 TraceCheckUtils]: 17: Hoare triple {7121#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:21,435 INFO L290 TraceCheckUtils]: 18: Hoare triple {7121#true} ~cond := #in~cond; {7180#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:29:21,435 INFO L290 TraceCheckUtils]: 19: Hoare triple {7180#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7184#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:21,435 INFO L290 TraceCheckUtils]: 20: Hoare triple {7184#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7184#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:21,436 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7184#(not (= |assume_abort_if_not_#in~cond| 0))} {7121#true} #75#return; {7191#(<= 1 main_~y~0)} is VALID [2022-04-28 07:29:21,436 INFO L290 TraceCheckUtils]: 22: Hoare triple {7191#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {7195#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,436 INFO L290 TraceCheckUtils]: 23: Hoare triple {7195#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !false; {7195#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,436 INFO L272 TraceCheckUtils]: 24: Hoare triple {7195#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:21,436 INFO L290 TraceCheckUtils]: 25: Hoare triple {7121#true} ~cond := #in~cond; {7121#true} is VALID [2022-04-28 07:29:21,437 INFO L290 TraceCheckUtils]: 26: Hoare triple {7121#true} assume !(0 == ~cond); {7121#true} is VALID [2022-04-28 07:29:21,437 INFO L290 TraceCheckUtils]: 27: Hoare triple {7121#true} assume true; {7121#true} is VALID [2022-04-28 07:29:21,437 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7121#true} {7195#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #77#return; {7195#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,437 INFO L290 TraceCheckUtils]: 29: Hoare triple {7195#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {7195#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,438 INFO L290 TraceCheckUtils]: 30: Hoare triple {7195#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~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; {7220#(and (<= (div (- main_~y~0) (- 2)) main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,439 INFO L290 TraceCheckUtils]: 31: Hoare triple {7220#(and (<= (div (- main_~y~0) (- 2)) main_~b~0) (<= 1 main_~y~0))} assume !false; {7220#(and (<= (div (- main_~y~0) (- 2)) main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,439 INFO L272 TraceCheckUtils]: 32: Hoare triple {7220#(and (<= (div (- main_~y~0) (- 2)) main_~b~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:21,439 INFO L290 TraceCheckUtils]: 33: Hoare triple {7121#true} ~cond := #in~cond; {7230#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:21,439 INFO L290 TraceCheckUtils]: 34: Hoare triple {7230#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7234#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:21,440 INFO L290 TraceCheckUtils]: 35: Hoare triple {7234#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7234#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:21,440 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7234#(not (= |__VERIFIER_assert_#in~cond| 0))} {7220#(and (<= (div (- main_~y~0) (- 2)) main_~b~0) (<= 1 main_~y~0))} #77#return; {7220#(and (<= (div (- main_~y~0) (- 2)) main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,441 INFO L290 TraceCheckUtils]: 37: Hoare triple {7220#(and (<= (div (- main_~y~0) (- 2)) main_~b~0) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {7220#(and (<= (div (- main_~y~0) (- 2)) main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,442 INFO L290 TraceCheckUtils]: 38: Hoare triple {7220#(and (<= (div (- main_~y~0) (- 2)) main_~b~0) (<= 1 main_~y~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; {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,442 INFO L290 TraceCheckUtils]: 39: Hoare triple {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} assume !false; {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,442 INFO L272 TraceCheckUtils]: 40: Hoare triple {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:21,442 INFO L290 TraceCheckUtils]: 41: Hoare triple {7121#true} ~cond := #in~cond; {7121#true} is VALID [2022-04-28 07:29:21,442 INFO L290 TraceCheckUtils]: 42: Hoare triple {7121#true} assume !(0 == ~cond); {7121#true} is VALID [2022-04-28 07:29:21,442 INFO L290 TraceCheckUtils]: 43: Hoare triple {7121#true} assume true; {7121#true} is VALID [2022-04-28 07:29:21,443 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7121#true} {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} #77#return; {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,443 INFO L290 TraceCheckUtils]: 45: Hoare triple {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,444 INFO L290 TraceCheckUtils]: 46: Hoare triple {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~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)); {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,444 INFO L290 TraceCheckUtils]: 47: Hoare triple {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~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)); {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:21,445 INFO L290 TraceCheckUtils]: 48: Hoare triple {7247#(and (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 1)) (<= 1 main_~y~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; {7278#(and (<= 1 main_~y~0) (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 2)))} is VALID [2022-04-28 07:29:21,445 INFO L290 TraceCheckUtils]: 49: Hoare triple {7278#(and (<= 1 main_~y~0) (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 2)))} assume !false; {7278#(and (<= 1 main_~y~0) (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 2)))} is VALID [2022-04-28 07:29:21,445 INFO L272 TraceCheckUtils]: 50: Hoare triple {7278#(and (<= 1 main_~y~0) (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 2)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:21,446 INFO L290 TraceCheckUtils]: 51: Hoare triple {7121#true} ~cond := #in~cond; {7230#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:21,446 INFO L290 TraceCheckUtils]: 52: Hoare triple {7230#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7234#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:21,446 INFO L290 TraceCheckUtils]: 53: Hoare triple {7234#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7234#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:23,449 WARN L284 TraceCheckUtils]: 54: Hoare quadruple {7234#(not (= |__VERIFIER_assert_#in~cond| 0))} {7278#(and (<= 1 main_~y~0) (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 2)))} #77#return; {7297#(and (<= 1 main_~y~0) (or (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)))) (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 2)))} is UNKNOWN [2022-04-28 07:29:23,450 INFO L290 TraceCheckUtils]: 55: Hoare triple {7297#(and (<= 1 main_~y~0) (or (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)))) (< (div (* (- 1) (div (* (- 1) main_~y~0) (- 2))) (- 2)) (+ main_~b~0 2)))} assume !(0 != ~a~0 && 0 != ~b~0); {7301#(and (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:29:23,451 INFO L272 TraceCheckUtils]: 56: Hoare triple {7301#(and (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {7305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:29:23,451 INFO L290 TraceCheckUtils]: 57: Hoare triple {7305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:23,451 INFO L290 TraceCheckUtils]: 58: Hoare triple {7309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7122#false} is VALID [2022-04-28 07:29:23,451 INFO L290 TraceCheckUtils]: 59: Hoare triple {7122#false} assume !false; {7122#false} is VALID [2022-04-28 07:29:23,452 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 21 proven. 26 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 07:29:23,452 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:29:54,368 INFO L290 TraceCheckUtils]: 59: Hoare triple {7122#false} assume !false; {7122#false} is VALID [2022-04-28 07:29:54,368 INFO L290 TraceCheckUtils]: 58: Hoare triple {7309#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7122#false} is VALID [2022-04-28 07:29:54,369 INFO L290 TraceCheckUtils]: 57: Hoare triple {7305#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7309#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:54,369 INFO L272 TraceCheckUtils]: 56: Hoare triple {7325#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {7305#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:29:54,370 INFO L290 TraceCheckUtils]: 55: Hoare triple {7329#(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); {7325#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:29:54,372 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {7234#(not (= |__VERIFIER_assert_#in~cond| 0))} {7121#true} #77#return; {7329#(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 07:29:54,372 INFO L290 TraceCheckUtils]: 53: Hoare triple {7234#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7234#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:54,372 INFO L290 TraceCheckUtils]: 52: Hoare triple {7342#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7234#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:54,373 INFO L290 TraceCheckUtils]: 51: Hoare triple {7121#true} ~cond := #in~cond; {7342#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:29:54,373 INFO L272 TraceCheckUtils]: 50: Hoare triple {7121#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:54,373 INFO L290 TraceCheckUtils]: 49: Hoare triple {7121#true} assume !false; {7121#true} is VALID [2022-04-28 07:29:54,373 INFO L290 TraceCheckUtils]: 48: Hoare triple {7121#true} 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; {7121#true} is VALID [2022-04-28 07:29:54,373 INFO L290 TraceCheckUtils]: 47: Hoare triple {7121#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)); {7121#true} is VALID [2022-04-28 07:29:54,373 INFO L290 TraceCheckUtils]: 46: Hoare triple {7121#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)); {7121#true} is VALID [2022-04-28 07:29:54,373 INFO L290 TraceCheckUtils]: 45: Hoare triple {7121#true} assume !!(0 != ~a~0 && 0 != ~b~0); {7121#true} is VALID [2022-04-28 07:29:54,373 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7121#true} {7121#true} #77#return; {7121#true} is VALID [2022-04-28 07:29:54,373 INFO L290 TraceCheckUtils]: 43: Hoare triple {7121#true} assume true; {7121#true} is VALID [2022-04-28 07:29:54,373 INFO L290 TraceCheckUtils]: 42: Hoare triple {7121#true} assume !(0 == ~cond); {7121#true} is VALID [2022-04-28 07:29:54,373 INFO L290 TraceCheckUtils]: 41: Hoare triple {7121#true} ~cond := #in~cond; {7121#true} is VALID [2022-04-28 07:29:54,373 INFO L272 TraceCheckUtils]: 40: Hoare triple {7121#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:54,373 INFO L290 TraceCheckUtils]: 39: Hoare triple {7121#true} assume !false; {7121#true} is VALID [2022-04-28 07:29:54,373 INFO L290 TraceCheckUtils]: 38: Hoare triple {7121#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);~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; {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L290 TraceCheckUtils]: 37: Hoare triple {7121#true} assume !!(0 != ~a~0 && 0 != ~b~0); {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7121#true} {7121#true} #77#return; {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L290 TraceCheckUtils]: 35: Hoare triple {7121#true} assume true; {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L290 TraceCheckUtils]: 34: Hoare triple {7121#true} assume !(0 == ~cond); {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L290 TraceCheckUtils]: 33: Hoare triple {7121#true} ~cond := #in~cond; {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L272 TraceCheckUtils]: 32: Hoare triple {7121#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L290 TraceCheckUtils]: 31: Hoare triple {7121#true} assume !false; {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L290 TraceCheckUtils]: 30: Hoare triple {7121#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);~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; {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L290 TraceCheckUtils]: 29: Hoare triple {7121#true} assume !!(0 != ~a~0 && 0 != ~b~0); {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7121#true} {7121#true} #77#return; {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L290 TraceCheckUtils]: 27: Hoare triple {7121#true} assume true; {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L290 TraceCheckUtils]: 26: Hoare triple {7121#true} assume !(0 == ~cond); {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L290 TraceCheckUtils]: 25: Hoare triple {7121#true} ~cond := #in~cond; {7121#true} is VALID [2022-04-28 07:29:54,374 INFO L272 TraceCheckUtils]: 24: Hoare triple {7121#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L290 TraceCheckUtils]: 23: Hoare triple {7121#true} assume !false; {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L290 TraceCheckUtils]: 22: Hoare triple {7121#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7121#true} {7121#true} #75#return; {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L290 TraceCheckUtils]: 20: Hoare triple {7121#true} assume true; {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L290 TraceCheckUtils]: 19: Hoare triple {7121#true} assume !(0 == ~cond); {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L290 TraceCheckUtils]: 18: Hoare triple {7121#true} ~cond := #in~cond; {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L272 TraceCheckUtils]: 17: Hoare triple {7121#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7121#true} {7121#true} #73#return; {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L290 TraceCheckUtils]: 15: Hoare triple {7121#true} assume true; {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L290 TraceCheckUtils]: 14: Hoare triple {7121#true} assume !(0 == ~cond); {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L290 TraceCheckUtils]: 13: Hoare triple {7121#true} ~cond := #in~cond; {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L272 TraceCheckUtils]: 12: Hoare triple {7121#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L290 TraceCheckUtils]: 11: Hoare triple {7121#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7121#true} is VALID [2022-04-28 07:29:54,375 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7121#true} {7121#true} #71#return; {7121#true} is VALID [2022-04-28 07:29:54,376 INFO L290 TraceCheckUtils]: 9: Hoare triple {7121#true} assume true; {7121#true} is VALID [2022-04-28 07:29:54,376 INFO L290 TraceCheckUtils]: 8: Hoare triple {7121#true} assume !(0 == ~cond); {7121#true} is VALID [2022-04-28 07:29:54,376 INFO L290 TraceCheckUtils]: 7: Hoare triple {7121#true} ~cond := #in~cond; {7121#true} is VALID [2022-04-28 07:29:54,376 INFO L272 TraceCheckUtils]: 6: Hoare triple {7121#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {7121#true} is VALID [2022-04-28 07:29:54,376 INFO L290 TraceCheckUtils]: 5: Hoare triple {7121#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; {7121#true} is VALID [2022-04-28 07:29:54,376 INFO L272 TraceCheckUtils]: 4: Hoare triple {7121#true} call #t~ret6 := main(); {7121#true} is VALID [2022-04-28 07:29:54,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7121#true} {7121#true} #83#return; {7121#true} is VALID [2022-04-28 07:29:54,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {7121#true} assume true; {7121#true} is VALID [2022-04-28 07:29:54,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {7121#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); {7121#true} is VALID [2022-04-28 07:29:54,376 INFO L272 TraceCheckUtils]: 0: Hoare triple {7121#true} call ULTIMATE.init(); {7121#true} is VALID [2022-04-28 07:29:54,376 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 07:29:54,376 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:29:54,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [802191046] [2022-04-28 07:29:54,377 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:29:54,377 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1309554234] [2022-04-28 07:29:54,377 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1309554234] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:29:54,377 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:29:54,381 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 8] total 18 [2022-04-28 07:29:54,382 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:29:54,382 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1655160082] [2022-04-28 07:29:54,382 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1655160082] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:54,382 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:54,382 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 07:29:54,382 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2106075066] [2022-04-28 07:29:54,382 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:29:54,382 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 12 states have internal predecessors, (33), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) Word has length 60 [2022-04-28 07:29:54,384 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:29:54,384 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 12 states have internal predecessors, (33), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 07:29:56,425 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 07:29:56,425 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 07:29:56,425 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:56,425 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 07:29:56,425 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-28 07:29:56,426 INFO L87 Difference]: Start difference. First operand 57 states and 71 transitions. Second operand has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 12 states have internal predecessors, (33), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 07:29:59,639 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 07:30:06,242 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 07:30:09,780 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.67s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:30:10,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:10,218 INFO L93 Difference]: Finished difference Result 98 states and 128 transitions. [2022-04-28 07:30:10,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-28 07:30:10,218 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 12 states have internal predecessors, (33), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) Word has length 60 [2022-04-28 07:30:10,218 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:30:10,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 12 states have internal predecessors, (33), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 07:30:10,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 80 transitions. [2022-04-28 07:30:10,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 12 states have internal predecessors, (33), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 07:30:10,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 80 transitions. [2022-04-28 07:30:10,220 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 80 transitions. [2022-04-28 07:30:18,305 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 76 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 07:30:18,307 INFO L225 Difference]: With dead ends: 98 [2022-04-28 07:30:18,307 INFO L226 Difference]: Without dead ends: 93 [2022-04-28 07:30:18,307 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 101 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 118 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=106, Invalid=494, Unknown=0, NotChecked=0, Total=600 [2022-04-28 07:30:18,308 INFO L413 NwaCegarLoop]: 18 mSDtfsCounter, 37 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 257 mSolverCounterSat, 24 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 283 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 257 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 8.7s IncrementalHoareTripleChecker+Time [2022-04-28 07:30:18,308 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 134 Invalid, 283 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 257 Invalid, 2 Unknown, 0 Unchecked, 8.7s Time] [2022-04-28 07:30:18,308 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-04-28 07:30:18,608 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 71. [2022-04-28 07:30:18,608 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:30:18,609 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 71 states, 51 states have (on average 1.2352941176470589) internal successors, (63), 51 states have internal predecessors, (63), 15 states have call successors, (15), 6 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:30:18,609 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 71 states, 51 states have (on average 1.2352941176470589) internal successors, (63), 51 states have internal predecessors, (63), 15 states have call successors, (15), 6 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:30:18,609 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 71 states, 51 states have (on average 1.2352941176470589) internal successors, (63), 51 states have internal predecessors, (63), 15 states have call successors, (15), 6 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:30:18,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:18,611 INFO L93 Difference]: Finished difference Result 93 states and 123 transitions. [2022-04-28 07:30:18,611 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 123 transitions. [2022-04-28 07:30:18,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:30:18,611 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:30:18,611 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 51 states have (on average 1.2352941176470589) internal successors, (63), 51 states have internal predecessors, (63), 15 states have call successors, (15), 6 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 93 states. [2022-04-28 07:30:18,611 INFO L87 Difference]: Start difference. First operand has 71 states, 51 states have (on average 1.2352941176470589) internal successors, (63), 51 states have internal predecessors, (63), 15 states have call successors, (15), 6 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 93 states. [2022-04-28 07:30:18,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:18,613 INFO L93 Difference]: Finished difference Result 93 states and 123 transitions. [2022-04-28 07:30:18,613 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 123 transitions. [2022-04-28 07:30:18,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:30:18,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:30:18,613 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:30:18,613 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:30:18,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 51 states have (on average 1.2352941176470589) internal successors, (63), 51 states have internal predecessors, (63), 15 states have call successors, (15), 6 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:30:18,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 91 transitions. [2022-04-28 07:30:18,615 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 91 transitions. Word has length 60 [2022-04-28 07:30:18,615 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:30:18,615 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 91 transitions. [2022-04-28 07:30:18,615 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.357142857142857) internal successors, (33), 12 states have internal predecessors, (33), 6 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 07:30:18,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 91 transitions. [2022-04-28 07:30:33,888 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 84 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2022-04-28 07:30:33,888 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 91 transitions. [2022-04-28 07:30:33,889 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 07:30:33,889 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:30:33,889 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 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] [2022-04-28 07:30:33,905 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 07:30:34,089 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 07:30:34,089 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:30:34,089 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:30:34,090 INFO L85 PathProgramCache]: Analyzing trace with hash 464884373, now seen corresponding path program 1 times [2022-04-28 07:30:34,090 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:30:34,090 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [996497002] [2022-04-28 07:30:34,090 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:30:34,090 INFO L85 PathProgramCache]: Analyzing trace with hash 464884373, now seen corresponding path program 2 times [2022-04-28 07:30:34,090 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:30:34,090 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [310795697] [2022-04-28 07:30:34,090 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:30:34,090 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:30:34,104 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:30:34,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2072282013] [2022-04-28 07:30:34,104 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:30:34,104 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:30:34,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:30:34,106 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:30:34,107 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 07:30:34,154 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:30:34,154 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:30:34,155 INFO L263 TraceCheckSpWp]: Trace formula consists of 167 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 07:30:34,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:30:34,170 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:30:46,082 INFO L272 TraceCheckUtils]: 0: Hoare triple {8036#true} call ULTIMATE.init(); {8036#true} is VALID [2022-04-28 07:30:46,082 INFO L290 TraceCheckUtils]: 1: Hoare triple {8036#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); {8036#true} is VALID [2022-04-28 07:30:46,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:30:46,083 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8036#true} {8036#true} #83#return; {8036#true} is VALID [2022-04-28 07:30:46,083 INFO L272 TraceCheckUtils]: 4: Hoare triple {8036#true} call #t~ret6 := main(); {8036#true} is VALID [2022-04-28 07:30:46,083 INFO L290 TraceCheckUtils]: 5: Hoare triple {8036#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; {8036#true} is VALID [2022-04-28 07:30:46,083 INFO L272 TraceCheckUtils]: 6: Hoare triple {8036#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:30:46,083 INFO L290 TraceCheckUtils]: 7: Hoare triple {8036#true} ~cond := #in~cond; {8062#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:30:46,083 INFO L290 TraceCheckUtils]: 8: Hoare triple {8062#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8066#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:46,084 INFO L290 TraceCheckUtils]: 9: Hoare triple {8066#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8066#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:46,084 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8066#(not (= |assume_abort_if_not_#in~cond| 0))} {8036#true} #71#return; {8073#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:30:46,085 INFO L290 TraceCheckUtils]: 11: Hoare triple {8073#(and (<= 0 main_~x~0) (<= main_~x~0 50))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8073#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:30:46,085 INFO L272 TraceCheckUtils]: 12: Hoare triple {8073#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:30:46,085 INFO L290 TraceCheckUtils]: 13: Hoare triple {8036#true} ~cond := #in~cond; {8036#true} is VALID [2022-04-28 07:30:46,085 INFO L290 TraceCheckUtils]: 14: Hoare triple {8036#true} assume !(0 == ~cond); {8036#true} is VALID [2022-04-28 07:30:46,085 INFO L290 TraceCheckUtils]: 15: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:30:46,085 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8036#true} {8073#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #73#return; {8073#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:30:46,085 INFO L272 TraceCheckUtils]: 17: Hoare triple {8073#(and (<= 0 main_~x~0) (<= main_~x~0 50))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:30:46,085 INFO L290 TraceCheckUtils]: 18: Hoare triple {8036#true} ~cond := #in~cond; {8036#true} is VALID [2022-04-28 07:30:46,085 INFO L290 TraceCheckUtils]: 19: Hoare triple {8036#true} assume !(0 == ~cond); {8036#true} is VALID [2022-04-28 07:30:46,086 INFO L290 TraceCheckUtils]: 20: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:30:46,086 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8036#true} {8073#(and (<= 0 main_~x~0) (<= main_~x~0 50))} #75#return; {8073#(and (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:30:46,086 INFO L290 TraceCheckUtils]: 22: Hoare triple {8073#(and (<= 0 main_~x~0) (<= main_~x~0 50))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {8110#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0))} is VALID [2022-04-28 07:30:46,087 INFO L290 TraceCheckUtils]: 23: Hoare triple {8110#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0))} assume !false; {8110#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0))} is VALID [2022-04-28 07:30:46,087 INFO L272 TraceCheckUtils]: 24: Hoare triple {8110#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:30:46,087 INFO L290 TraceCheckUtils]: 25: Hoare triple {8036#true} ~cond := #in~cond; {8036#true} is VALID [2022-04-28 07:30:46,087 INFO L290 TraceCheckUtils]: 26: Hoare triple {8036#true} assume !(0 == ~cond); {8036#true} is VALID [2022-04-28 07:30:46,087 INFO L290 TraceCheckUtils]: 27: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:30:46,087 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8036#true} {8110#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0))} #77#return; {8110#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0))} is VALID [2022-04-28 07:30:46,088 INFO L290 TraceCheckUtils]: 29: Hoare triple {8110#(and (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0))} assume !!(0 != ~a~0 && 0 != ~b~0); {8132#(and (<= 0 main_~x~0) (<= main_~x~0 50) (not (= main_~b~0 0)) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:30:46,088 INFO L290 TraceCheckUtils]: 30: Hoare triple {8132#(and (<= 0 main_~x~0) (<= main_~x~0 50) (not (= main_~b~0 0)) (<= main_~x~0 main_~a~0) (not (= main_~a~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)); {8132#(and (<= 0 main_~x~0) (<= main_~x~0 50) (not (= main_~b~0 0)) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:30:46,089 INFO L290 TraceCheckUtils]: 31: Hoare triple {8132#(and (<= 0 main_~x~0) (<= main_~x~0 50) (not (= main_~b~0 0)) (<= main_~x~0 main_~a~0) (not (= main_~a~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)); {8132#(and (<= 0 main_~x~0) (<= main_~x~0 50) (not (= main_~b~0 0)) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:30:46,090 INFO L290 TraceCheckUtils]: 32: Hoare triple {8132#(and (<= 0 main_~x~0) (<= main_~x~0 50) (not (= main_~b~0 0)) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 1 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~b~0 := ~b~0 - 1;~q~0 := ~q~0 + ~a~0 * ~p~0; {8142#(and (= (mod main_~a~0 2) 0) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:30:46,090 INFO L290 TraceCheckUtils]: 33: Hoare triple {8142#(and (= (mod main_~a~0 2) 0) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)))} assume !false; {8142#(and (= (mod main_~a~0 2) 0) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:30:46,090 INFO L272 TraceCheckUtils]: 34: Hoare triple {8142#(and (= (mod main_~a~0 2) 0) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~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)); {8036#true} is VALID [2022-04-28 07:30:46,090 INFO L290 TraceCheckUtils]: 35: Hoare triple {8036#true} ~cond := #in~cond; {8036#true} is VALID [2022-04-28 07:30:46,090 INFO L290 TraceCheckUtils]: 36: Hoare triple {8036#true} assume !(0 == ~cond); {8036#true} is VALID [2022-04-28 07:30:46,090 INFO L290 TraceCheckUtils]: 37: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:30:46,091 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8036#true} {8142#(and (= (mod main_~a~0 2) 0) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)))} #77#return; {8142#(and (= (mod main_~a~0 2) 0) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:30:46,091 INFO L290 TraceCheckUtils]: 39: Hoare triple {8142#(and (= (mod main_~a~0 2) 0) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {8164#(and (= (mod main_~a~0 2) 0) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (not (= main_~b~0 0)) (<= main_~x~0 main_~a~0) (not (= main_~a~0 0)))} is VALID [2022-04-28 07:30:46,092 INFO L290 TraceCheckUtils]: 40: Hoare triple {8164#(and (= (mod main_~a~0 2) 0) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (not (= main_~b~0 0)) (<= main_~x~0 main_~a~0) (not (= main_~a~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);~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; {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:30:46,093 INFO L290 TraceCheckUtils]: 41: Hoare triple {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} assume !false; {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:30:46,093 INFO L272 TraceCheckUtils]: 42: Hoare triple {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:30:46,093 INFO L290 TraceCheckUtils]: 43: Hoare triple {8036#true} ~cond := #in~cond; {8036#true} is VALID [2022-04-28 07:30:46,093 INFO L290 TraceCheckUtils]: 44: Hoare triple {8036#true} assume !(0 == ~cond); {8036#true} is VALID [2022-04-28 07:30:46,093 INFO L290 TraceCheckUtils]: 45: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:30:46,094 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8036#true} {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} #77#return; {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:30:46,094 INFO L290 TraceCheckUtils]: 47: Hoare triple {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} assume !!(0 != ~a~0 && 0 != ~b~0); {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:30:46,095 INFO L290 TraceCheckUtils]: 48: Hoare triple {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~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)); {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:30:46,095 INFO L290 TraceCheckUtils]: 49: Hoare triple {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~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)); {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 1)))} is VALID [2022-04-28 07:30:46,096 INFO L290 TraceCheckUtils]: 50: Hoare triple {8168#(and (<= 0 main_~x~0) (<= main_~x~0 50) (< 0 main_~a~0) (< 0 main_~b~0) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~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; {8199#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:30:46,096 INFO L290 TraceCheckUtils]: 51: Hoare triple {8199#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50))} assume !false; {8199#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50))} is VALID [2022-04-28 07:30:46,097 INFO L272 TraceCheckUtils]: 52: Hoare triple {8199#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:30:46,097 INFO L290 TraceCheckUtils]: 53: Hoare triple {8036#true} ~cond := #in~cond; {8209#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:46,097 INFO L290 TraceCheckUtils]: 54: Hoare triple {8209#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8213#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:46,097 INFO L290 TraceCheckUtils]: 55: Hoare triple {8213#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8213#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:48,100 WARN L284 TraceCheckUtils]: 56: Hoare quadruple {8213#(not (= |__VERIFIER_assert_#in~cond| 0))} {8199#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50))} #77#return; {8220#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (or (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)))))} is UNKNOWN [2022-04-28 07:30:48,102 INFO L290 TraceCheckUtils]: 57: Hoare triple {8220#(and (< 0 (+ main_~a~0 1)) (< (div (* (- 1) main_~x~0) (- 2)) (+ main_~a~0 2)) (< 0 (+ main_~b~0 1)) (<= 0 main_~x~0) (<= main_~x~0 50) (or (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0)))))} assume !(0 != ~a~0 && 0 != ~b~0); {8224#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~q~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:30:48,103 INFO L272 TraceCheckUtils]: 58: Hoare triple {8224#(and (<= 0 main_~x~0) (<= main_~x~0 50) (= main_~q~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {8228#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:30:48,103 INFO L290 TraceCheckUtils]: 59: Hoare triple {8228#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8232#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:48,103 INFO L290 TraceCheckUtils]: 60: Hoare triple {8232#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8037#false} is VALID [2022-04-28 07:30:48,103 INFO L290 TraceCheckUtils]: 61: Hoare triple {8037#false} assume !false; {8037#false} is VALID [2022-04-28 07:30:48,104 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 20 proven. 26 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2022-04-28 07:30:48,104 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:31:16,287 INFO L290 TraceCheckUtils]: 61: Hoare triple {8037#false} assume !false; {8037#false} is VALID [2022-04-28 07:31:16,288 INFO L290 TraceCheckUtils]: 60: Hoare triple {8232#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8037#false} is VALID [2022-04-28 07:31:16,288 INFO L290 TraceCheckUtils]: 59: Hoare triple {8228#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8232#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:16,288 INFO L272 TraceCheckUtils]: 58: Hoare triple {8248#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {8228#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:31:16,289 INFO L290 TraceCheckUtils]: 57: Hoare triple {8252#(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); {8248#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:31:16,291 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8213#(not (= |__VERIFIER_assert_#in~cond| 0))} {8036#true} #77#return; {8252#(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 07:31:16,291 INFO L290 TraceCheckUtils]: 55: Hoare triple {8213#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8213#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:16,291 INFO L290 TraceCheckUtils]: 54: Hoare triple {8265#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8213#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:16,292 INFO L290 TraceCheckUtils]: 53: Hoare triple {8036#true} ~cond := #in~cond; {8265#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:31:16,292 INFO L272 TraceCheckUtils]: 52: Hoare triple {8036#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:31:16,292 INFO L290 TraceCheckUtils]: 51: Hoare triple {8036#true} assume !false; {8036#true} is VALID [2022-04-28 07:31:16,292 INFO L290 TraceCheckUtils]: 50: Hoare triple {8036#true} 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; {8036#true} is VALID [2022-04-28 07:31:16,292 INFO L290 TraceCheckUtils]: 49: Hoare triple {8036#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)); {8036#true} is VALID [2022-04-28 07:31:16,292 INFO L290 TraceCheckUtils]: 48: Hoare triple {8036#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)); {8036#true} is VALID [2022-04-28 07:31:16,292 INFO L290 TraceCheckUtils]: 47: Hoare triple {8036#true} assume !!(0 != ~a~0 && 0 != ~b~0); {8036#true} is VALID [2022-04-28 07:31:16,292 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8036#true} {8036#true} #77#return; {8036#true} is VALID [2022-04-28 07:31:16,292 INFO L290 TraceCheckUtils]: 45: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:31:16,292 INFO L290 TraceCheckUtils]: 44: Hoare triple {8036#true} assume !(0 == ~cond); {8036#true} is VALID [2022-04-28 07:31:16,292 INFO L290 TraceCheckUtils]: 43: Hoare triple {8036#true} ~cond := #in~cond; {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L272 TraceCheckUtils]: 42: Hoare triple {8036#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L290 TraceCheckUtils]: 41: Hoare triple {8036#true} assume !false; {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L290 TraceCheckUtils]: 40: Hoare triple {8036#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);~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; {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L290 TraceCheckUtils]: 39: Hoare triple {8036#true} assume !!(0 != ~a~0 && 0 != ~b~0); {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8036#true} {8036#true} #77#return; {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L290 TraceCheckUtils]: 37: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L290 TraceCheckUtils]: 36: Hoare triple {8036#true} assume !(0 == ~cond); {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L290 TraceCheckUtils]: 35: Hoare triple {8036#true} ~cond := #in~cond; {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L272 TraceCheckUtils]: 34: Hoare triple {8036#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L290 TraceCheckUtils]: 33: Hoare triple {8036#true} assume !false; {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L290 TraceCheckUtils]: 32: Hoare triple {8036#true} 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; {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L290 TraceCheckUtils]: 31: Hoare triple {8036#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)); {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L290 TraceCheckUtils]: 30: Hoare triple {8036#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)); {8036#true} is VALID [2022-04-28 07:31:16,293 INFO L290 TraceCheckUtils]: 29: Hoare triple {8036#true} assume !!(0 != ~a~0 && 0 != ~b~0); {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8036#true} {8036#true} #77#return; {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L290 TraceCheckUtils]: 27: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L290 TraceCheckUtils]: 26: Hoare triple {8036#true} assume !(0 == ~cond); {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L290 TraceCheckUtils]: 25: Hoare triple {8036#true} ~cond := #in~cond; {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L272 TraceCheckUtils]: 24: Hoare triple {8036#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L290 TraceCheckUtils]: 23: Hoare triple {8036#true} assume !false; {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L290 TraceCheckUtils]: 22: Hoare triple {8036#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8036#true} {8036#true} #75#return; {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L290 TraceCheckUtils]: 20: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L290 TraceCheckUtils]: 19: Hoare triple {8036#true} assume !(0 == ~cond); {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L290 TraceCheckUtils]: 18: Hoare triple {8036#true} ~cond := #in~cond; {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L272 TraceCheckUtils]: 17: Hoare triple {8036#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8036#true} {8036#true} #73#return; {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L290 TraceCheckUtils]: 15: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:31:16,294 INFO L290 TraceCheckUtils]: 14: Hoare triple {8036#true} assume !(0 == ~cond); {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L290 TraceCheckUtils]: 13: Hoare triple {8036#true} ~cond := #in~cond; {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L272 TraceCheckUtils]: 12: Hoare triple {8036#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L290 TraceCheckUtils]: 11: Hoare triple {8036#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8036#true} {8036#true} #71#return; {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L290 TraceCheckUtils]: 9: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L290 TraceCheckUtils]: 8: Hoare triple {8036#true} assume !(0 == ~cond); {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L290 TraceCheckUtils]: 7: Hoare triple {8036#true} ~cond := #in~cond; {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L272 TraceCheckUtils]: 6: Hoare triple {8036#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L290 TraceCheckUtils]: 5: Hoare triple {8036#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; {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L272 TraceCheckUtils]: 4: Hoare triple {8036#true} call #t~ret6 := main(); {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8036#true} {8036#true} #83#return; {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L290 TraceCheckUtils]: 2: Hoare triple {8036#true} assume true; {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L290 TraceCheckUtils]: 1: Hoare triple {8036#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); {8036#true} is VALID [2022-04-28 07:31:16,295 INFO L272 TraceCheckUtils]: 0: Hoare triple {8036#true} call ULTIMATE.init(); {8036#true} is VALID [2022-04-28 07:31:16,296 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 47 trivial. 0 not checked. [2022-04-28 07:31:16,296 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:31:16,296 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [310795697] [2022-04-28 07:31:16,296 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:31:16,296 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2072282013] [2022-04-28 07:31:16,296 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2072282013] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:31:16,296 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:31:16,296 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 8] total 20 [2022-04-28 07:31:16,296 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:31:16,296 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [996497002] [2022-04-28 07:31:16,296 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [996497002] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:31:16,296 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:31:16,296 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 07:31:16,297 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1821242915] [2022-04-28 07:31:16,297 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:31:16,298 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.1875) internal successors, (35), 15 states have internal predecessors, (35), 7 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 6 states have call successors, (8) Word has length 62 [2022-04-28 07:31:16,298 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:31:16,298 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 16 states have (on average 2.1875) internal successors, (35), 15 states have internal predecessors, (35), 7 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 6 states have call successors, (8) [2022-04-28 07:31:18,340 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 52 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:18,340 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 07:31:18,340 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:31:18,341 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 07:31:18,341 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=314, Unknown=0, NotChecked=0, Total=380 [2022-04-28 07:31:18,341 INFO L87 Difference]: Start difference. First operand 71 states and 91 transitions. Second operand has 17 states, 16 states have (on average 2.1875) internal successors, (35), 15 states have internal predecessors, (35), 7 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 6 states have call successors, (8) [2022-04-28 07:31:21,764 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 07:31:23,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:23,277 INFO L93 Difference]: Finished difference Result 97 states and 126 transitions. [2022-04-28 07:31:23,277 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-28 07:31:23,277 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 16 states have (on average 2.1875) internal successors, (35), 15 states have internal predecessors, (35), 7 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 6 states have call successors, (8) Word has length 62 [2022-04-28 07:31:23,277 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:31:23,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.1875) internal successors, (35), 15 states have internal predecessors, (35), 7 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 6 states have call successors, (8) [2022-04-28 07:31:23,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 72 transitions. [2022-04-28 07:31:23,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 16 states have (on average 2.1875) internal successors, (35), 15 states have internal predecessors, (35), 7 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 6 states have call successors, (8) [2022-04-28 07:31:23,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 72 transitions. [2022-04-28 07:31:23,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 72 transitions. [2022-04-28 07:31:29,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 69 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:29,357 INFO L225 Difference]: With dead ends: 97 [2022-04-28 07:31:29,357 INFO L226 Difference]: Without dead ends: 92 [2022-04-28 07:31:29,358 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 104 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 157 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=119, Invalid=583, Unknown=0, NotChecked=0, Total=702 [2022-04-28 07:31:29,358 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 41 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 338 mSolverCounterSat, 18 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 43 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 357 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 338 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:31:29,358 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [43 Valid, 136 Invalid, 357 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 338 Invalid, 1 Unknown, 0 Unchecked, 3.0s Time] [2022-04-28 07:31:29,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-28 07:31:29,684 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 72. [2022-04-28 07:31:29,684 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:31:29,684 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 72 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 15 states have call successors, (15), 6 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:31:29,684 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 72 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 15 states have call successors, (15), 6 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:31:29,684 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 72 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 15 states have call successors, (15), 6 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:31:29,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:29,686 INFO L93 Difference]: Finished difference Result 92 states and 121 transitions. [2022-04-28 07:31:29,686 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 121 transitions. [2022-04-28 07:31:29,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:31:29,687 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:31:29,687 INFO L74 IsIncluded]: Start isIncluded. First operand has 72 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 15 states have call successors, (15), 6 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 92 states. [2022-04-28 07:31:29,687 INFO L87 Difference]: Start difference. First operand has 72 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 15 states have call successors, (15), 6 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 92 states. [2022-04-28 07:31:29,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:29,689 INFO L93 Difference]: Finished difference Result 92 states and 121 transitions. [2022-04-28 07:31:29,689 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 121 transitions. [2022-04-28 07:31:29,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:31:29,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:31:29,689 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:31:29,690 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:31:29,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 72 states, 52 states have (on average 1.25) internal successors, (65), 52 states have internal predecessors, (65), 15 states have call successors, (15), 6 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 07:31:29,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 93 transitions. [2022-04-28 07:31:29,691 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 93 transitions. Word has length 62 [2022-04-28 07:31:29,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:31:29,692 INFO L495 AbstractCegarLoop]: Abstraction has 72 states and 93 transitions. [2022-04-28 07:31:29,692 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 16 states have (on average 2.1875) internal successors, (35), 15 states have internal predecessors, (35), 7 states have call successors, (10), 2 states have call predecessors, (10), 3 states have return successors, (8), 6 states have call predecessors, (8), 6 states have call successors, (8) [2022-04-28 07:31:29,692 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 72 states and 93 transitions. [2022-04-28 07:31:44,840 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 86 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:44,840 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 93 transitions. [2022-04-28 07:31:44,840 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 07:31:44,841 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:31:44,841 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:31:44,857 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 07:31:45,042 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:31:45,042 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:31:45,043 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:31:45,043 INFO L85 PathProgramCache]: Analyzing trace with hash 487516627, now seen corresponding path program 5 times [2022-04-28 07:31:45,043 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:31:45,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1310222141] [2022-04-28 07:31:45,043 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:31:45,043 INFO L85 PathProgramCache]: Analyzing trace with hash 487516627, now seen corresponding path program 6 times [2022-04-28 07:31:45,043 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:31:45,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [371569625] [2022-04-28 07:31:45,043 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:31:45,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:31:45,055 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:31:45,055 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [141088177] [2022-04-28 07:31:45,055 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:31:45,056 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:31:45,056 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:31:45,058 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:31:45,059 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 07:31:45,106 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 07:31:45,106 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:31:45,107 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 07:31:45,116 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:31:45,117 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:31:55,335 INFO L272 TraceCheckUtils]: 0: Hoare triple {8963#true} call ULTIMATE.init(); {8963#true} is VALID [2022-04-28 07:31:55,335 INFO L290 TraceCheckUtils]: 1: Hoare triple {8963#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); {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8963#true} {8963#true} #83#return; {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L272 TraceCheckUtils]: 4: Hoare triple {8963#true} call #t~ret6 := main(); {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L290 TraceCheckUtils]: 5: Hoare triple {8963#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; {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L272 TraceCheckUtils]: 6: Hoare triple {8963#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L290 TraceCheckUtils]: 7: Hoare triple {8963#true} ~cond := #in~cond; {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L290 TraceCheckUtils]: 8: Hoare triple {8963#true} assume !(0 == ~cond); {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L290 TraceCheckUtils]: 9: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8963#true} {8963#true} #71#return; {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L290 TraceCheckUtils]: 11: Hoare triple {8963#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L272 TraceCheckUtils]: 12: Hoare triple {8963#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L290 TraceCheckUtils]: 13: Hoare triple {8963#true} ~cond := #in~cond; {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L290 TraceCheckUtils]: 14: Hoare triple {8963#true} assume !(0 == ~cond); {8963#true} is VALID [2022-04-28 07:31:55,336 INFO L290 TraceCheckUtils]: 15: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8963#true} {8963#true} #73#return; {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L272 TraceCheckUtils]: 17: Hoare triple {8963#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L290 TraceCheckUtils]: 18: Hoare triple {8963#true} ~cond := #in~cond; {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L290 TraceCheckUtils]: 19: Hoare triple {8963#true} assume !(0 == ~cond); {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L290 TraceCheckUtils]: 20: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8963#true} {8963#true} #75#return; {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L290 TraceCheckUtils]: 22: Hoare triple {8963#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L290 TraceCheckUtils]: 23: Hoare triple {8963#true} assume !false; {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L272 TraceCheckUtils]: 24: Hoare triple {8963#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L290 TraceCheckUtils]: 25: Hoare triple {8963#true} ~cond := #in~cond; {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L290 TraceCheckUtils]: 26: Hoare triple {8963#true} assume !(0 == ~cond); {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L290 TraceCheckUtils]: 27: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8963#true} {8963#true} #77#return; {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L290 TraceCheckUtils]: 29: Hoare triple {8963#true} assume !!(0 != ~a~0 && 0 != ~b~0); {8963#true} is VALID [2022-04-28 07:31:55,337 INFO L290 TraceCheckUtils]: 30: Hoare triple {8963#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)); {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L290 TraceCheckUtils]: 31: Hoare triple {8963#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)); {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L290 TraceCheckUtils]: 32: Hoare triple {8963#true} 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; {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L290 TraceCheckUtils]: 33: Hoare triple {8963#true} assume !false; {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L272 TraceCheckUtils]: 34: Hoare triple {8963#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L290 TraceCheckUtils]: 35: Hoare triple {8963#true} ~cond := #in~cond; {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L290 TraceCheckUtils]: 36: Hoare triple {8963#true} assume !(0 == ~cond); {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L290 TraceCheckUtils]: 37: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8963#true} {8963#true} #77#return; {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L290 TraceCheckUtils]: 39: Hoare triple {8963#true} assume !!(0 != ~a~0 && 0 != ~b~0); {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L290 TraceCheckUtils]: 40: Hoare triple {8963#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);~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; {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L290 TraceCheckUtils]: 41: Hoare triple {8963#true} assume !false; {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L272 TraceCheckUtils]: 42: Hoare triple {8963#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L290 TraceCheckUtils]: 43: Hoare triple {8963#true} ~cond := #in~cond; {8963#true} is VALID [2022-04-28 07:31:55,338 INFO L290 TraceCheckUtils]: 44: Hoare triple {8963#true} assume !(0 == ~cond); {8963#true} is VALID [2022-04-28 07:31:55,339 INFO L290 TraceCheckUtils]: 45: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:31:55,339 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8963#true} {8963#true} #77#return; {8963#true} is VALID [2022-04-28 07:31:55,339 INFO L290 TraceCheckUtils]: 47: Hoare triple {8963#true} assume !!(0 != ~a~0 && 0 != ~b~0); {8963#true} is VALID [2022-04-28 07:31:55,339 INFO L290 TraceCheckUtils]: 48: Hoare triple {8963#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)); {8963#true} is VALID [2022-04-28 07:31:55,339 INFO L290 TraceCheckUtils]: 49: Hoare triple {8963#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)); {8963#true} is VALID [2022-04-28 07:31:55,339 INFO L290 TraceCheckUtils]: 50: Hoare triple {8963#true} 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; {8963#true} is VALID [2022-04-28 07:31:55,339 INFO L290 TraceCheckUtils]: 51: Hoare triple {8963#true} assume !false; {8963#true} is VALID [2022-04-28 07:31:55,339 INFO L272 TraceCheckUtils]: 52: Hoare triple {8963#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:31:55,339 INFO L290 TraceCheckUtils]: 53: Hoare triple {8963#true} ~cond := #in~cond; {9127#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:55,340 INFO L290 TraceCheckUtils]: 54: Hoare triple {9127#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9131#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:55,340 INFO L290 TraceCheckUtils]: 55: Hoare triple {9131#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9131#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:57,342 WARN L284 TraceCheckUtils]: 56: Hoare quadruple {9131#(not (= |__VERIFIER_assert_#in~cond| 0))} {8963#true} #77#return; {9138#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is UNKNOWN [2022-04-28 07:31:57,343 INFO L290 TraceCheckUtils]: 57: Hoare triple {9138#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {9142#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:31:57,344 INFO L272 TraceCheckUtils]: 58: Hoare triple {9142#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {9146#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:31:57,344 INFO L290 TraceCheckUtils]: 59: Hoare triple {9146#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9150#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:57,345 INFO L290 TraceCheckUtils]: 60: Hoare triple {9150#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8964#false} is VALID [2022-04-28 07:31:57,345 INFO L290 TraceCheckUtils]: 61: Hoare triple {8964#false} assume !false; {8964#false} is VALID [2022-04-28 07:31:57,345 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 47 trivial. 0 not checked. [2022-04-28 07:31:57,345 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:32:31,181 INFO L290 TraceCheckUtils]: 61: Hoare triple {8964#false} assume !false; {8964#false} is VALID [2022-04-28 07:32:31,182 INFO L290 TraceCheckUtils]: 60: Hoare triple {9150#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8964#false} is VALID [2022-04-28 07:32:31,182 INFO L290 TraceCheckUtils]: 59: Hoare triple {9146#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9150#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:32:31,183 INFO L272 TraceCheckUtils]: 58: Hoare triple {9142#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {9146#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:32:31,183 INFO L290 TraceCheckUtils]: 57: Hoare triple {9169#(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); {9142#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:32:31,185 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9131#(not (= |__VERIFIER_assert_#in~cond| 0))} {8963#true} #77#return; {9169#(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 07:32:31,185 INFO L290 TraceCheckUtils]: 55: Hoare triple {9131#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9131#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:31,186 INFO L290 TraceCheckUtils]: 54: Hoare triple {9182#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9131#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:31,186 INFO L290 TraceCheckUtils]: 53: Hoare triple {8963#true} ~cond := #in~cond; {9182#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:32:31,186 INFO L272 TraceCheckUtils]: 52: Hoare triple {8963#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:32:31,186 INFO L290 TraceCheckUtils]: 51: Hoare triple {8963#true} assume !false; {8963#true} is VALID [2022-04-28 07:32:31,186 INFO L290 TraceCheckUtils]: 50: Hoare triple {8963#true} 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; {8963#true} is VALID [2022-04-28 07:32:31,186 INFO L290 TraceCheckUtils]: 49: Hoare triple {8963#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)); {8963#true} is VALID [2022-04-28 07:32:31,186 INFO L290 TraceCheckUtils]: 48: Hoare triple {8963#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)); {8963#true} is VALID [2022-04-28 07:32:31,186 INFO L290 TraceCheckUtils]: 47: Hoare triple {8963#true} assume !!(0 != ~a~0 && 0 != ~b~0); {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8963#true} {8963#true} #77#return; {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L290 TraceCheckUtils]: 45: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L290 TraceCheckUtils]: 44: Hoare triple {8963#true} assume !(0 == ~cond); {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L290 TraceCheckUtils]: 43: Hoare triple {8963#true} ~cond := #in~cond; {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L272 TraceCheckUtils]: 42: Hoare triple {8963#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L290 TraceCheckUtils]: 41: Hoare triple {8963#true} assume !false; {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L290 TraceCheckUtils]: 40: Hoare triple {8963#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);~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; {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L290 TraceCheckUtils]: 39: Hoare triple {8963#true} assume !!(0 != ~a~0 && 0 != ~b~0); {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8963#true} {8963#true} #77#return; {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L290 TraceCheckUtils]: 37: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L290 TraceCheckUtils]: 36: Hoare triple {8963#true} assume !(0 == ~cond); {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L290 TraceCheckUtils]: 35: Hoare triple {8963#true} ~cond := #in~cond; {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L272 TraceCheckUtils]: 34: Hoare triple {8963#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L290 TraceCheckUtils]: 33: Hoare triple {8963#true} assume !false; {8963#true} is VALID [2022-04-28 07:32:31,187 INFO L290 TraceCheckUtils]: 32: Hoare triple {8963#true} 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; {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L290 TraceCheckUtils]: 31: Hoare triple {8963#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)); {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L290 TraceCheckUtils]: 30: Hoare triple {8963#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)); {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L290 TraceCheckUtils]: 29: Hoare triple {8963#true} assume !!(0 != ~a~0 && 0 != ~b~0); {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8963#true} {8963#true} #77#return; {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L290 TraceCheckUtils]: 27: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L290 TraceCheckUtils]: 26: Hoare triple {8963#true} assume !(0 == ~cond); {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L290 TraceCheckUtils]: 25: Hoare triple {8963#true} ~cond := #in~cond; {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L272 TraceCheckUtils]: 24: Hoare triple {8963#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L290 TraceCheckUtils]: 23: Hoare triple {8963#true} assume !false; {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L290 TraceCheckUtils]: 22: Hoare triple {8963#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8963#true} {8963#true} #75#return; {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L290 TraceCheckUtils]: 20: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L290 TraceCheckUtils]: 19: Hoare triple {8963#true} assume !(0 == ~cond); {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L290 TraceCheckUtils]: 18: Hoare triple {8963#true} ~cond := #in~cond; {8963#true} is VALID [2022-04-28 07:32:31,188 INFO L272 TraceCheckUtils]: 17: Hoare triple {8963#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8963#true} {8963#true} #73#return; {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L290 TraceCheckUtils]: 15: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L290 TraceCheckUtils]: 14: Hoare triple {8963#true} assume !(0 == ~cond); {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L290 TraceCheckUtils]: 13: Hoare triple {8963#true} ~cond := #in~cond; {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L272 TraceCheckUtils]: 12: Hoare triple {8963#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L290 TraceCheckUtils]: 11: Hoare triple {8963#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8963#true} {8963#true} #71#return; {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L290 TraceCheckUtils]: 9: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L290 TraceCheckUtils]: 8: Hoare triple {8963#true} assume !(0 == ~cond); {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L290 TraceCheckUtils]: 7: Hoare triple {8963#true} ~cond := #in~cond; {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L272 TraceCheckUtils]: 6: Hoare triple {8963#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L290 TraceCheckUtils]: 5: Hoare triple {8963#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; {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L272 TraceCheckUtils]: 4: Hoare triple {8963#true} call #t~ret6 := main(); {8963#true} is VALID [2022-04-28 07:32:31,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8963#true} {8963#true} #83#return; {8963#true} is VALID [2022-04-28 07:32:31,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {8963#true} assume true; {8963#true} is VALID [2022-04-28 07:32:31,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {8963#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); {8963#true} is VALID [2022-04-28 07:32:31,190 INFO L272 TraceCheckUtils]: 0: Hoare triple {8963#true} call ULTIMATE.init(); {8963#true} is VALID [2022-04-28 07:32:31,190 INFO L134 CoverageAnalysis]: Checked inductivity of 67 backedges. 19 proven. 1 refuted. 0 times theorem prover too weak. 47 trivial. 0 not checked. [2022-04-28 07:32:31,190 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:32:31,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [371569625] [2022-04-28 07:32:31,190 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:32:31,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [141088177] [2022-04-28 07:32:31,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [141088177] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:32:31,190 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:32:31,190 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 07:32:31,191 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:32:31,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1310222141] [2022-04-28 07:32:31,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1310222141] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:32:31,191 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:32:31,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 07:32:31,191 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [514438596] [2022-04-28 07:32:31,191 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:32:31,193 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 62 [2022-04-28 07:32:31,194 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:32:31,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:32:33,224 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 07:32:33,224 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 07:32:33,224 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:32:33,224 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 07:32:33,224 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 07:32:33,225 INFO L87 Difference]: Start difference. First operand 72 states and 93 transitions. Second operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:32:35,928 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 07:32:38,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:38,637 INFO L93 Difference]: Finished difference Result 72 states and 93 transitions. [2022-04-28 07:32:38,637 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:32:38,637 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 62 [2022-04-28 07:32:38,638 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:32:38,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:32:38,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 38 transitions. [2022-04-28 07:32:38,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:32:38,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 38 transitions. [2022-04-28 07:32:38,639 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 38 transitions. [2022-04-28 07:32:40,701 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:32:40,701 INFO L225 Difference]: With dead ends: 72 [2022-04-28 07:32:40,702 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 07:32:40,702 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-28 07:32:40,702 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 9 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 93 SdHoareTripleChecker+Invalid, 72 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.5s IncrementalHoareTripleChecker+Time [2022-04-28 07:32:40,703 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 93 Invalid, 72 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 69 Invalid, 1 Unknown, 0 Unchecked, 3.5s Time] [2022-04-28 07:32:40,703 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 07:32:40,703 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 07:32:40,703 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:32:40,703 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 07:32:40,703 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 07:32:40,703 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 07:32:40,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:40,703 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 07:32:40,703 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 07:32:40,703 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:32:40,703 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:32:40,704 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 07:32:40,704 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 07:32:40,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:40,704 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 07:32:40,704 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 07:32:40,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:32:40,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:32:40,704 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:32:40,704 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:32:40,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 07:32:40,704 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 07:32:40,704 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 62 [2022-04-28 07:32:40,704 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:32:40,704 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 07:32:40,705 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:32:40,705 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 07:32:40,705 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:32:40,705 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 07:32:40,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:32:40,707 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 07:32:40,724 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 07:32:40,907 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 07:32:40,909 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 07:33:03,843 WARN L232 SmtUtils]: Spent 14.12s on a formula simplification. DAG size of input: 165 DAG size of output: 162 (called from [L 182] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.or) [2022-04-28 07:33:16,102 WARN L232 SmtUtils]: Spent 7.94s on a formula simplification. DAG size of input: 156 DAG size of output: 155 (called from [L 182] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.or) [2022-04-28 07:33:31,561 WARN L232 SmtUtils]: Spent 15.37s on a formula simplification. DAG size of input: 171 DAG size of output: 169 (called from [L 182] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.or) [2022-04-28 07:33:42,471 WARN L232 SmtUtils]: Spent 10.87s on a formula simplification. DAG size of input: 139 DAG size of output: 28 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:34:24,260 WARN L232 SmtUtils]: Spent 41.78s on a formula simplification. DAG size of input: 145 DAG size of output: 37 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:35:47,382 WARN L232 SmtUtils]: Spent 1.38m on a formula simplification. DAG size of input: 150 DAG size of output: 28 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:36:00,089 WARN L232 SmtUtils]: Spent 12.53s on a formula simplification. DAG size of input: 139 DAG size of output: 28 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:36:26,497 WARN L232 SmtUtils]: Spent 26.39s on a formula simplification. DAG size of input: 143 DAG size of output: 36 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:36:49,898 WARN L232 SmtUtils]: Spent 23.36s on a formula simplification. DAG size of input: 155 DAG size of output: 40 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-28 07:36:49,908 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 5) no Hoare annotation was computed. [2022-04-28 07:36:49,908 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 5) no Hoare annotation was computed. [2022-04-28 07:36:49,908 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 5) no Hoare annotation was computed. [2022-04-28 07:36:49,908 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 8 10) the Hoare annotation is: true [2022-04-28 07:36:49,909 INFO L895 garLoopResultBuilder]: At program point L9(line 9) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 07:36:49,909 INFO L895 garLoopResultBuilder]: At program point L9-2(lines 8 10) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 07:36:49,909 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 8 10) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 07:36:49,909 INFO L895 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 50) (<= 1 main_~y~0)) [2022-04-28 07:36:49,909 INFO L902 garLoopResultBuilder]: At program point L58(line 58) the Hoare annotation is: true [2022-04-28 07:36:49,909 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 19 60) the Hoare annotation is: true [2022-04-28 07:36:49,909 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 19 60) the Hoare annotation is: true [2022-04-28 07:36:49,909 INFO L895 garLoopResultBuilder]: At program point L44(lines 44 54) the Hoare annotation is: (let ((.cse0 (* main_~y~0 main_~x~0))) (and (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) .cse0) (<= main_~x~0 50) (= (mod (+ .cse0 (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0)) (<= 1 main_~b~0) (<= 1 main_~y~0))) [2022-04-28 07:36:49,909 INFO L895 garLoopResultBuilder]: At program point L40(lines 40 54) the Hoare annotation is: (let ((.cse0 (* main_~y~0 main_~x~0))) (and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) .cse0) (<= main_~x~0 50) (= (mod (+ .cse0 (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0)) (<= 1 main_~b~0) (<= 1 main_~y~0))) [2022-04-28 07:36:49,909 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 55) the Hoare annotation is: (and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (<= main_~x~0 50) (<= 1 main_~y~0) (= (* main_~b~0 main_~a~0) 0)) [2022-04-28 07:36:49,909 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 19 60) the Hoare annotation is: true [2022-04-28 07:36:49,909 INFO L895 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 50)) [2022-04-28 07:36:49,909 INFO L895 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (and (<= 0 (+ (div (+ (- 2) main_~y~0) 2) 1)) (<= 0 main_~x~0) (<= main_~x~0 50)) [2022-04-28 07:36:49,909 INFO L895 garLoopResultBuilder]: At program point L57(line 57) the Hoare annotation is: (and (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (<= main_~x~0 50) (<= 1 main_~y~0) (= (* main_~b~0 main_~a~0) 0)) [2022-04-28 07:36:49,909 INFO L902 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: true [2022-04-28 07:36:49,910 INFO L895 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 50)) [2022-04-28 07:36:49,910 INFO L895 garLoopResultBuilder]: At program point L47(lines 47 54) the Hoare annotation is: (let ((.cse0 (* main_~y~0 main_~x~0))) (and (or (not (= (mod main_~b~0 2) 0)) (not (= (mod main_~a~0 2) 0))) (<= 0 main_~x~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) .cse0) (<= main_~x~0 50) (= (mod (+ .cse0 (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0)) (<= 1 main_~b~0) (<= 1 main_~y~0))) [2022-04-28 07:36:49,910 INFO L895 garLoopResultBuilder]: At program point L47-2(lines 34 55) the Hoare annotation is: (let ((.cse0 (<= 0 main_~x~0)) (.cse1 (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (.cse2 (<= main_~x~0 50)) (.cse3 (<= 1 main_~y~0))) (or (and .cse0 .cse1 .cse2 (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0) .cse3) (and .cse0 .cse1 .cse2 (<= 1 main_~b~0) .cse3))) [2022-04-28 07:36:49,910 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (<= 0 main_~x~0)) (.cse1 (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))) (.cse2 (<= main_~x~0 50)) (.cse3 (<= 1 main_~y~0))) (or (and .cse0 .cse1 .cse2 (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0) .cse3) (and .cse0 .cse1 .cse2 (<= 1 main_~b~0) .cse3))) [2022-04-28 07:36:49,910 INFO L895 garLoopResultBuilder]: At program point L35-1(lines 34 55) the Hoare annotation is: (let ((.cse5 (* main_~y~0 main_~x~0))) (let ((.cse0 (<= 0 main_~x~0)) (.cse1 (or (= main_~q~0 .cse5) (and (= (mod (+ .cse5 (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~b~0 0)) (not (= main_~a~0 0))))) (.cse2 (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) .cse5)) (.cse3 (<= main_~x~0 50)) (.cse4 (<= 1 main_~y~0))) (or (and .cse0 .cse1 .cse2 .cse3 (<= 1 main_~b~0) .cse4) (and .cse0 .cse1 .cse2 .cse3 (not (= (mod (+ main_~a~0 1) 2) 0)) (<= 0 main_~b~0) .cse4)))) [2022-04-28 07:36:49,910 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 07:36:49,910 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 07:36:49,910 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 07:36:49,910 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 07:36:49,910 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 07:36:49,910 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 07:36:49,910 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 07:36:49,910 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 11 17) the Hoare annotation is: true [2022-04-28 07:36:49,910 INFO L895 garLoopResultBuilder]: At program point L13(lines 13 14) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 07:36:49,910 INFO L895 garLoopResultBuilder]: At program point L12(lines 12 15) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 07:36:49,910 INFO L895 garLoopResultBuilder]: At program point L12-2(lines 11 17) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 07:36:49,911 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 11 17) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 07:36:49,911 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 14) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 07:36:49,912 INFO L356 BasicCegarLoop]: Path program histogram: [6, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] [2022-04-28 07:36:49,914 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 07:36:49,916 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 07:36:49,917 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 07:36:51,975 INFO L163 areAnnotationChecker]: CFG has 45 edges. 44 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 07:36:51,983 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 07:36:51 BoogieIcfgContainer [2022-04-28 07:36:51,984 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 07:36:51,984 INFO L158 Benchmark]: Toolchain (without parser) took 840483.34ms. Allocated memory was 177.2MB in the beginning and 389.0MB in the end (delta: 211.8MB). Free memory was 120.7MB in the beginning and 205.5MB in the end (delta: -84.8MB). Peak memory consumption was 205.9MB. Max. memory is 8.0GB. [2022-04-28 07:36:51,984 INFO L158 Benchmark]: CDTParser took 0.08ms. Allocated memory is still 177.2MB. Free memory is still 136.9MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 07:36:51,985 INFO L158 Benchmark]: CACSL2BoogieTranslator took 192.68ms. Allocated memory was 177.2MB in the beginning and 269.5MB in the end (delta: 92.3MB). Free memory was 120.4MB in the beginning and 239.8MB in the end (delta: -119.4MB). Peak memory consumption was 12.2MB. Max. memory is 8.0GB. [2022-04-28 07:36:51,985 INFO L158 Benchmark]: Boogie Preprocessor took 22.32ms. Allocated memory is still 269.5MB. Free memory was 239.8MB in the beginning and 238.3MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-28 07:36:51,985 INFO L158 Benchmark]: RCFGBuilder took 267.29ms. Allocated memory is still 269.5MB. Free memory was 237.7MB in the beginning and 223.6MB in the end (delta: 14.2MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-28 07:36:51,985 INFO L158 Benchmark]: TraceAbstraction took 839997.08ms. Allocated memory was 269.5MB in the beginning and 389.0MB in the end (delta: 119.5MB). Free memory was 223.1MB in the beginning and 205.5MB in the end (delta: 17.5MB). Peak memory consumption was 217.3MB. Max. memory is 8.0GB. [2022-04-28 07:36:51,986 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.08ms. Allocated memory is still 177.2MB. Free memory is still 136.9MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 192.68ms. Allocated memory was 177.2MB in the beginning and 269.5MB in the end (delta: 92.3MB). Free memory was 120.4MB in the beginning and 239.8MB in the end (delta: -119.4MB). Peak memory consumption was 12.2MB. Max. memory is 8.0GB. * Boogie Preprocessor took 22.32ms. Allocated memory is still 269.5MB. Free memory was 239.8MB in the beginning and 238.3MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 267.29ms. Allocated memory is still 269.5MB. Free memory was 237.7MB in the beginning and 223.6MB in the end (delta: 14.2MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * TraceAbstraction took 839997.08ms. Allocated memory was 269.5MB in the beginning and 389.0MB in the end (delta: 119.5MB). Free memory was 223.1MB in the beginning and 205.5MB in the end (delta: 17.5MB). Peak memory consumption was 217.3MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 14]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 37 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 837.9s, OverallIterations: 16, TraceHistogramMax: 5, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 83.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 249.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 10 mSolverCounterUnknown, 448 SdHoareTripleChecker+Valid, 36.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 414 mSDsluCounter, 1828 SdHoareTripleChecker+Invalid, 36.3s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1425 mSDsCounter, 194 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2362 IncrementalHoareTripleChecker+Invalid, 2566 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 194 mSolverCounterUnsat, 403 mSDtfsCounter, 2362 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1406 GetRequests, 1158 SyntacticMatches, 15 SemanticMatches, 233 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 765 ImplicationChecksByTransitivity, 4.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=72occurred in iteration=15, InterpolantAutomatonStates: 162, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.6s AutomataMinimizationTime, 16 MinimizatonAttempts, 119 StatesRemovedByMinimization, 13 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 34 LocationsWithAnnotation, 218 PreInvPairs, 332 NumberOfFragments, 528 HoareAnnotationTreeSize, 218 FomulaSimplifications, 37903 FormulaSimplificationTreeSizeReduction, 50.7s HoareSimplificationTime, 34 FomulaSimplificationsInter, 721196 FormulaSimplificationTreeSizeReductionInter, 198.3s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: (((((0 <= x && q + b * a * p == y * x) && x <= 50) && !((a + 1) % 2 == 0)) && 0 <= b) && 1 <= y) || ((((0 <= x && q + b * a * p == y * x) && x <= 50) && 1 <= b) && 1 <= y) - ProcedureContractResult [Line: 8]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 19]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 11]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-28 07:36:52,120 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...