/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/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:50:04,777 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:50:04,779 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:50:04,800 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:50:04,801 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:50:04,801 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:50:04,802 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:50:04,808 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:50:04,809 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:50:04,813 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:50:04,814 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:50:04,815 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:50:04,815 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:50:04,817 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:50:04,818 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:50:04,821 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:50:04,821 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:50:04,822 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:50:04,823 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:50:04,829 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:50:04,830 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:50:04,833 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:50:04,833 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:50:04,834 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:50:04,834 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:50:04,836 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:50:04,836 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:50:04,836 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:50:04,836 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:50:04,837 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:50:04,837 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:50:04,837 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:50:04,838 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:50:04,838 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:50:04,838 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:50:04,839 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:50:04,839 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:50:04,840 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:50:04,840 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:50:04,840 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:50:04,840 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:50:04,841 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:50:04,841 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 13:50:04,866 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:50:04,867 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:50:04,867 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:50:04,867 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:50:04,868 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:50:04,868 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:50:04,868 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:50:04,868 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:50:04,868 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:50:04,868 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:50:04,869 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:50:04,869 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:50:04,869 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:50:04,869 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:50:04,869 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:50:04,869 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:50:04,869 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:50:04,869 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:50:04,869 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:50:04,869 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:50:04,870 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:50:04,870 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:50:04,870 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:50:04,870 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:50:04,870 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:50:04,870 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:50:04,870 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:50:04,870 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:50:04,870 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:50:04,870 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:50:04,871 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:50:04,871 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:50:04,871 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:50:04,871 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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-27 13:50:05,052 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:50:05,078 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:50:05,080 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:50:05,080 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:50:05,081 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:50:05,082 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound10.c [2022-04-27 13:50:05,140 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a0d70ac89/96fd6f3b27354f08a76b48d578dbd3e7/FLAGac1847edb [2022-04-27 13:50:05,493 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:50:05,493 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound10.c [2022-04-27 13:50:05,498 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a0d70ac89/96fd6f3b27354f08a76b48d578dbd3e7/FLAGac1847edb [2022-04-27 13:50:05,507 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a0d70ac89/96fd6f3b27354f08a76b48d578dbd3e7 [2022-04-27 13:50:05,510 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:50:05,511 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:50:05,514 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:50:05,514 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:50:05,516 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:50:05,517 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:50:05" (1/1) ... [2022-04-27 13:50:05,518 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6e30cd4d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:50:05, skipping insertion in model container [2022-04-27 13:50:05,518 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:50:05" (1/1) ... [2022-04-27 13:50:05,523 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:50:05,533 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:50:05,652 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/hard2_valuebound10.c[526,539] [2022-04-27 13:50:05,664 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:50:05,670 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:50:05,678 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/hard2_valuebound10.c[526,539] [2022-04-27 13:50:05,684 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:50:05,693 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:50:05,693 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:50:05 WrapperNode [2022-04-27 13:50:05,693 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:50:05,694 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:50:05,694 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:50:05,694 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:50:05,701 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:50:05" (1/1) ... [2022-04-27 13:50:05,702 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:50:05" (1/1) ... [2022-04-27 13:50:05,707 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:50:05" (1/1) ... [2022-04-27 13:50:05,707 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:50:05" (1/1) ... [2022-04-27 13:50:05,720 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:50:05" (1/1) ... [2022-04-27 13:50:05,725 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:50:05" (1/1) ... [2022-04-27 13:50:05,731 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:50:05" (1/1) ... [2022-04-27 13:50:05,733 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:50:05,733 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:50:05,734 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:50:05,734 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:50:05,734 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:50:05" (1/1) ... [2022-04-27 13:50:05,739 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:50:05,746 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:50:05,757 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-27 13:50:05,780 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-27 13:50:05,796 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:50:05,797 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:50:05,797 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:50:05,797 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:50:05,799 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:50:05,799 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:50:05,799 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:50:05,799 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:50:05,800 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:50:05,800 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:50:05,800 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 13:50:05,800 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:50:05,800 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:50:05,800 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:50:05,800 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:50:05,800 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:50:05,800 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:50:05,800 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:50:05,800 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:50:05,800 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:50:05,847 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:50:05,849 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:50:06,039 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:50:06,049 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:50:06,049 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:50:06,050 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:50:06 BoogieIcfgContainer [2022-04-27 13:50:06,051 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:50:06,052 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:50:06,052 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:50:06,063 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:50:06,064 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:50:05" (1/3) ... [2022-04-27 13:50:06,065 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1f2c9129 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:50:06, skipping insertion in model container [2022-04-27 13:50:06,065 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:50:05" (2/3) ... [2022-04-27 13:50:06,065 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1f2c9129 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:50:06, skipping insertion in model container [2022-04-27 13:50:06,066 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:50:06" (3/3) ... [2022-04-27 13:50:06,067 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_valuebound10.c [2022-04-27 13:50:06,081 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:50:06,082 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:50:06,115 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:50:06,120 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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@4cf5e169, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@e7b247b [2022-04-27 13:50:06,120 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:50:06,127 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:50:06,134 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 13:50:06,134 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:50:06,134 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:50:06,135 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:50:06,138 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:50:06,139 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 1 times [2022-04-27 13:50:06,145 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:50:06,145 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [276649194] [2022-04-27 13:50:06,146 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:06,146 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:50:06,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:06,255 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:50:06,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:06,269 INFO L290 TraceCheckUtils]: 0: Hoare triple {47#(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(8, 2);call #Ultimate.allocInit(12, 3); {38#true} is VALID [2022-04-27 13:50:06,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-27 13:50:06,270 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-27 13:50:06,270 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:50:06,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:06,277 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 13:50:06,278 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 13:50:06,278 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 13:50:06,278 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-27 13:50:06,279 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {47#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:50:06,279 INFO L290 TraceCheckUtils]: 1: Hoare triple {47#(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(8, 2);call #Ultimate.allocInit(12, 3); {38#true} is VALID [2022-04-27 13:50:06,279 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-27 13:50:06,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-27 13:50:06,280 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret5 := main(); {38#true} is VALID [2022-04-27 13:50:06,280 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {38#true} is VALID [2022-04-27 13:50:06,280 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {38#true} is VALID [2022-04-27 13:50:06,280 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 13:50:06,281 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 13:50:06,281 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 13:50:06,281 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-27 13:50:06,281 INFO L290 TraceCheckUtils]: 11: Hoare triple {39#false} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {39#false} is VALID [2022-04-27 13:50:06,281 INFO L290 TraceCheckUtils]: 12: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-27 13:50:06,281 INFO L272 TraceCheckUtils]: 13: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {39#false} is VALID [2022-04-27 13:50:06,282 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-27 13:50:06,282 INFO L290 TraceCheckUtils]: 15: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-27 13:50:06,282 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-27 13:50:06,282 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:50:06,283 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:50:06,283 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [276649194] [2022-04-27 13:50:06,284 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [276649194] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:50:06,284 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:50:06,284 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:50:06,285 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [884986816] [2022-04-27 13:50:06,285 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:50:06,289 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 13:50:06,290 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:50:06,293 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:50:06,321 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:06,321 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:50:06,321 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:50:06,339 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:50:06,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:50:06,342 INFO L87 Difference]: Start difference. First operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:50:06,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:06,510 INFO L93 Difference]: Finished difference Result 61 states and 95 transitions. [2022-04-27 13:50:06,510 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:50:06,510 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 13:50:06,511 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:50:06,511 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:50:06,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-27 13:50:06,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:50:06,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-27 13:50:06,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 95 transitions. [2022-04-27 13:50:06,661 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:06,667 INFO L225 Difference]: With dead ends: 61 [2022-04-27 13:50:06,668 INFO L226 Difference]: Without dead ends: 30 [2022-04-27 13:50:06,670 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 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-27 13:50:06,672 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:50:06,673 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:50:06,683 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-27 13:50:06,694 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-27 13:50:06,695 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:50:06,695 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:50:06,696 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:50:06,696 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:50:06,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:06,700 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-27 13:50:06,700 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 13:50:06,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:06,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:06,701 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-27 13:50:06,702 INFO L87 Difference]: Start difference. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-27 13:50:06,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:06,704 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-27 13:50:06,704 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 13:50:06,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:06,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:06,705 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:50:06,705 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:50:06,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:50:06,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-27 13:50:06,709 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 17 [2022-04-27 13:50:06,709 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:50:06,709 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-27 13:50:06,709 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:50:06,709 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 13:50:06,710 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 13:50:06,710 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:50:06,710 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:50:06,710 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:50:06,710 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:50:06,711 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:50:06,711 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 1 times [2022-04-27 13:50:06,711 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:50:06,711 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [544561591] [2022-04-27 13:50:06,711 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:06,711 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:50:06,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:06,776 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:50:06,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:06,798 INFO L290 TraceCheckUtils]: 0: Hoare triple {252#(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(8, 2);call #Ultimate.allocInit(12, 3); {240#true} is VALID [2022-04-27 13:50:06,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:50:06,799 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {240#true} {240#true} #94#return; {240#true} is VALID [2022-04-27 13:50:06,799 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:50:06,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:06,816 INFO L290 TraceCheckUtils]: 0: Hoare triple {240#true} ~cond := #in~cond; {240#true} is VALID [2022-04-27 13:50:06,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {240#true} assume !(0 == ~cond); {240#true} is VALID [2022-04-27 13:50:06,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:50:06,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {240#true} {240#true} #78#return; {240#true} is VALID [2022-04-27 13:50:06,817 INFO L272 TraceCheckUtils]: 0: Hoare triple {240#true} call ULTIMATE.init(); {252#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:50:06,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {252#(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(8, 2);call #Ultimate.allocInit(12, 3); {240#true} is VALID [2022-04-27 13:50:06,818 INFO L290 TraceCheckUtils]: 2: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:50:06,818 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {240#true} {240#true} #94#return; {240#true} is VALID [2022-04-27 13:50:06,818 INFO L272 TraceCheckUtils]: 4: Hoare triple {240#true} call #t~ret5 := main(); {240#true} is VALID [2022-04-27 13:50:06,818 INFO L290 TraceCheckUtils]: 5: Hoare triple {240#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {240#true} is VALID [2022-04-27 13:50:06,818 INFO L272 TraceCheckUtils]: 6: Hoare triple {240#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {240#true} is VALID [2022-04-27 13:50:06,818 INFO L290 TraceCheckUtils]: 7: Hoare triple {240#true} ~cond := #in~cond; {240#true} is VALID [2022-04-27 13:50:06,818 INFO L290 TraceCheckUtils]: 8: Hoare triple {240#true} assume !(0 == ~cond); {240#true} is VALID [2022-04-27 13:50:06,819 INFO L290 TraceCheckUtils]: 9: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:50:06,819 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {240#true} {240#true} #78#return; {240#true} is VALID [2022-04-27 13:50:06,819 INFO L290 TraceCheckUtils]: 11: Hoare triple {240#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {249#(= main_~q~0 0)} is VALID [2022-04-27 13:50:06,819 INFO L290 TraceCheckUtils]: 12: Hoare triple {249#(= main_~q~0 0)} assume !false; {249#(= main_~q~0 0)} is VALID [2022-04-27 13:50:06,820 INFO L272 TraceCheckUtils]: 13: Hoare triple {249#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {250#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:50:06,820 INFO L290 TraceCheckUtils]: 14: Hoare triple {250#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {251#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:50:06,821 INFO L290 TraceCheckUtils]: 15: Hoare triple {251#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {241#false} is VALID [2022-04-27 13:50:06,821 INFO L290 TraceCheckUtils]: 16: Hoare triple {241#false} assume !false; {241#false} is VALID [2022-04-27 13:50:06,821 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:50:06,821 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:50:06,821 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [544561591] [2022-04-27 13:50:06,821 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [544561591] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:50:06,821 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:50:06,822 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:50:06,822 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1851049788] [2022-04-27 13:50:06,822 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:50:06,823 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 13:50:06,823 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:50:06,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:50:06,832 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:06,832 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:50:06,833 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:50:06,833 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:50:06,833 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:50:06,833 INFO L87 Difference]: Start difference. First operand 30 states and 38 transitions. Second operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:50:07,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:07,181 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-27 13:50:07,181 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:50:07,182 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 13:50:07,182 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:50:07,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:50:07,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:50:07,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:50:07,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:50:07,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-27 13:50:07,252 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-27 13:50:07,256 INFO L225 Difference]: With dead ends: 43 [2022-04-27 13:50:07,256 INFO L226 Difference]: Without dead ends: 41 [2022-04-27 13:50:07,260 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:50:07,263 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 37 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:50:07,264 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 45 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:50:07,265 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-27 13:50:07,274 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-27 13:50:07,274 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:50:07,274 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 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-27 13:50:07,275 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 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-27 13:50:07,276 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 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-27 13:50:07,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:07,284 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-27 13:50:07,284 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-27 13:50:07,290 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:07,290 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:07,292 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 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 41 states. [2022-04-27 13:50:07,292 INFO L87 Difference]: Start difference. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 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 41 states. [2022-04-27 13:50:07,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:07,294 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-27 13:50:07,294 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-27 13:50:07,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:07,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:07,295 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:50:07,295 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:50:07,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 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-27 13:50:07,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-27 13:50:07,297 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 17 [2022-04-27 13:50:07,297 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:50:07,297 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-27 13:50:07,297 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:50:07,297 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-27 13:50:07,298 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-27 13:50:07,298 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:50:07,298 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:50:07,298 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:50:07,298 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:50:07,299 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:50:07,299 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 1 times [2022-04-27 13:50:07,299 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:50:07,299 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [169550350] [2022-04-27 13:50:07,299 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:07,299 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:50:07,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:07,365 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:50:07,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:07,383 INFO L290 TraceCheckUtils]: 0: Hoare triple {474#(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(8, 2);call #Ultimate.allocInit(12, 3); {458#true} is VALID [2022-04-27 13:50:07,383 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:50:07,383 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {458#true} {458#true} #94#return; {458#true} is VALID [2022-04-27 13:50:07,384 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:50:07,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:07,405 INFO L290 TraceCheckUtils]: 0: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:50:07,405 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:50:07,405 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:50:07,405 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {458#true} {458#true} #78#return; {458#true} is VALID [2022-04-27 13:50:07,406 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-27 13:50:07,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:07,416 INFO L290 TraceCheckUtils]: 0: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:50:07,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:50:07,417 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:50:07,417 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {458#true} {467#(= main_~A~0 main_~r~0)} #80#return; {467#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:50:07,418 INFO L272 TraceCheckUtils]: 0: Hoare triple {458#true} call ULTIMATE.init(); {474#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:50:07,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {474#(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(8, 2);call #Ultimate.allocInit(12, 3); {458#true} is VALID [2022-04-27 13:50:07,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:50:07,419 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {458#true} {458#true} #94#return; {458#true} is VALID [2022-04-27 13:50:07,419 INFO L272 TraceCheckUtils]: 4: Hoare triple {458#true} call #t~ret5 := main(); {458#true} is VALID [2022-04-27 13:50:07,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {458#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {458#true} is VALID [2022-04-27 13:50:07,419 INFO L272 TraceCheckUtils]: 6: Hoare triple {458#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {458#true} is VALID [2022-04-27 13:50:07,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:50:07,419 INFO L290 TraceCheckUtils]: 8: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:50:07,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:50:07,420 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {458#true} {458#true} #78#return; {458#true} is VALID [2022-04-27 13:50:07,420 INFO L290 TraceCheckUtils]: 11: Hoare triple {458#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {467#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:50:07,421 INFO L290 TraceCheckUtils]: 12: Hoare triple {467#(= main_~A~0 main_~r~0)} assume !false; {467#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:50:07,421 INFO L272 TraceCheckUtils]: 13: Hoare triple {467#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {458#true} is VALID [2022-04-27 13:50:07,421 INFO L290 TraceCheckUtils]: 14: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:50:07,421 INFO L290 TraceCheckUtils]: 15: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:50:07,421 INFO L290 TraceCheckUtils]: 16: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:50:07,422 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {458#true} {467#(= main_~A~0 main_~r~0)} #80#return; {467#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:50:07,422 INFO L272 TraceCheckUtils]: 18: Hoare triple {467#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:50:07,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {472#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {473#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:50:07,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {473#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {459#false} is VALID [2022-04-27 13:50:07,423 INFO L290 TraceCheckUtils]: 21: Hoare triple {459#false} assume !false; {459#false} is VALID [2022-04-27 13:50:07,424 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:50:07,424 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:50:07,425 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [169550350] [2022-04-27 13:50:07,425 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [169550350] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:50:07,426 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:50:07,426 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:50:07,426 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1816158015] [2022-04-27 13:50:07,426 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:50:07,427 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-27 13:50:07,427 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:50:07,428 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:50:07,444 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-27 13:50:07,444 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:50:07,444 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:50:07,445 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:50:07,445 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:50:07,446 INFO L87 Difference]: Start difference. First operand 34 states and 41 transitions. Second operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:50:07,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:07,783 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-27 13:50:07,783 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:50:07,783 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-27 13:50:07,783 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:50:07,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:50:07,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:50:07,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:50:07,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:50:07,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-27 13:50:07,834 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-27 13:50:07,836 INFO L225 Difference]: With dead ends: 47 [2022-04-27 13:50:07,836 INFO L226 Difference]: Without dead ends: 45 [2022-04-27 13:50:07,836 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:50:07,837 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 32 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:50:07,837 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 45 Invalid, 141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:50:07,837 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-27 13:50:07,841 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 38. [2022-04-27 13:50:07,841 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:50:07,842 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:50:07,842 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:50:07,855 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:50:07,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:07,858 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-27 13:50:07,858 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-27 13:50:07,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:07,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:07,859 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-27 13:50:07,859 INFO L87 Difference]: Start difference. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-27 13:50:07,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:07,861 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-27 13:50:07,861 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-27 13:50:07,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:07,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:07,861 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:50:07,861 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:50:07,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:50:07,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2022-04-27 13:50:07,863 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 22 [2022-04-27 13:50:07,863 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:50:07,863 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2022-04-27 13:50:07,864 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:50:07,864 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-27 13:50:07,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-27 13:50:07,864 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:50:07,864 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:50:07,864 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 13:50:07,865 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:50:07,865 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:50:07,865 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 1 times [2022-04-27 13:50:07,865 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:50:07,865 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2044533205] [2022-04-27 13:50:07,865 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:07,866 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:50:07,880 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:50:07,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1209660486] [2022-04-27 13:50:07,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:07,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:07,881 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:50:07,884 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-27 13:50:07,886 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-27 13:50:07,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:07,939 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:50:07,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:07,984 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:50:08,179 INFO L272 TraceCheckUtils]: 0: Hoare triple {698#true} call ULTIMATE.init(); {698#true} is VALID [2022-04-27 13:50:08,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {698#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(8, 2);call #Ultimate.allocInit(12, 3); {698#true} is VALID [2022-04-27 13:50:08,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:50:08,180 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {698#true} {698#true} #94#return; {698#true} is VALID [2022-04-27 13:50:08,180 INFO L272 TraceCheckUtils]: 4: Hoare triple {698#true} call #t~ret5 := main(); {698#true} is VALID [2022-04-27 13:50:08,180 INFO L290 TraceCheckUtils]: 5: Hoare triple {698#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {698#true} is VALID [2022-04-27 13:50:08,180 INFO L272 TraceCheckUtils]: 6: Hoare triple {698#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {698#true} is VALID [2022-04-27 13:50:08,180 INFO L290 TraceCheckUtils]: 7: Hoare triple {698#true} ~cond := #in~cond; {698#true} is VALID [2022-04-27 13:50:08,180 INFO L290 TraceCheckUtils]: 8: Hoare triple {698#true} assume !(0 == ~cond); {698#true} is VALID [2022-04-27 13:50:08,180 INFO L290 TraceCheckUtils]: 9: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:50:08,181 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {698#true} {698#true} #78#return; {698#true} is VALID [2022-04-27 13:50:08,181 INFO L290 TraceCheckUtils]: 11: Hoare triple {698#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:08,182 INFO L290 TraceCheckUtils]: 12: Hoare triple {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:08,182 INFO L272 TraceCheckUtils]: 13: Hoare triple {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {698#true} is VALID [2022-04-27 13:50:08,182 INFO L290 TraceCheckUtils]: 14: Hoare triple {698#true} ~cond := #in~cond; {698#true} is VALID [2022-04-27 13:50:08,182 INFO L290 TraceCheckUtils]: 15: Hoare triple {698#true} assume !(0 == ~cond); {698#true} is VALID [2022-04-27 13:50:08,182 INFO L290 TraceCheckUtils]: 16: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:50:08,183 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {698#true} {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:08,183 INFO L272 TraceCheckUtils]: 18: Hoare triple {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {698#true} is VALID [2022-04-27 13:50:08,183 INFO L290 TraceCheckUtils]: 19: Hoare triple {698#true} ~cond := #in~cond; {698#true} is VALID [2022-04-27 13:50:08,183 INFO L290 TraceCheckUtils]: 20: Hoare triple {698#true} assume !(0 == ~cond); {698#true} is VALID [2022-04-27 13:50:08,183 INFO L290 TraceCheckUtils]: 21: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:50:08,184 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {698#true} {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:08,185 INFO L272 TraceCheckUtils]: 23: Hoare triple {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {773#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:50:08,185 INFO L290 TraceCheckUtils]: 24: Hoare triple {773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:50:08,185 INFO L290 TraceCheckUtils]: 25: Hoare triple {777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {699#false} is VALID [2022-04-27 13:50:08,186 INFO L290 TraceCheckUtils]: 26: Hoare triple {699#false} assume !false; {699#false} is VALID [2022-04-27 13:50:08,186 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 13:50:08,186 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:50:08,186 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:50:08,186 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2044533205] [2022-04-27 13:50:08,187 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:50:08,187 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1209660486] [2022-04-27 13:50:08,187 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1209660486] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:50:08,187 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:50:08,187 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:50:08,187 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [261480286] [2022-04-27 13:50:08,187 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:50:08,188 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-27 13:50:08,188 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:50:08,188 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:50:08,205 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:08,205 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:50:08,205 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:50:08,206 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:50:08,206 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:50:08,206 INFO L87 Difference]: Start difference. First operand 38 states and 44 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:50:08,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:08,351 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-27 13:50:08,351 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:50:08,352 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-27 13:50:08,352 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:50:08,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:50:08,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:50:08,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:50:08,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:50:08,360 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-27 13:50:08,409 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:08,412 INFO L225 Difference]: With dead ends: 66 [2022-04-27 13:50:08,412 INFO L226 Difference]: Without dead ends: 52 [2022-04-27 13:50:08,414 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 23 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-27 13:50:08,419 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:50:08,420 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 128 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:50:08,422 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-27 13:50:08,431 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-27 13:50:08,432 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:50:08,432 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:50:08,434 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:50:08,434 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:50:08,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:08,437 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-27 13:50:08,437 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 13:50:08,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:08,438 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:08,439 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-27 13:50:08,440 INFO L87 Difference]: Start difference. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-27 13:50:08,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:08,444 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-27 13:50:08,444 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 13:50:08,445 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:08,445 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:08,445 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:50:08,445 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:50:08,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:50:08,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-27 13:50:08,447 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 27 [2022-04-27 13:50:08,447 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:50:08,447 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-27 13:50:08,447 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:50:08,448 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 13:50:08,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-27 13:50:08,448 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:50:08,448 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:50:08,467 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-27 13:50:08,653 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:08,654 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:50:08,654 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:50:08,654 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 1 times [2022-04-27 13:50:08,654 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:50:08,654 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1343582690] [2022-04-27 13:50:08,655 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:08,655 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:50:08,668 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:50:08,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2144788305] [2022-04-27 13:50:08,669 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:08,669 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:08,669 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:50:08,670 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-27 13:50:08,679 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-27 13:50:08,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:08,718 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:50:08,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:08,727 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:50:12,893 INFO L272 TraceCheckUtils]: 0: Hoare triple {1063#true} call ULTIMATE.init(); {1063#true} is VALID [2022-04-27 13:50:12,894 INFO L290 TraceCheckUtils]: 1: Hoare triple {1063#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(8, 2);call #Ultimate.allocInit(12, 3); {1063#true} is VALID [2022-04-27 13:50:12,894 INFO L290 TraceCheckUtils]: 2: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:50:12,894 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1063#true} {1063#true} #94#return; {1063#true} is VALID [2022-04-27 13:50:12,894 INFO L272 TraceCheckUtils]: 4: Hoare triple {1063#true} call #t~ret5 := main(); {1063#true} is VALID [2022-04-27 13:50:12,894 INFO L290 TraceCheckUtils]: 5: Hoare triple {1063#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {1063#true} is VALID [2022-04-27 13:50:12,894 INFO L272 TraceCheckUtils]: 6: Hoare triple {1063#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:50:12,894 INFO L290 TraceCheckUtils]: 7: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:50:12,895 INFO L290 TraceCheckUtils]: 8: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:50:12,895 INFO L290 TraceCheckUtils]: 9: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:50:12,895 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1063#true} {1063#true} #78#return; {1063#true} is VALID [2022-04-27 13:50:12,897 INFO L290 TraceCheckUtils]: 11: Hoare triple {1063#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:50:12,907 INFO L290 TraceCheckUtils]: 12: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:50:12,907 INFO L272 TraceCheckUtils]: 13: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:50:12,908 INFO L290 TraceCheckUtils]: 14: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:50:12,908 INFO L290 TraceCheckUtils]: 15: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:50:12,908 INFO L290 TraceCheckUtils]: 16: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:50:12,912 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1063#true} {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #80#return; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:50:12,913 INFO L272 TraceCheckUtils]: 18: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:50:12,913 INFO L290 TraceCheckUtils]: 19: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:50:12,913 INFO L290 TraceCheckUtils]: 20: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:50:12,913 INFO L290 TraceCheckUtils]: 21: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:50:12,914 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1063#true} {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #82#return; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:50:12,914 INFO L272 TraceCheckUtils]: 23: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:50:12,914 INFO L290 TraceCheckUtils]: 24: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:50:12,914 INFO L290 TraceCheckUtils]: 25: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:50:12,914 INFO L290 TraceCheckUtils]: 26: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:50:12,915 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1063#true} {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #84#return; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:50:12,915 INFO L290 TraceCheckUtils]: 28: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:50:12,916 INFO L290 TraceCheckUtils]: 29: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !false; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:50:12,916 INFO L272 TraceCheckUtils]: 30: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1159#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:50:12,917 INFO L290 TraceCheckUtils]: 31: Hoare triple {1159#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1163#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:50:12,917 INFO L290 TraceCheckUtils]: 32: Hoare triple {1163#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1064#false} is VALID [2022-04-27 13:50:12,917 INFO L290 TraceCheckUtils]: 33: Hoare triple {1064#false} assume !false; {1064#false} is VALID [2022-04-27 13:50:12,917 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:50:12,918 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:50:12,918 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:50:12,918 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1343582690] [2022-04-27 13:50:12,918 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:50:12,918 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2144788305] [2022-04-27 13:50:12,918 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2144788305] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:50:12,918 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:50:12,918 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:50:12,918 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1058495773] [2022-04-27 13:50:12,919 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:50:12,919 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 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 34 [2022-04-27 13:50:12,919 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:50:12,919 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 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-27 13:50:12,938 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:12,938 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:50:12,938 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:50:12,938 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:50:12,939 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:50:12,939 INFO L87 Difference]: Start difference. First operand 52 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 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-27 13:50:13,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:13,096 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-27 13:50:13,096 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:50:13,096 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 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 34 [2022-04-27 13:50:13,097 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:50:13,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 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-27 13:50:13,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-27 13:50:13,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 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-27 13:50:13,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-27 13:50:13,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-27 13:50:13,139 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-27 13:50:13,140 INFO L225 Difference]: With dead ends: 65 [2022-04-27 13:50:13,140 INFO L226 Difference]: Without dead ends: 58 [2022-04-27 13:50:13,141 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 30 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-27 13:50:13,141 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 9 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:50:13,141 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 103 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:50:13,142 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-27 13:50:13,148 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2022-04-27 13:50:13,149 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:50:13,149 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:50:13,149 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:50:13,149 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:50:13,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:13,151 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-27 13:50:13,151 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-27 13:50:13,152 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:13,152 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:13,152 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-27 13:50:13,152 INFO L87 Difference]: Start difference. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-27 13:50:13,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:13,154 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-27 13:50:13,154 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-27 13:50:13,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:13,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:13,155 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:50:13,155 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:50:13,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:50:13,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2022-04-27 13:50:13,156 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 34 [2022-04-27 13:50:13,157 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:50:13,157 INFO L495 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2022-04-27 13:50:13,157 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 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-27 13:50:13,157 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-27 13:50:13,157 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 13:50:13,158 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:50:13,158 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:50:13,177 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-27 13:50:13,371 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:13,372 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:50:13,372 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:50:13,372 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 1 times [2022-04-27 13:50:13,372 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:50:13,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [511982212] [2022-04-27 13:50:13,372 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:13,372 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:50:13,396 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:50:13,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [157187783] [2022-04-27 13:50:13,397 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:13,397 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:13,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:50:13,399 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-27 13:50:13,400 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-27 13:50:13,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:13,443 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:50:13,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:13,454 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:50:13,645 INFO L272 TraceCheckUtils]: 0: Hoare triple {1465#true} call ULTIMATE.init(); {1465#true} is VALID [2022-04-27 13:50:13,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {1465#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(8, 2);call #Ultimate.allocInit(12, 3); {1465#true} is VALID [2022-04-27 13:50:13,645 INFO L290 TraceCheckUtils]: 2: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,645 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1465#true} {1465#true} #94#return; {1465#true} is VALID [2022-04-27 13:50:13,645 INFO L272 TraceCheckUtils]: 4: Hoare triple {1465#true} call #t~ret5 := main(); {1465#true} is VALID [2022-04-27 13:50:13,645 INFO L290 TraceCheckUtils]: 5: Hoare triple {1465#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {1465#true} is VALID [2022-04-27 13:50:13,646 INFO L272 TraceCheckUtils]: 6: Hoare triple {1465#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:50:13,646 INFO L290 TraceCheckUtils]: 7: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:50:13,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:50:13,646 INFO L290 TraceCheckUtils]: 9: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,646 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1465#true} {1465#true} #78#return; {1465#true} is VALID [2022-04-27 13:50:13,646 INFO L290 TraceCheckUtils]: 11: Hoare triple {1465#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:13,647 INFO L290 TraceCheckUtils]: 12: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:13,647 INFO L272 TraceCheckUtils]: 13: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:50:13,647 INFO L290 TraceCheckUtils]: 14: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:50:13,647 INFO L290 TraceCheckUtils]: 15: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:50:13,647 INFO L290 TraceCheckUtils]: 16: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,648 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1465#true} {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:13,648 INFO L272 TraceCheckUtils]: 18: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:50:13,648 INFO L290 TraceCheckUtils]: 19: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:50:13,648 INFO L290 TraceCheckUtils]: 20: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:50:13,648 INFO L290 TraceCheckUtils]: 21: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,649 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1465#true} {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:13,649 INFO L272 TraceCheckUtils]: 23: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:50:13,649 INFO L290 TraceCheckUtils]: 24: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:50:13,649 INFO L290 TraceCheckUtils]: 25: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:50:13,649 INFO L290 TraceCheckUtils]: 26: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,650 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1465#true} {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:13,651 INFO L290 TraceCheckUtils]: 28: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:50:13,651 INFO L290 TraceCheckUtils]: 29: Hoare triple {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:50:13,651 INFO L272 TraceCheckUtils]: 30: Hoare triple {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:50:13,651 INFO L290 TraceCheckUtils]: 31: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:50:13,651 INFO L290 TraceCheckUtils]: 32: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:50:13,651 INFO L290 TraceCheckUtils]: 33: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,652 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1465#true} {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:50:13,652 INFO L272 TraceCheckUtils]: 35: Hoare triple {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:50:13,652 INFO L290 TraceCheckUtils]: 36: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:50:13,652 INFO L290 TraceCheckUtils]: 37: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:50:13,652 INFO L290 TraceCheckUtils]: 38: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,655 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1465#true} {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:50:13,656 INFO L272 TraceCheckUtils]: 40: Hoare triple {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1592#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:50:13,656 INFO L290 TraceCheckUtils]: 41: Hoare triple {1592#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1596#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:50:13,657 INFO L290 TraceCheckUtils]: 42: Hoare triple {1596#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1466#false} is VALID [2022-04-27 13:50:13,657 INFO L290 TraceCheckUtils]: 43: Hoare triple {1466#false} assume !false; {1466#false} is VALID [2022-04-27 13:50:13,657 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-27 13:50:13,657 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:50:13,849 INFO L290 TraceCheckUtils]: 43: Hoare triple {1466#false} assume !false; {1466#false} is VALID [2022-04-27 13:50:13,849 INFO L290 TraceCheckUtils]: 42: Hoare triple {1596#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1466#false} is VALID [2022-04-27 13:50:13,850 INFO L290 TraceCheckUtils]: 41: Hoare triple {1592#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1596#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:50:13,851 INFO L272 TraceCheckUtils]: 40: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1592#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:50:13,851 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:50:13,851 INFO L290 TraceCheckUtils]: 38: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,851 INFO L290 TraceCheckUtils]: 37: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:50:13,852 INFO L290 TraceCheckUtils]: 36: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:50:13,852 INFO L272 TraceCheckUtils]: 35: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:50:13,853 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:50:13,853 INFO L290 TraceCheckUtils]: 33: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,853 INFO L290 TraceCheckUtils]: 32: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:50:13,853 INFO L290 TraceCheckUtils]: 31: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:50:13,853 INFO L272 TraceCheckUtils]: 30: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:50:13,854 INFO L290 TraceCheckUtils]: 29: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:50:13,856 INFO L290 TraceCheckUtils]: 28: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:50:13,857 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:50:13,857 INFO L290 TraceCheckUtils]: 26: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,858 INFO L290 TraceCheckUtils]: 25: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:50:13,858 INFO L290 TraceCheckUtils]: 24: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:50:13,858 INFO L272 TraceCheckUtils]: 23: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:50:13,859 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:50:13,859 INFO L290 TraceCheckUtils]: 21: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,859 INFO L290 TraceCheckUtils]: 20: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:50:13,859 INFO L290 TraceCheckUtils]: 19: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:50:13,859 INFO L272 TraceCheckUtils]: 18: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:50:13,860 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:50:13,860 INFO L290 TraceCheckUtils]: 16: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,860 INFO L290 TraceCheckUtils]: 15: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:50:13,860 INFO L290 TraceCheckUtils]: 14: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:50:13,860 INFO L272 TraceCheckUtils]: 13: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:50:13,861 INFO L290 TraceCheckUtils]: 12: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:50:13,861 INFO L290 TraceCheckUtils]: 11: Hoare triple {1465#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:50:13,861 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1465#true} {1465#true} #78#return; {1465#true} is VALID [2022-04-27 13:50:13,861 INFO L290 TraceCheckUtils]: 9: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,861 INFO L290 TraceCheckUtils]: 8: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:50:13,861 INFO L290 TraceCheckUtils]: 7: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:50:13,861 INFO L272 TraceCheckUtils]: 6: Hoare triple {1465#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:50:13,861 INFO L290 TraceCheckUtils]: 5: Hoare triple {1465#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {1465#true} is VALID [2022-04-27 13:50:13,862 INFO L272 TraceCheckUtils]: 4: Hoare triple {1465#true} call #t~ret5 := main(); {1465#true} is VALID [2022-04-27 13:50:13,862 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1465#true} {1465#true} #94#return; {1465#true} is VALID [2022-04-27 13:50:13,862 INFO L290 TraceCheckUtils]: 2: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:50:13,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {1465#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(8, 2);call #Ultimate.allocInit(12, 3); {1465#true} is VALID [2022-04-27 13:50:13,862 INFO L272 TraceCheckUtils]: 0: Hoare triple {1465#true} call ULTIMATE.init(); {1465#true} is VALID [2022-04-27 13:50:13,864 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-27 13:50:13,864 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:50:13,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [511982212] [2022-04-27 13:50:13,864 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:50:13,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [157187783] [2022-04-27 13:50:13,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [157187783] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:50:13,865 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:50:13,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-27 13:50:13,865 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1942410082] [2022-04-27 13:50:13,865 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:50:13,865 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 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 44 [2022-04-27 13:50:13,866 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:50:13,867 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 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-27 13:50:13,886 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:13,886 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:50:13,899 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:50:13,900 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:50:13,900 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:50:13,900 INFO L87 Difference]: Start difference. First operand 57 states and 69 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 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-27 13:50:16,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:16,248 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-27 13:50:16,248 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:50:16,249 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 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 44 [2022-04-27 13:50:16,249 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:50:16,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 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-27 13:50:16,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 13:50:16,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 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-27 13:50:16,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 13:50:16,251 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-27 13:50:16,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:16,302 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:50:16,302 INFO L226 Difference]: Without dead ends: 67 [2022-04-27 13:50:16,303 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 80 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:50:16,303 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:50:16,303 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 112 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:50:16,304 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-27 13:50:16,311 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2022-04-27 13:50:16,311 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:50:16,312 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:50:16,312 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:50:16,312 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:50:16,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:16,314 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-27 13:50:16,314 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-27 13:50:16,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:16,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:16,315 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-27 13:50:16,315 INFO L87 Difference]: Start difference. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-27 13:50:16,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:16,317 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-27 13:50:16,317 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-27 13:50:16,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:16,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:16,318 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:50:16,318 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:50:16,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:50:16,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-27 13:50:16,320 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 44 [2022-04-27 13:50:16,320 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:50:16,320 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-27 13:50:16,320 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 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-27 13:50:16,320 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-27 13:50:16,321 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-27 13:50:16,321 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:50:16,321 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:50:16,340 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-27 13:50:16,535 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:16,536 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:50:16,536 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:50:16,536 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 1 times [2022-04-27 13:50:16,536 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:50:16,536 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [180693305] [2022-04-27 13:50:16,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:16,536 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:50:16,549 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:50:16,549 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1713923691] [2022-04-27 13:50:16,549 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:16,549 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:16,549 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:50:16,564 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-27 13:50:16,565 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-27 13:50:16,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:16,613 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 13:50:16,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:16,635 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:50:17,006 INFO L272 TraceCheckUtils]: 0: Hoare triple {2064#true} call ULTIMATE.init(); {2064#true} is VALID [2022-04-27 13:50:17,006 INFO L290 TraceCheckUtils]: 1: Hoare triple {2064#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(8, 2);call #Ultimate.allocInit(12, 3); {2064#true} is VALID [2022-04-27 13:50:17,006 INFO L290 TraceCheckUtils]: 2: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:17,006 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2064#true} {2064#true} #94#return; {2064#true} is VALID [2022-04-27 13:50:17,006 INFO L272 TraceCheckUtils]: 4: Hoare triple {2064#true} call #t~ret5 := main(); {2064#true} is VALID [2022-04-27 13:50:17,006 INFO L290 TraceCheckUtils]: 5: Hoare triple {2064#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {2064#true} is VALID [2022-04-27 13:50:17,006 INFO L272 TraceCheckUtils]: 6: Hoare triple {2064#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:17,006 INFO L290 TraceCheckUtils]: 7: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:17,007 INFO L290 TraceCheckUtils]: 8: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:17,007 INFO L290 TraceCheckUtils]: 9: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:17,007 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2064#true} {2064#true} #78#return; {2064#true} is VALID [2022-04-27 13:50:17,007 INFO L290 TraceCheckUtils]: 11: Hoare triple {2064#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:17,008 INFO L290 TraceCheckUtils]: 12: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:17,008 INFO L272 TraceCheckUtils]: 13: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:17,008 INFO L290 TraceCheckUtils]: 14: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:17,008 INFO L290 TraceCheckUtils]: 15: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:17,008 INFO L290 TraceCheckUtils]: 16: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:17,009 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2064#true} {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:17,009 INFO L272 TraceCheckUtils]: 18: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:17,009 INFO L290 TraceCheckUtils]: 19: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:17,009 INFO L290 TraceCheckUtils]: 20: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:17,009 INFO L290 TraceCheckUtils]: 21: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:17,010 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2064#true} {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:17,010 INFO L272 TraceCheckUtils]: 23: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:17,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:17,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:17,010 INFO L290 TraceCheckUtils]: 26: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:17,010 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2064#true} {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:17,011 INFO L290 TraceCheckUtils]: 28: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:17,011 INFO L290 TraceCheckUtils]: 29: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:17,011 INFO L272 TraceCheckUtils]: 30: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:17,011 INFO L290 TraceCheckUtils]: 31: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:17,012 INFO L290 TraceCheckUtils]: 32: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:17,012 INFO L290 TraceCheckUtils]: 33: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:17,012 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:17,012 INFO L272 TraceCheckUtils]: 35: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:17,012 INFO L290 TraceCheckUtils]: 36: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:17,012 INFO L290 TraceCheckUtils]: 37: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:17,012 INFO L290 TraceCheckUtils]: 38: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:17,013 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:17,013 INFO L272 TraceCheckUtils]: 40: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:17,013 INFO L290 TraceCheckUtils]: 41: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:17,013 INFO L290 TraceCheckUtils]: 42: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:17,013 INFO L290 TraceCheckUtils]: 43: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:17,014 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:17,014 INFO L290 TraceCheckUtils]: 45: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:17,015 INFO L290 TraceCheckUtils]: 46: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:17,015 INFO L272 TraceCheckUtils]: 47: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:17,015 INFO L290 TraceCheckUtils]: 48: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:17,015 INFO L290 TraceCheckUtils]: 49: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:17,015 INFO L290 TraceCheckUtils]: 50: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:17,016 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #86#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:17,016 INFO L272 TraceCheckUtils]: 52: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:17,016 INFO L290 TraceCheckUtils]: 53: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:17,016 INFO L290 TraceCheckUtils]: 54: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:17,016 INFO L290 TraceCheckUtils]: 55: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:17,016 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #88#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:17,017 INFO L290 TraceCheckUtils]: 57: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:17,018 INFO L290 TraceCheckUtils]: 58: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2245#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:50:17,018 INFO L290 TraceCheckUtils]: 59: Hoare triple {2245#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} assume !false; {2245#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:50:17,019 INFO L272 TraceCheckUtils]: 60: Hoare triple {2245#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2252#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:50:17,019 INFO L290 TraceCheckUtils]: 61: Hoare triple {2252#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2256#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:50:17,019 INFO L290 TraceCheckUtils]: 62: Hoare triple {2256#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2065#false} is VALID [2022-04-27 13:50:17,019 INFO L290 TraceCheckUtils]: 63: Hoare triple {2065#false} assume !false; {2065#false} is VALID [2022-04-27 13:50:17,020 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-27 13:50:17,020 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:50:18,091 INFO L290 TraceCheckUtils]: 63: Hoare triple {2065#false} assume !false; {2065#false} is VALID [2022-04-27 13:50:18,092 INFO L290 TraceCheckUtils]: 62: Hoare triple {2256#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2065#false} is VALID [2022-04-27 13:50:18,092 INFO L290 TraceCheckUtils]: 61: Hoare triple {2252#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2256#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:50:18,092 INFO L272 TraceCheckUtils]: 60: Hoare triple {2272#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2252#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:50:18,093 INFO L290 TraceCheckUtils]: 59: Hoare triple {2272#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {2272#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:50:18,107 INFO L290 TraceCheckUtils]: 58: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2272#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:50:18,126 INFO L290 TraceCheckUtils]: 57: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:50:18,127 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #88#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:50:18,127 INFO L290 TraceCheckUtils]: 55: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:18,127 INFO L290 TraceCheckUtils]: 54: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:18,127 INFO L290 TraceCheckUtils]: 53: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:18,128 INFO L272 TraceCheckUtils]: 52: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:18,129 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #86#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:50:18,130 INFO L290 TraceCheckUtils]: 50: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:18,130 INFO L290 TraceCheckUtils]: 49: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:18,130 INFO L290 TraceCheckUtils]: 48: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:18,130 INFO L272 TraceCheckUtils]: 47: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:18,131 INFO L290 TraceCheckUtils]: 46: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:50:18,132 INFO L290 TraceCheckUtils]: 45: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !(~r~0 >= ~d~0); {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:50:18,133 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #84#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:50:18,133 INFO L290 TraceCheckUtils]: 43: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:18,133 INFO L290 TraceCheckUtils]: 42: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:18,133 INFO L290 TraceCheckUtils]: 41: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:18,133 INFO L272 TraceCheckUtils]: 40: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:18,134 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #82#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:50:18,134 INFO L290 TraceCheckUtils]: 38: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:18,134 INFO L290 TraceCheckUtils]: 37: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:18,134 INFO L290 TraceCheckUtils]: 36: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:18,134 INFO L272 TraceCheckUtils]: 35: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:18,135 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #80#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:50:18,135 INFO L290 TraceCheckUtils]: 33: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:18,135 INFO L290 TraceCheckUtils]: 32: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:18,135 INFO L290 TraceCheckUtils]: 31: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:18,135 INFO L272 TraceCheckUtils]: 30: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:18,136 INFO L290 TraceCheckUtils]: 29: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:50:18,143 INFO L290 TraceCheckUtils]: 28: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:50:18,144 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2064#true} {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #84#return; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:50:18,144 INFO L290 TraceCheckUtils]: 26: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:18,144 INFO L290 TraceCheckUtils]: 25: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:18,144 INFO L290 TraceCheckUtils]: 24: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:18,144 INFO L272 TraceCheckUtils]: 23: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:18,145 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2064#true} {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #82#return; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:50:18,145 INFO L290 TraceCheckUtils]: 21: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:18,145 INFO L290 TraceCheckUtils]: 20: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:18,145 INFO L290 TraceCheckUtils]: 19: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:18,145 INFO L272 TraceCheckUtils]: 18: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:18,148 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2064#true} {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #80#return; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:50:18,149 INFO L290 TraceCheckUtils]: 16: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:18,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:18,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:18,149 INFO L272 TraceCheckUtils]: 13: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:18,149 INFO L290 TraceCheckUtils]: 12: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !false; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:50:18,150 INFO L290 TraceCheckUtils]: 11: Hoare triple {2064#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:50:18,150 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2064#true} {2064#true} #78#return; {2064#true} is VALID [2022-04-27 13:50:18,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:18,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:50:18,150 INFO L290 TraceCheckUtils]: 7: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:50:18,150 INFO L272 TraceCheckUtils]: 6: Hoare triple {2064#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:50:18,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {2064#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {2064#true} is VALID [2022-04-27 13:50:18,150 INFO L272 TraceCheckUtils]: 4: Hoare triple {2064#true} call #t~ret5 := main(); {2064#true} is VALID [2022-04-27 13:50:18,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2064#true} {2064#true} #94#return; {2064#true} is VALID [2022-04-27 13:50:18,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:50:18,151 INFO L290 TraceCheckUtils]: 1: Hoare triple {2064#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(8, 2);call #Ultimate.allocInit(12, 3); {2064#true} is VALID [2022-04-27 13:50:18,151 INFO L272 TraceCheckUtils]: 0: Hoare triple {2064#true} call ULTIMATE.init(); {2064#true} is VALID [2022-04-27 13:50:18,151 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-27 13:50:18,151 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:50:18,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [180693305] [2022-04-27 13:50:18,151 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:50:18,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1713923691] [2022-04-27 13:50:18,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1713923691] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:50:18,152 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:50:18,152 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 13:50:18,152 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [538410620] [2022-04-27 13:50:18,152 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:50:18,152 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) Word has length 64 [2022-04-27 13:50:18,153 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:50:18,153 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:50:18,250 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-27 13:50:18,250 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:50:18,250 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:50:18,250 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:50:18,250 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:50:18,251 INFO L87 Difference]: Start difference. First operand 64 states and 77 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:50:25,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:25,238 INFO L93 Difference]: Finished difference Result 154 states and 210 transitions. [2022-04-27 13:50:25,238 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:50:25,238 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) Word has length 64 [2022-04-27 13:50:25,239 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:50:25,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:50:25,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 141 transitions. [2022-04-27 13:50:25,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:50:25,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 141 transitions. [2022-04-27 13:50:25,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 141 transitions. [2022-04-27 13:50:25,455 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:25,459 INFO L225 Difference]: With dead ends: 154 [2022-04-27 13:50:25,459 INFO L226 Difference]: Without dead ends: 125 [2022-04-27 13:50:25,460 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 116 SyntacticMatches, 3 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:50:25,460 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 42 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 277 mSolverCounterSat, 79 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 168 SdHoareTripleChecker+Invalid, 356 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 79 IncrementalHoareTripleChecker+Valid, 277 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-27 13:50:25,461 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 168 Invalid, 356 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [79 Valid, 277 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-27 13:50:25,461 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-27 13:50:25,486 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 113. [2022-04-27 13:50:25,487 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:50:25,487 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-27 13:50:25,487 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-27 13:50:25,489 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-27 13:50:25,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:25,493 INFO L93 Difference]: Finished difference Result 125 states and 166 transitions. [2022-04-27 13:50:25,493 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 166 transitions. [2022-04-27 13:50:25,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:25,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:25,494 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 125 states. [2022-04-27 13:50:25,494 INFO L87 Difference]: Start difference. First operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 125 states. [2022-04-27 13:50:25,498 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:25,498 INFO L93 Difference]: Finished difference Result 125 states and 166 transitions. [2022-04-27 13:50:25,498 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 166 transitions. [2022-04-27 13:50:25,499 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:25,499 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:25,499 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:50:25,499 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:50:25,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-27 13:50:25,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 146 transitions. [2022-04-27 13:50:25,503 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 146 transitions. Word has length 64 [2022-04-27 13:50:25,503 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:50:25,503 INFO L495 AbstractCegarLoop]: Abstraction has 113 states and 146 transitions. [2022-04-27 13:50:25,503 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:50:25,503 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 146 transitions. [2022-04-27 13:50:25,504 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-27 13:50:25,504 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:50:25,504 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:50:25,537 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-27 13:50:25,713 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:25,714 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:50:25,714 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:50:25,714 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 1 times [2022-04-27 13:50:25,714 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:50:25,714 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2022976512] [2022-04-27 13:50:25,714 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:25,714 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:50:25,729 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:50:25,729 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1549059196] [2022-04-27 13:50:25,729 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:25,729 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:25,729 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:50:25,733 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-27 13:50:25,734 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-27 13:50:25,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:25,777 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-27 13:50:25,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:25,791 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:50:26,340 INFO L272 TraceCheckUtils]: 0: Hoare triple {3103#true} call ULTIMATE.init(); {3103#true} is VALID [2022-04-27 13:50:26,340 INFO L290 TraceCheckUtils]: 1: Hoare triple {3103#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(8, 2);call #Ultimate.allocInit(12, 3); {3103#true} is VALID [2022-04-27 13:50:26,340 INFO L290 TraceCheckUtils]: 2: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:26,340 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3103#true} {3103#true} #94#return; {3103#true} is VALID [2022-04-27 13:50:26,340 INFO L272 TraceCheckUtils]: 4: Hoare triple {3103#true} call #t~ret5 := main(); {3103#true} is VALID [2022-04-27 13:50:26,340 INFO L290 TraceCheckUtils]: 5: Hoare triple {3103#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {3103#true} is VALID [2022-04-27 13:50:26,340 INFO L272 TraceCheckUtils]: 6: Hoare triple {3103#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:26,340 INFO L290 TraceCheckUtils]: 7: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:26,341 INFO L290 TraceCheckUtils]: 8: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:26,341 INFO L290 TraceCheckUtils]: 9: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:26,341 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3103#true} {3103#true} #78#return; {3103#true} is VALID [2022-04-27 13:50:26,341 INFO L290 TraceCheckUtils]: 11: Hoare triple {3103#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:26,341 INFO L290 TraceCheckUtils]: 12: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:26,342 INFO L272 TraceCheckUtils]: 13: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:26,342 INFO L290 TraceCheckUtils]: 14: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:26,343 INFO L290 TraceCheckUtils]: 15: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:26,345 INFO L290 TraceCheckUtils]: 16: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:26,348 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3103#true} {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:26,348 INFO L272 TraceCheckUtils]: 18: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:26,348 INFO L290 TraceCheckUtils]: 19: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:26,348 INFO L290 TraceCheckUtils]: 20: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:26,348 INFO L290 TraceCheckUtils]: 21: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:26,350 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3103#true} {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:26,350 INFO L272 TraceCheckUtils]: 23: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:26,350 INFO L290 TraceCheckUtils]: 24: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:26,352 INFO L290 TraceCheckUtils]: 25: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:26,352 INFO L290 TraceCheckUtils]: 26: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:26,352 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3103#true} {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:26,353 INFO L290 TraceCheckUtils]: 28: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:26,353 INFO L290 TraceCheckUtils]: 29: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:26,353 INFO L272 TraceCheckUtils]: 30: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:26,354 INFO L290 TraceCheckUtils]: 31: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:26,354 INFO L290 TraceCheckUtils]: 32: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:26,354 INFO L290 TraceCheckUtils]: 33: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:26,354 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:26,354 INFO L272 TraceCheckUtils]: 35: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:26,355 INFO L290 TraceCheckUtils]: 36: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:26,355 INFO L290 TraceCheckUtils]: 37: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:26,355 INFO L290 TraceCheckUtils]: 38: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:26,355 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:26,355 INFO L272 TraceCheckUtils]: 40: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:26,355 INFO L290 TraceCheckUtils]: 41: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:26,356 INFO L290 TraceCheckUtils]: 42: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:26,356 INFO L290 TraceCheckUtils]: 43: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:26,356 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:26,356 INFO L290 TraceCheckUtils]: 45: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:26,357 INFO L290 TraceCheckUtils]: 46: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:26,357 INFO L272 TraceCheckUtils]: 47: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:26,357 INFO L290 TraceCheckUtils]: 48: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:26,357 INFO L290 TraceCheckUtils]: 49: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:26,357 INFO L290 TraceCheckUtils]: 50: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:26,358 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #86#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:26,358 INFO L272 TraceCheckUtils]: 52: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:26,358 INFO L290 TraceCheckUtils]: 53: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:26,358 INFO L290 TraceCheckUtils]: 54: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:26,358 INFO L290 TraceCheckUtils]: 55: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:26,358 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #88#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:26,359 INFO L290 TraceCheckUtils]: 57: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:26,359 INFO L290 TraceCheckUtils]: 58: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:26,360 INFO L290 TraceCheckUtils]: 59: Hoare triple {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:26,360 INFO L272 TraceCheckUtils]: 60: Hoare triple {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:26,360 INFO L290 TraceCheckUtils]: 61: Hoare triple {3103#true} ~cond := #in~cond; {3294#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:50:26,360 INFO L290 TraceCheckUtils]: 62: Hoare triple {3294#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:50:26,361 INFO L290 TraceCheckUtils]: 63: Hoare triple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:50:26,361 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #86#return; {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:26,361 INFO L272 TraceCheckUtils]: 65: Hoare triple {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:26,361 INFO L290 TraceCheckUtils]: 66: Hoare triple {3103#true} ~cond := #in~cond; {3294#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:50:26,362 INFO L290 TraceCheckUtils]: 67: Hoare triple {3294#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:50:26,362 INFO L290 TraceCheckUtils]: 68: Hoare triple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:50:26,363 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #88#return; {3320#(and (= main_~q~0 main_~p~0) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:26,363 INFO L290 TraceCheckUtils]: 70: Hoare triple {3320#(and (= main_~q~0 main_~p~0) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} assume !(1 != ~p~0); {3324#(and (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~q~0 1))} is VALID [2022-04-27 13:50:26,363 INFO L272 TraceCheckUtils]: 71: Hoare triple {3324#(and (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:50:26,364 INFO L290 TraceCheckUtils]: 72: Hoare triple {3328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:50:26,364 INFO L290 TraceCheckUtils]: 73: Hoare triple {3332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3104#false} is VALID [2022-04-27 13:50:26,365 INFO L290 TraceCheckUtils]: 74: Hoare triple {3104#false} assume !false; {3104#false} is VALID [2022-04-27 13:50:26,365 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 66 proven. 11 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-04-27 13:50:26,365 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:50:36,915 INFO L290 TraceCheckUtils]: 74: Hoare triple {3104#false} assume !false; {3104#false} is VALID [2022-04-27 13:50:36,916 INFO L290 TraceCheckUtils]: 73: Hoare triple {3332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3104#false} is VALID [2022-04-27 13:50:36,916 INFO L290 TraceCheckUtils]: 72: Hoare triple {3328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:50:36,917 INFO L272 TraceCheckUtils]: 71: Hoare triple {3348#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:50:36,917 INFO L290 TraceCheckUtils]: 70: Hoare triple {3352#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {3348#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:50:36,918 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} {3356#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} #88#return; {3352#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:50:36,918 INFO L290 TraceCheckUtils]: 68: Hoare triple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:50:36,919 INFO L290 TraceCheckUtils]: 67: Hoare triple {3366#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:50:36,919 INFO L290 TraceCheckUtils]: 66: Hoare triple {3103#true} ~cond := #in~cond; {3366#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:50:36,919 INFO L272 TraceCheckUtils]: 65: Hoare triple {3356#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:36,922 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} {3103#true} #86#return; {3356#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:50:36,922 INFO L290 TraceCheckUtils]: 63: Hoare triple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:50:36,923 INFO L290 TraceCheckUtils]: 62: Hoare triple {3366#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:50:36,923 INFO L290 TraceCheckUtils]: 61: Hoare triple {3103#true} ~cond := #in~cond; {3366#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:50:36,923 INFO L272 TraceCheckUtils]: 60: Hoare triple {3103#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:36,923 INFO L290 TraceCheckUtils]: 59: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:50:36,923 INFO L290 TraceCheckUtils]: 58: Hoare triple {3103#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3103#true} is VALID [2022-04-27 13:50:36,923 INFO L290 TraceCheckUtils]: 57: Hoare triple {3103#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3103#true} is VALID [2022-04-27 13:50:36,923 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3103#true} {3103#true} #88#return; {3103#true} is VALID [2022-04-27 13:50:36,923 INFO L290 TraceCheckUtils]: 55: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:36,923 INFO L290 TraceCheckUtils]: 54: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L290 TraceCheckUtils]: 53: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L272 TraceCheckUtils]: 52: Hoare triple {3103#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3103#true} {3103#true} #86#return; {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L290 TraceCheckUtils]: 50: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L290 TraceCheckUtils]: 49: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L290 TraceCheckUtils]: 48: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L272 TraceCheckUtils]: 47: Hoare triple {3103#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L290 TraceCheckUtils]: 46: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L290 TraceCheckUtils]: 45: Hoare triple {3103#true} assume !(~r~0 >= ~d~0); {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3103#true} {3103#true} #84#return; {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L290 TraceCheckUtils]: 43: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L290 TraceCheckUtils]: 42: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L290 TraceCheckUtils]: 41: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L272 TraceCheckUtils]: 40: Hoare triple {3103#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:36,924 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3103#true} {3103#true} #82#return; {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L290 TraceCheckUtils]: 38: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L290 TraceCheckUtils]: 37: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L290 TraceCheckUtils]: 36: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L272 TraceCheckUtils]: 35: Hoare triple {3103#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3103#true} {3103#true} #80#return; {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L290 TraceCheckUtils]: 33: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L290 TraceCheckUtils]: 32: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L290 TraceCheckUtils]: 31: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L272 TraceCheckUtils]: 30: Hoare triple {3103#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L290 TraceCheckUtils]: 29: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L290 TraceCheckUtils]: 28: Hoare triple {3103#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3103#true} {3103#true} #84#return; {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L290 TraceCheckUtils]: 26: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:36,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L290 TraceCheckUtils]: 24: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L272 TraceCheckUtils]: 23: Hoare triple {3103#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3103#true} {3103#true} #82#return; {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L290 TraceCheckUtils]: 21: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L272 TraceCheckUtils]: 18: Hoare triple {3103#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3103#true} {3103#true} #80#return; {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L290 TraceCheckUtils]: 16: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L290 TraceCheckUtils]: 15: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L290 TraceCheckUtils]: 14: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L272 TraceCheckUtils]: 13: Hoare triple {3103#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L290 TraceCheckUtils]: 12: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L290 TraceCheckUtils]: 11: Hoare triple {3103#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3103#true} is VALID [2022-04-27 13:50:36,926 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3103#true} {3103#true} #78#return; {3103#true} is VALID [2022-04-27 13:50:36,927 INFO L290 TraceCheckUtils]: 9: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:36,927 INFO L290 TraceCheckUtils]: 8: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:50:36,927 INFO L290 TraceCheckUtils]: 7: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:50:36,927 INFO L272 TraceCheckUtils]: 6: Hoare triple {3103#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:50:36,927 INFO L290 TraceCheckUtils]: 5: Hoare triple {3103#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {3103#true} is VALID [2022-04-27 13:50:36,927 INFO L272 TraceCheckUtils]: 4: Hoare triple {3103#true} call #t~ret5 := main(); {3103#true} is VALID [2022-04-27 13:50:36,927 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3103#true} {3103#true} #94#return; {3103#true} is VALID [2022-04-27 13:50:36,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:50:36,927 INFO L290 TraceCheckUtils]: 1: Hoare triple {3103#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(8, 2);call #Ultimate.allocInit(12, 3); {3103#true} is VALID [2022-04-27 13:50:36,927 INFO L272 TraceCheckUtils]: 0: Hoare triple {3103#true} call ULTIMATE.init(); {3103#true} is VALID [2022-04-27 13:50:36,927 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-27 13:50:36,928 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:50:36,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2022976512] [2022-04-27 13:50:36,928 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:50:36,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1549059196] [2022-04-27 13:50:36,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1549059196] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:50:36,928 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:50:36,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-27 13:50:36,928 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1153343031] [2022-04-27 13:50:36,928 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:50:36,929 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) Word has length 75 [2022-04-27 13:50:36,929 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:50:36,929 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:50:36,991 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:36,991 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 13:50:36,992 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:50:36,992 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 13:50:36,992 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:50:36,992 INFO L87 Difference]: Start difference. First operand 113 states and 146 transitions. Second operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:50:38,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:38,064 INFO L93 Difference]: Finished difference Result 169 states and 219 transitions. [2022-04-27 13:50:38,064 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 13:50:38,064 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) Word has length 75 [2022-04-27 13:50:38,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:50:38,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:50:38,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-27 13:50:38,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:50:38,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-27 13:50:38,069 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 114 transitions. [2022-04-27 13:50:38,160 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:38,162 INFO L225 Difference]: With dead ends: 169 [2022-04-27 13:50:38,163 INFO L226 Difference]: Without dead ends: 115 [2022-04-27 13:50:38,163 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=65, Invalid=207, Unknown=0, NotChecked=0, Total=272 [2022-04-27 13:50:38,164 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 34 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 350 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 388 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 350 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-27 13:50:38,164 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 146 Invalid, 388 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 350 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-27 13:50:38,164 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-27 13:50:38,190 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 101. [2022-04-27 13:50:38,190 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:50:38,191 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:50:38,191 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:50:38,191 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:50:38,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:38,194 INFO L93 Difference]: Finished difference Result 115 states and 142 transitions. [2022-04-27 13:50:38,194 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-27 13:50:38,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:38,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:38,195 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 115 states. [2022-04-27 13:50:38,195 INFO L87 Difference]: Start difference. First operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 115 states. [2022-04-27 13:50:38,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:38,198 INFO L93 Difference]: Finished difference Result 115 states and 142 transitions. [2022-04-27 13:50:38,198 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-27 13:50:38,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:38,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:38,199 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:50:38,199 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:50:38,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:50:38,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 121 transitions. [2022-04-27 13:50:38,202 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 121 transitions. Word has length 75 [2022-04-27 13:50:38,202 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:50:38,202 INFO L495 AbstractCegarLoop]: Abstraction has 101 states and 121 transitions. [2022-04-27 13:50:38,203 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:50:38,203 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 121 transitions. [2022-04-27 13:50:38,203 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-27 13:50:38,203 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:50:38,203 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 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, 1, 1] [2022-04-27 13:50:38,223 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-27 13:50:38,423 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:38,424 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:50:38,424 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:50:38,424 INFO L85 PathProgramCache]: Analyzing trace with hash 1204093031, now seen corresponding path program 1 times [2022-04-27 13:50:38,424 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:50:38,424 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [669369279] [2022-04-27 13:50:38,424 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:38,424 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:50:38,445 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:50:38,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2100155203] [2022-04-27 13:50:38,445 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:38,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:38,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:50:38,446 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-27 13:50:38,447 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-27 13:50:38,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:38,489 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:50:38,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:38,500 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:50:39,706 INFO L272 TraceCheckUtils]: 0: Hoare triple {4187#true} call ULTIMATE.init(); {4187#true} is VALID [2022-04-27 13:50:39,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {4187#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(8, 2);call #Ultimate.allocInit(12, 3); {4187#true} is VALID [2022-04-27 13:50:39,707 INFO L290 TraceCheckUtils]: 2: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,707 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4187#true} {4187#true} #94#return; {4187#true} is VALID [2022-04-27 13:50:39,707 INFO L272 TraceCheckUtils]: 4: Hoare triple {4187#true} call #t~ret5 := main(); {4187#true} is VALID [2022-04-27 13:50:39,707 INFO L290 TraceCheckUtils]: 5: Hoare triple {4187#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {4187#true} is VALID [2022-04-27 13:50:39,707 INFO L272 TraceCheckUtils]: 6: Hoare triple {4187#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:50:39,707 INFO L290 TraceCheckUtils]: 7: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:50:39,707 INFO L290 TraceCheckUtils]: 8: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:50:39,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,707 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4187#true} {4187#true} #78#return; {4187#true} is VALID [2022-04-27 13:50:39,708 INFO L290 TraceCheckUtils]: 11: Hoare triple {4187#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:50:39,709 INFO L290 TraceCheckUtils]: 12: Hoare triple {4225#(<= 1 main_~p~0)} assume !false; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:50:39,709 INFO L272 TraceCheckUtils]: 13: Hoare triple {4225#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:50:39,709 INFO L290 TraceCheckUtils]: 14: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:50:39,709 INFO L290 TraceCheckUtils]: 15: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:50:39,709 INFO L290 TraceCheckUtils]: 16: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,709 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4187#true} {4225#(<= 1 main_~p~0)} #80#return; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:50:39,710 INFO L272 TraceCheckUtils]: 18: Hoare triple {4225#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:50:39,710 INFO L290 TraceCheckUtils]: 19: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:50:39,710 INFO L290 TraceCheckUtils]: 20: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:50:39,710 INFO L290 TraceCheckUtils]: 21: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,716 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4187#true} {4225#(<= 1 main_~p~0)} #82#return; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:50:39,716 INFO L272 TraceCheckUtils]: 23: Hoare triple {4225#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:50:39,716 INFO L290 TraceCheckUtils]: 24: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:50:39,716 INFO L290 TraceCheckUtils]: 25: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:50:39,716 INFO L290 TraceCheckUtils]: 26: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,716 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4187#true} {4225#(<= 1 main_~p~0)} #84#return; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:50:39,717 INFO L290 TraceCheckUtils]: 28: Hoare triple {4225#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:50:39,717 INFO L290 TraceCheckUtils]: 29: Hoare triple {4277#(<= 1 (div main_~p~0 2))} assume !false; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:50:39,717 INFO L272 TraceCheckUtils]: 30: Hoare triple {4277#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:50:39,717 INFO L290 TraceCheckUtils]: 31: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:50:39,718 INFO L290 TraceCheckUtils]: 32: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:50:39,718 INFO L290 TraceCheckUtils]: 33: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,723 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4187#true} {4277#(<= 1 (div main_~p~0 2))} #80#return; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:50:39,724 INFO L272 TraceCheckUtils]: 35: Hoare triple {4277#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:50:39,724 INFO L290 TraceCheckUtils]: 36: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:50:39,724 INFO L290 TraceCheckUtils]: 37: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:50:39,724 INFO L290 TraceCheckUtils]: 38: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,724 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4187#true} {4277#(<= 1 (div main_~p~0 2))} #82#return; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:50:39,724 INFO L272 TraceCheckUtils]: 40: Hoare triple {4277#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:50:39,724 INFO L290 TraceCheckUtils]: 41: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:50:39,724 INFO L290 TraceCheckUtils]: 42: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:50:39,724 INFO L290 TraceCheckUtils]: 43: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,725 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4187#true} {4277#(<= 1 (div main_~p~0 2))} #84#return; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:50:39,726 INFO L290 TraceCheckUtils]: 45: Hoare triple {4277#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:50:39,726 INFO L290 TraceCheckUtils]: 46: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:50:39,726 INFO L272 TraceCheckUtils]: 47: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:50:39,726 INFO L290 TraceCheckUtils]: 48: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:50:39,726 INFO L290 TraceCheckUtils]: 49: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:50:39,726 INFO L290 TraceCheckUtils]: 50: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,727 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #80#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:50:39,727 INFO L272 TraceCheckUtils]: 52: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:50:39,727 INFO L290 TraceCheckUtils]: 53: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:50:39,727 INFO L290 TraceCheckUtils]: 54: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:50:39,727 INFO L290 TraceCheckUtils]: 55: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,727 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #82#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:50:39,727 INFO L272 TraceCheckUtils]: 57: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:50:39,727 INFO L290 TraceCheckUtils]: 58: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:50:39,727 INFO L290 TraceCheckUtils]: 59: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:50:39,728 INFO L290 TraceCheckUtils]: 60: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,728 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #84#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:50:39,729 INFO L290 TraceCheckUtils]: 62: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:50:39,729 INFO L290 TraceCheckUtils]: 63: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:50:39,729 INFO L272 TraceCheckUtils]: 64: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:50:39,730 INFO L290 TraceCheckUtils]: 65: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:50:39,730 INFO L290 TraceCheckUtils]: 66: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:50:39,730 INFO L290 TraceCheckUtils]: 67: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,730 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #86#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:50:39,730 INFO L272 TraceCheckUtils]: 69: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:50:39,730 INFO L290 TraceCheckUtils]: 70: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:50:39,730 INFO L290 TraceCheckUtils]: 71: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:50:39,730 INFO L290 TraceCheckUtils]: 72: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:50:39,731 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #88#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:50:39,731 INFO L290 TraceCheckUtils]: 74: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {4188#false} is VALID [2022-04-27 13:50:39,731 INFO L272 TraceCheckUtils]: 75: Hoare triple {4188#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4188#false} is VALID [2022-04-27 13:50:39,731 INFO L290 TraceCheckUtils]: 76: Hoare triple {4188#false} ~cond := #in~cond; {4188#false} is VALID [2022-04-27 13:50:39,731 INFO L290 TraceCheckUtils]: 77: Hoare triple {4188#false} assume !(0 == ~cond); {4188#false} is VALID [2022-04-27 13:50:39,731 INFO L290 TraceCheckUtils]: 78: Hoare triple {4188#false} assume true; {4188#false} is VALID [2022-04-27 13:50:39,731 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {4188#false} {4188#false} #90#return; {4188#false} is VALID [2022-04-27 13:50:39,732 INFO L272 TraceCheckUtils]: 80: Hoare triple {4188#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {4188#false} is VALID [2022-04-27 13:50:39,732 INFO L290 TraceCheckUtils]: 81: Hoare triple {4188#false} ~cond := #in~cond; {4188#false} is VALID [2022-04-27 13:50:39,732 INFO L290 TraceCheckUtils]: 82: Hoare triple {4188#false} assume 0 == ~cond; {4188#false} is VALID [2022-04-27 13:50:39,732 INFO L290 TraceCheckUtils]: 83: Hoare triple {4188#false} assume !false; {4188#false} is VALID [2022-04-27 13:50:39,732 INFO L134 CoverageAnalysis]: Checked inductivity of 303 backedges. 81 proven. 0 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2022-04-27 13:50:39,732 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:50:39,732 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:50:39,732 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [669369279] [2022-04-27 13:50:39,732 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:50:39,732 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2100155203] [2022-04-27 13:50:39,733 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2100155203] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:50:39,733 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:50:39,733 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:50:39,733 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [53141555] [2022-04-27 13:50:39,733 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:50:39,733 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 84 [2022-04-27 13:50:39,733 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:50:39,734 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:50:39,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:39,771 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:50:39,772 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:50:39,772 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:50:39,772 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:50:39,772 INFO L87 Difference]: Start difference. First operand 101 states and 121 transitions. Second operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:50:39,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:39,922 INFO L93 Difference]: Finished difference Result 115 states and 136 transitions. [2022-04-27 13:50:39,922 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:50:39,922 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 84 [2022-04-27 13:50:39,923 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:50:39,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:50:39,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:50:39,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:50:39,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:50:39,925 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-27 13:50:39,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:50:39,983 INFO L225 Difference]: With dead ends: 115 [2022-04-27 13:50:39,983 INFO L226 Difference]: Without dead ends: 103 [2022-04-27 13:50:39,983 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 80 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:50:39,984 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 9 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:50:39,984 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 106 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:50:39,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-27 13:50:40,017 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-27 13:50:40,017 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:50:40,018 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:50:40,018 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:50:40,018 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:50:40,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:40,022 INFO L93 Difference]: Finished difference Result 103 states and 122 transitions. [2022-04-27 13:50:40,022 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-27 13:50:40,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:40,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:40,023 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) Second operand 103 states. [2022-04-27 13:50:40,023 INFO L87 Difference]: Start difference. First operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) Second operand 103 states. [2022-04-27 13:50:40,027 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:40,027 INFO L93 Difference]: Finished difference Result 103 states and 122 transitions. [2022-04-27 13:50:40,027 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-27 13:50:40,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:40,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:40,028 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:50:40,028 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:50:40,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:50:40,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 122 transitions. [2022-04-27 13:50:40,030 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 122 transitions. Word has length 84 [2022-04-27 13:50:40,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:50:40,030 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 122 transitions. [2022-04-27 13:50:40,030 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:50:40,030 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-27 13:50:40,031 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-27 13:50:40,031 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:50:40,031 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:50:40,051 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-27 13:50:40,231 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:40,232 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:50:40,232 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:50:40,232 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 2 times [2022-04-27 13:50:40,232 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:50:40,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1643157782] [2022-04-27 13:50:40,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:40,232 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:50:40,247 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:50:40,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [531339848] [2022-04-27 13:50:40,248 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:50:40,248 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:40,248 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:50:40,255 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-27 13:50:40,264 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-27 13:50:40,315 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:50:40,315 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:50:40,317 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-27 13:50:40,332 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:40,333 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:50:41,013 INFO L272 TraceCheckUtils]: 0: Hoare triple {4957#true} call ULTIMATE.init(); {4957#true} is VALID [2022-04-27 13:50:41,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {4957#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(8, 2);call #Ultimate.allocInit(12, 3); {4957#true} is VALID [2022-04-27 13:50:41,014 INFO L290 TraceCheckUtils]: 2: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,014 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4957#true} {4957#true} #94#return; {4957#true} is VALID [2022-04-27 13:50:41,014 INFO L272 TraceCheckUtils]: 4: Hoare triple {4957#true} call #t~ret5 := main(); {4957#true} is VALID [2022-04-27 13:50:41,014 INFO L290 TraceCheckUtils]: 5: Hoare triple {4957#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {4957#true} is VALID [2022-04-27 13:50:41,014 INFO L272 TraceCheckUtils]: 6: Hoare triple {4957#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,014 INFO L290 TraceCheckUtils]: 7: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,014 INFO L290 TraceCheckUtils]: 9: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,014 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4957#true} {4957#true} #78#return; {4957#true} is VALID [2022-04-27 13:50:41,015 INFO L290 TraceCheckUtils]: 11: Hoare triple {4957#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:41,015 INFO L290 TraceCheckUtils]: 12: Hoare triple {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:41,015 INFO L272 TraceCheckUtils]: 13: Hoare triple {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,015 INFO L290 TraceCheckUtils]: 14: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,015 INFO L290 TraceCheckUtils]: 15: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,015 INFO L290 TraceCheckUtils]: 16: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,016 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4957#true} {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:41,016 INFO L272 TraceCheckUtils]: 18: Hoare triple {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,016 INFO L290 TraceCheckUtils]: 19: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,016 INFO L290 TraceCheckUtils]: 20: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,016 INFO L290 TraceCheckUtils]: 21: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,016 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4957#true} {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:41,017 INFO L272 TraceCheckUtils]: 23: Hoare triple {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,017 INFO L290 TraceCheckUtils]: 24: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,017 INFO L290 TraceCheckUtils]: 25: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,017 INFO L290 TraceCheckUtils]: 26: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,017 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4957#true} {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:50:41,018 INFO L290 TraceCheckUtils]: 28: Hoare triple {4995#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:41,018 INFO L290 TraceCheckUtils]: 29: Hoare triple {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:41,018 INFO L272 TraceCheckUtils]: 30: Hoare triple {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,018 INFO L290 TraceCheckUtils]: 31: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,018 INFO L290 TraceCheckUtils]: 32: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,018 INFO L290 TraceCheckUtils]: 33: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,019 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4957#true} {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:41,019 INFO L272 TraceCheckUtils]: 35: Hoare triple {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,019 INFO L290 TraceCheckUtils]: 36: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,019 INFO L290 TraceCheckUtils]: 37: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,019 INFO L290 TraceCheckUtils]: 38: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,019 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4957#true} {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:41,020 INFO L272 TraceCheckUtils]: 40: Hoare triple {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,020 INFO L290 TraceCheckUtils]: 41: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,020 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,020 INFO L290 TraceCheckUtils]: 43: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,020 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4957#true} {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:41,021 INFO L290 TraceCheckUtils]: 45: Hoare triple {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:50:41,021 INFO L290 TraceCheckUtils]: 46: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:50:41,021 INFO L272 TraceCheckUtils]: 47: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,021 INFO L290 TraceCheckUtils]: 48: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,021 INFO L290 TraceCheckUtils]: 49: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,021 INFO L290 TraceCheckUtils]: 50: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,022 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4957#true} {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #80#return; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:50:41,022 INFO L272 TraceCheckUtils]: 52: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,022 INFO L290 TraceCheckUtils]: 53: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,022 INFO L290 TraceCheckUtils]: 54: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,022 INFO L290 TraceCheckUtils]: 55: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,023 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4957#true} {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #82#return; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:50:41,023 INFO L272 TraceCheckUtils]: 57: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,024 INFO L290 TraceCheckUtils]: 58: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,024 INFO L290 TraceCheckUtils]: 59: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,024 INFO L290 TraceCheckUtils]: 60: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,024 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {4957#true} {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #84#return; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:50:41,025 INFO L290 TraceCheckUtils]: 62: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:50:41,025 INFO L290 TraceCheckUtils]: 63: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !false; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:50:41,025 INFO L272 TraceCheckUtils]: 64: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,025 INFO L290 TraceCheckUtils]: 65: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,025 INFO L290 TraceCheckUtils]: 66: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,025 INFO L290 TraceCheckUtils]: 67: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,026 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4957#true} {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #86#return; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:50:41,026 INFO L272 TraceCheckUtils]: 69: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,026 INFO L290 TraceCheckUtils]: 70: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,026 INFO L290 TraceCheckUtils]: 71: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,026 INFO L290 TraceCheckUtils]: 72: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,027 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4957#true} {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #88#return; {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-27 13:50:41,027 INFO L290 TraceCheckUtils]: 74: Hoare triple {5099#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:41,028 INFO L290 TraceCheckUtils]: 75: Hoare triple {5047#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:41,028 INFO L290 TraceCheckUtils]: 76: Hoare triple {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} assume !false; {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:41,028 INFO L272 TraceCheckUtils]: 77: Hoare triple {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,028 INFO L290 TraceCheckUtils]: 78: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,029 INFO L290 TraceCheckUtils]: 79: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,029 INFO L290 TraceCheckUtils]: 80: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,029 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {4957#true} {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} #86#return; {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:41,029 INFO L272 TraceCheckUtils]: 82: Hoare triple {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:41,029 INFO L290 TraceCheckUtils]: 83: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:41,029 INFO L290 TraceCheckUtils]: 84: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:41,029 INFO L290 TraceCheckUtils]: 85: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:41,030 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {4957#true} {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} #88#return; {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-27 13:50:41,031 INFO L290 TraceCheckUtils]: 87: Hoare triple {5190#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5227#(and (= main_~q~0 2) (= (div (* main_~B~0 2) 2) main_~d~0) (= main_~B~0 1) (= main_~A~0 (+ (* main_~B~0 2) main_~r~0)) (= main_~p~0 1))} is VALID [2022-04-27 13:50:41,032 INFO L290 TraceCheckUtils]: 88: Hoare triple {5227#(and (= main_~q~0 2) (= (div (* main_~B~0 2) 2) main_~d~0) (= main_~B~0 1) (= main_~A~0 (+ (* main_~B~0 2) main_~r~0)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5231#(and (= main_~A~0 (+ (* main_~B~0 2) (div (* main_~B~0 2) 2) main_~r~0)) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-27 13:50:41,032 INFO L290 TraceCheckUtils]: 89: Hoare triple {5231#(and (= main_~A~0 (+ (* main_~B~0 2) (div (* main_~B~0 2) 2) main_~r~0)) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} assume !false; {5231#(and (= main_~A~0 (+ (* main_~B~0 2) (div (* main_~B~0 2) 2) main_~r~0)) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-27 13:50:41,033 INFO L272 TraceCheckUtils]: 90: Hoare triple {5231#(and (= main_~A~0 (+ (* main_~B~0 2) (div (* main_~B~0 2) 2) main_~r~0)) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5238#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:50:41,034 INFO L290 TraceCheckUtils]: 91: Hoare triple {5238#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5242#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:50:41,034 INFO L290 TraceCheckUtils]: 92: Hoare triple {5242#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4958#false} is VALID [2022-04-27 13:50:41,034 INFO L290 TraceCheckUtils]: 93: Hoare triple {4958#false} assume !false; {4958#false} is VALID [2022-04-27 13:50:41,034 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 26 proven. 24 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-27 13:50:41,034 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:51:04,319 INFO L290 TraceCheckUtils]: 93: Hoare triple {4958#false} assume !false; {4958#false} is VALID [2022-04-27 13:51:04,320 INFO L290 TraceCheckUtils]: 92: Hoare triple {5242#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4958#false} is VALID [2022-04-27 13:51:04,320 INFO L290 TraceCheckUtils]: 91: Hoare triple {5238#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5242#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:04,321 INFO L272 TraceCheckUtils]: 90: Hoare triple {5258#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5238#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:51:04,321 INFO L290 TraceCheckUtils]: 89: Hoare triple {5258#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {5258#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:51:04,335 INFO L290 TraceCheckUtils]: 88: Hoare triple {5265#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5258#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:51:04,356 INFO L290 TraceCheckUtils]: 87: Hoare triple {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5265#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:51:04,356 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {4957#true} {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #88#return; {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:04,356 INFO L290 TraceCheckUtils]: 85: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,357 INFO L290 TraceCheckUtils]: 84: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,357 INFO L290 TraceCheckUtils]: 83: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,357 INFO L272 TraceCheckUtils]: 82: Hoare triple {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,357 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {4957#true} {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #86#return; {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:04,357 INFO L290 TraceCheckUtils]: 80: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,357 INFO L290 TraceCheckUtils]: 79: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,357 INFO L290 TraceCheckUtils]: 78: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,357 INFO L272 TraceCheckUtils]: 77: Hoare triple {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,358 INFO L290 TraceCheckUtils]: 76: Hoare triple {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:04,384 INFO L290 TraceCheckUtils]: 75: Hoare triple {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5269#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:51:04,704 INFO L290 TraceCheckUtils]: 74: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:51:04,705 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4957#true} {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #88#return; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:51:04,705 INFO L290 TraceCheckUtils]: 72: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,705 INFO L290 TraceCheckUtils]: 71: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,705 INFO L290 TraceCheckUtils]: 70: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,706 INFO L272 TraceCheckUtils]: 69: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,706 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4957#true} {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #86#return; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:51:04,707 INFO L290 TraceCheckUtils]: 67: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,707 INFO L290 TraceCheckUtils]: 66: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,707 INFO L290 TraceCheckUtils]: 65: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,707 INFO L272 TraceCheckUtils]: 64: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,711 INFO L290 TraceCheckUtils]: 63: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !false; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:51:04,714 INFO L290 TraceCheckUtils]: 62: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !(~r~0 >= ~d~0); {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:51:04,715 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {4957#true} {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #84#return; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:51:04,715 INFO L290 TraceCheckUtils]: 60: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,715 INFO L290 TraceCheckUtils]: 59: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,715 INFO L290 TraceCheckUtils]: 58: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,716 INFO L272 TraceCheckUtils]: 57: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,716 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4957#true} {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #82#return; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:51:04,717 INFO L290 TraceCheckUtils]: 55: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,717 INFO L290 TraceCheckUtils]: 54: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,717 INFO L290 TraceCheckUtils]: 53: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,717 INFO L272 TraceCheckUtils]: 52: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,717 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4957#true} {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #80#return; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:51:04,718 INFO L290 TraceCheckUtils]: 50: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,718 INFO L290 TraceCheckUtils]: 49: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,718 INFO L290 TraceCheckUtils]: 48: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,718 INFO L272 TraceCheckUtils]: 47: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,721 INFO L290 TraceCheckUtils]: 46: Hoare triple {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !false; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:51:04,946 INFO L290 TraceCheckUtils]: 45: Hoare triple {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5310#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-27 13:51:04,946 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4957#true} {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #84#return; {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:51:04,947 INFO L290 TraceCheckUtils]: 43: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,947 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,947 INFO L290 TraceCheckUtils]: 41: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,947 INFO L272 TraceCheckUtils]: 40: Hoare triple {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,947 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4957#true} {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #82#return; {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:51:04,947 INFO L290 TraceCheckUtils]: 38: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,948 INFO L290 TraceCheckUtils]: 37: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,948 INFO L290 TraceCheckUtils]: 36: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,948 INFO L272 TraceCheckUtils]: 35: Hoare triple {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,948 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4957#true} {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #80#return; {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:51:04,948 INFO L290 TraceCheckUtils]: 33: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,948 INFO L290 TraceCheckUtils]: 32: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,948 INFO L290 TraceCheckUtils]: 31: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,949 INFO L272 TraceCheckUtils]: 30: Hoare triple {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,950 INFO L290 TraceCheckUtils]: 29: Hoare triple {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:51:04,972 INFO L290 TraceCheckUtils]: 28: Hoare triple {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5306#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:51:04,973 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4957#true} {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #84#return; {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 13:51:04,973 INFO L290 TraceCheckUtils]: 26: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,973 INFO L290 TraceCheckUtils]: 25: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,973 INFO L290 TraceCheckUtils]: 24: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,973 INFO L272 TraceCheckUtils]: 23: Hoare triple {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,973 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4957#true} {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #82#return; {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 13:51:04,974 INFO L290 TraceCheckUtils]: 21: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,974 INFO L290 TraceCheckUtils]: 20: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,974 INFO L290 TraceCheckUtils]: 19: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,974 INFO L272 TraceCheckUtils]: 18: Hoare triple {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,974 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4957#true} {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #80#return; {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 13:51:04,974 INFO L290 TraceCheckUtils]: 16: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,974 INFO L290 TraceCheckUtils]: 15: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,974 INFO L290 TraceCheckUtils]: 14: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,974 INFO L272 TraceCheckUtils]: 13: Hoare triple {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,975 INFO L290 TraceCheckUtils]: 12: Hoare triple {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !false; {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 13:51:04,975 INFO L290 TraceCheckUtils]: 11: Hoare triple {4957#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5449#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-27 13:51:04,975 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4957#true} {4957#true} #78#return; {4957#true} is VALID [2022-04-27 13:51:04,975 INFO L290 TraceCheckUtils]: 9: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,975 INFO L290 TraceCheckUtils]: 8: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:51:04,976 INFO L290 TraceCheckUtils]: 7: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:51:04,976 INFO L272 TraceCheckUtils]: 6: Hoare triple {4957#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:51:04,976 INFO L290 TraceCheckUtils]: 5: Hoare triple {4957#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {4957#true} is VALID [2022-04-27 13:51:04,976 INFO L272 TraceCheckUtils]: 4: Hoare triple {4957#true} call #t~ret5 := main(); {4957#true} is VALID [2022-04-27 13:51:04,976 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4957#true} {4957#true} #94#return; {4957#true} is VALID [2022-04-27 13:51:04,976 INFO L290 TraceCheckUtils]: 2: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:51:04,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {4957#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(8, 2);call #Ultimate.allocInit(12, 3); {4957#true} is VALID [2022-04-27 13:51:04,976 INFO L272 TraceCheckUtils]: 0: Hoare triple {4957#true} call ULTIMATE.init(); {4957#true} is VALID [2022-04-27 13:51:04,977 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 26 proven. 24 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-27 13:51:04,977 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:04,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1643157782] [2022-04-27 13:51:04,977 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:51:04,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [531339848] [2022-04-27 13:51:04,977 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [531339848] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:51:04,977 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:51:04,977 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-27 13:51:04,978 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [497166583] [2022-04-27 13:51:04,978 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:51:04,978 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) Word has length 94 [2022-04-27 13:51:04,978 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:04,979 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:51:05,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:05,855 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 13:51:05,855 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:05,855 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 13:51:05,855 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=179, Unknown=1, NotChecked=0, Total=240 [2022-04-27 13:51:05,855 INFO L87 Difference]: Start difference. First operand 103 states and 122 transitions. Second operand has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:51:17,753 WARN L232 SmtUtils]: Spent 10.44s on a formula simplification. DAG size of input: 192 DAG size of output: 88 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:51:36,724 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-27 13:51:38,759 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-27 13:51:41,208 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-27 13:51:41,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:41,239 INFO L93 Difference]: Finished difference Result 228 states and 305 transitions. [2022-04-27 13:51:41,239 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-27 13:51:41,239 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) Word has length 94 [2022-04-27 13:51:41,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:41,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:51:41,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 183 transitions. [2022-04-27 13:51:41,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:51:41,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 183 transitions. [2022-04-27 13:51:41,245 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 183 transitions. [2022-04-27 13:51:42,225 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:42,228 INFO L225 Difference]: With dead ends: 228 [2022-04-27 13:51:42,229 INFO L226 Difference]: Without dead ends: 177 [2022-04-27 13:51:42,229 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 192 GetRequests, 170 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 20.8s TimeCoverageRelationStatistics Valid=114, Invalid=305, Unknown=1, NotChecked=0, Total=420 [2022-04-27 13:51:42,229 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 89 mSDsluCounter, 259 mSDsCounter, 0 mSdLazyCounter, 804 mSolverCounterSat, 204 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 100 SdHoareTripleChecker+Valid, 320 SdHoareTripleChecker+Invalid, 1011 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 204 IncrementalHoareTripleChecker+Valid, 804 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 12.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:42,230 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [100 Valid, 320 Invalid, 1011 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [204 Valid, 804 Invalid, 3 Unknown, 0 Unchecked, 12.1s Time] [2022-04-27 13:51:42,230 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2022-04-27 13:51:42,298 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 166. [2022-04-27 13:51:42,298 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:42,298 INFO L82 GeneralOperation]: Start isEquivalent. First operand 177 states. Second operand has 166 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 49 states have call successors, (49), 17 states have call predecessors, (49), 16 states have return successors, (47), 44 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-27 13:51:42,299 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand has 166 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 49 states have call successors, (49), 17 states have call predecessors, (49), 16 states have return successors, (47), 44 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-27 13:51:42,299 INFO L87 Difference]: Start difference. First operand 177 states. Second operand has 166 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 49 states have call successors, (49), 17 states have call predecessors, (49), 16 states have return successors, (47), 44 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-27 13:51:42,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:42,303 INFO L93 Difference]: Finished difference Result 177 states and 235 transitions. [2022-04-27 13:51:42,303 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 235 transitions. [2022-04-27 13:51:42,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:42,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:42,304 INFO L74 IsIncluded]: Start isIncluded. First operand has 166 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 49 states have call successors, (49), 17 states have call predecessors, (49), 16 states have return successors, (47), 44 states have call predecessors, (47), 47 states have call successors, (47) Second operand 177 states. [2022-04-27 13:51:42,304 INFO L87 Difference]: Start difference. First operand has 166 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 49 states have call successors, (49), 17 states have call predecessors, (49), 16 states have return successors, (47), 44 states have call predecessors, (47), 47 states have call successors, (47) Second operand 177 states. [2022-04-27 13:51:42,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:42,307 INFO L93 Difference]: Finished difference Result 177 states and 235 transitions. [2022-04-27 13:51:42,308 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 235 transitions. [2022-04-27 13:51:42,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:42,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:42,308 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:42,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:42,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 166 states, 100 states have (on average 1.21) internal successors, (121), 104 states have internal predecessors, (121), 49 states have call successors, (49), 17 states have call predecessors, (49), 16 states have return successors, (47), 44 states have call predecessors, (47), 47 states have call successors, (47) [2022-04-27 13:51:42,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 217 transitions. [2022-04-27 13:51:42,312 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 217 transitions. Word has length 94 [2022-04-27 13:51:42,312 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:42,312 INFO L495 AbstractCegarLoop]: Abstraction has 166 states and 217 transitions. [2022-04-27 13:51:42,312 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.5) internal successors, (40), 15 states have internal predecessors, (40), 11 states have call successors, (31), 2 states have call predecessors, (31), 1 states have return successors, (28), 9 states have call predecessors, (28), 9 states have call successors, (28) [2022-04-27 13:51:42,313 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 217 transitions. [2022-04-27 13:51:42,313 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2022-04-27 13:51:42,313 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:42,314 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:51:42,339 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-27 13:51:42,527 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:42,528 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:42,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:42,528 INFO L85 PathProgramCache]: Analyzing trace with hash 1319164935, now seen corresponding path program 1 times [2022-04-27 13:51:42,528 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:42,528 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1443602985] [2022-04-27 13:51:42,528 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:42,528 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:42,542 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:42,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1345574131] [2022-04-27 13:51:42,542 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:42,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:42,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:42,546 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-27 13:51:42,547 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-27 13:51:42,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:42,599 INFO L263 TraceCheckSpWp]: Trace formula consists of 254 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 13:51:42,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:42,615 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:43,099 INFO L272 TraceCheckUtils]: 0: Hoare triple {6463#true} call ULTIMATE.init(); {6463#true} is VALID [2022-04-27 13:51:43,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {6463#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(8, 2);call #Ultimate.allocInit(12, 3); {6463#true} is VALID [2022-04-27 13:51:43,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,101 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6463#true} {6463#true} #94#return; {6463#true} is VALID [2022-04-27 13:51:43,101 INFO L272 TraceCheckUtils]: 4: Hoare triple {6463#true} call #t~ret5 := main(); {6463#true} is VALID [2022-04-27 13:51:43,101 INFO L290 TraceCheckUtils]: 5: Hoare triple {6463#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {6463#true} is VALID [2022-04-27 13:51:43,101 INFO L272 TraceCheckUtils]: 6: Hoare triple {6463#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,101 INFO L290 TraceCheckUtils]: 7: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,101 INFO L290 TraceCheckUtils]: 8: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,101 INFO L290 TraceCheckUtils]: 9: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,101 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6463#true} {6463#true} #78#return; {6463#true} is VALID [2022-04-27 13:51:43,102 INFO L290 TraceCheckUtils]: 11: Hoare triple {6463#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:51:43,102 INFO L290 TraceCheckUtils]: 12: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !false; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:51:43,102 INFO L272 TraceCheckUtils]: 13: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,103 INFO L290 TraceCheckUtils]: 14: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,103 INFO L290 TraceCheckUtils]: 15: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,103 INFO L290 TraceCheckUtils]: 16: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,103 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6463#true} {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #80#return; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:51:43,103 INFO L272 TraceCheckUtils]: 18: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,103 INFO L290 TraceCheckUtils]: 19: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,103 INFO L290 TraceCheckUtils]: 20: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,103 INFO L290 TraceCheckUtils]: 21: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,104 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6463#true} {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #82#return; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:51:43,104 INFO L272 TraceCheckUtils]: 23: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,104 INFO L290 TraceCheckUtils]: 24: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,104 INFO L290 TraceCheckUtils]: 25: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,104 INFO L290 TraceCheckUtils]: 26: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,105 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6463#true} {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #84#return; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:51:43,105 INFO L290 TraceCheckUtils]: 28: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:51:43,105 INFO L290 TraceCheckUtils]: 29: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !false; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:51:43,105 INFO L272 TraceCheckUtils]: 30: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,105 INFO L290 TraceCheckUtils]: 31: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,106 INFO L290 TraceCheckUtils]: 32: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,106 INFO L290 TraceCheckUtils]: 33: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,106 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6463#true} {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #80#return; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:51:43,106 INFO L272 TraceCheckUtils]: 35: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,106 INFO L290 TraceCheckUtils]: 36: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,106 INFO L290 TraceCheckUtils]: 37: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,106 INFO L290 TraceCheckUtils]: 38: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,107 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6463#true} {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #82#return; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:51:43,107 INFO L272 TraceCheckUtils]: 40: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,107 INFO L290 TraceCheckUtils]: 41: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,107 INFO L290 TraceCheckUtils]: 42: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,107 INFO L290 TraceCheckUtils]: 43: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,107 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6463#true} {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #84#return; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:51:43,108 INFO L290 TraceCheckUtils]: 45: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:51:43,110 INFO L290 TraceCheckUtils]: 46: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !false; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:51:43,111 INFO L272 TraceCheckUtils]: 47: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,111 INFO L290 TraceCheckUtils]: 48: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,111 INFO L290 TraceCheckUtils]: 49: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,111 INFO L290 TraceCheckUtils]: 50: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,111 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6463#true} {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #80#return; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:51:43,111 INFO L272 TraceCheckUtils]: 52: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,111 INFO L290 TraceCheckUtils]: 53: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,111 INFO L290 TraceCheckUtils]: 54: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,112 INFO L290 TraceCheckUtils]: 55: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,112 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6463#true} {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #82#return; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:51:43,112 INFO L272 TraceCheckUtils]: 57: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,112 INFO L290 TraceCheckUtils]: 58: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,112 INFO L290 TraceCheckUtils]: 59: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,112 INFO L290 TraceCheckUtils]: 60: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,113 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6463#true} {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #84#return; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:51:43,113 INFO L290 TraceCheckUtils]: 62: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !(~r~0 >= ~d~0); {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:51:43,113 INFO L290 TraceCheckUtils]: 63: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !false; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:51:43,113 INFO L272 TraceCheckUtils]: 64: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,114 INFO L290 TraceCheckUtils]: 65: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,114 INFO L290 TraceCheckUtils]: 66: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,114 INFO L290 TraceCheckUtils]: 67: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,114 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6463#true} {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #86#return; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:51:43,114 INFO L272 TraceCheckUtils]: 69: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,114 INFO L290 TraceCheckUtils]: 70: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,114 INFO L290 TraceCheckUtils]: 71: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,114 INFO L290 TraceCheckUtils]: 72: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,115 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6463#true} {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} #88#return; {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} is VALID [2022-04-27 13:51:43,116 INFO L290 TraceCheckUtils]: 74: Hoare triple {6605#(and (<= 1 main_~B~0) (= main_~d~0 (* main_~B~0 4)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:51:43,116 INFO L290 TraceCheckUtils]: 75: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:51:43,117 INFO L290 TraceCheckUtils]: 76: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !false; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:51:43,117 INFO L272 TraceCheckUtils]: 77: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,117 INFO L290 TraceCheckUtils]: 78: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,117 INFO L290 TraceCheckUtils]: 79: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,117 INFO L290 TraceCheckUtils]: 80: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,117 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6463#true} {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #86#return; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:51:43,117 INFO L272 TraceCheckUtils]: 82: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,117 INFO L290 TraceCheckUtils]: 83: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,117 INFO L290 TraceCheckUtils]: 84: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,118 INFO L290 TraceCheckUtils]: 85: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,118 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6463#true} {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} #88#return; {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} is VALID [2022-04-27 13:51:43,119 INFO L290 TraceCheckUtils]: 87: Hoare triple {6553#(and (<= 1 main_~B~0) (= (* main_~B~0 2) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:51:43,119 INFO L290 TraceCheckUtils]: 88: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:51:43,119 INFO L290 TraceCheckUtils]: 89: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !false; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:51:43,120 INFO L272 TraceCheckUtils]: 90: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,120 INFO L290 TraceCheckUtils]: 91: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,120 INFO L290 TraceCheckUtils]: 92: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,120 INFO L290 TraceCheckUtils]: 93: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,120 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {6463#true} {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #86#return; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:51:43,120 INFO L272 TraceCheckUtils]: 95: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,120 INFO L290 TraceCheckUtils]: 96: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,120 INFO L290 TraceCheckUtils]: 97: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,121 INFO L290 TraceCheckUtils]: 98: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,121 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {6463#true} {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #88#return; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:51:43,121 INFO L290 TraceCheckUtils]: 100: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} assume !(1 != ~p~0); {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:51:43,121 INFO L272 TraceCheckUtils]: 101: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:43,121 INFO L290 TraceCheckUtils]: 102: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:43,121 INFO L290 TraceCheckUtils]: 103: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:43,122 INFO L290 TraceCheckUtils]: 104: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:43,122 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {6463#true} {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} #90#return; {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:51:43,122 INFO L272 TraceCheckUtils]: 106: Hoare triple {6501#(and (<= 1 main_~B~0) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {6789#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:51:43,123 INFO L290 TraceCheckUtils]: 107: Hoare triple {6789#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6793#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:43,123 INFO L290 TraceCheckUtils]: 108: Hoare triple {6793#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6464#false} is VALID [2022-04-27 13:51:43,123 INFO L290 TraceCheckUtils]: 109: Hoare triple {6464#false} assume !false; {6464#false} is VALID [2022-04-27 13:51:43,123 INFO L134 CoverageAnalysis]: Checked inductivity of 540 backedges. 32 proven. 28 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-27 13:51:43,123 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:51:44,104 INFO L290 TraceCheckUtils]: 109: Hoare triple {6464#false} assume !false; {6464#false} is VALID [2022-04-27 13:51:44,105 INFO L290 TraceCheckUtils]: 108: Hoare triple {6793#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6464#false} is VALID [2022-04-27 13:51:44,105 INFO L290 TraceCheckUtils]: 107: Hoare triple {6789#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6793#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:51:44,106 INFO L272 TraceCheckUtils]: 106: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {6789#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:51:44,106 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {6463#true} {6809#(= main_~B~0 main_~d~0)} #90#return; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:51:44,106 INFO L290 TraceCheckUtils]: 104: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,106 INFO L290 TraceCheckUtils]: 103: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,106 INFO L290 TraceCheckUtils]: 102: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,106 INFO L272 TraceCheckUtils]: 101: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,107 INFO L290 TraceCheckUtils]: 100: Hoare triple {6809#(= main_~B~0 main_~d~0)} assume !(1 != ~p~0); {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:51:44,107 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {6463#true} {6809#(= main_~B~0 main_~d~0)} #88#return; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:51:44,107 INFO L290 TraceCheckUtils]: 98: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,107 INFO L290 TraceCheckUtils]: 97: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,107 INFO L290 TraceCheckUtils]: 96: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,107 INFO L272 TraceCheckUtils]: 95: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,108 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {6463#true} {6809#(= main_~B~0 main_~d~0)} #86#return; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:51:44,108 INFO L290 TraceCheckUtils]: 93: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,108 INFO L290 TraceCheckUtils]: 92: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,108 INFO L290 TraceCheckUtils]: 91: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,108 INFO L272 TraceCheckUtils]: 90: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,108 INFO L290 TraceCheckUtils]: 89: Hoare triple {6809#(= main_~B~0 main_~d~0)} assume !false; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:51:44,109 INFO L290 TraceCheckUtils]: 88: Hoare triple {6809#(= main_~B~0 main_~d~0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:51:44,110 INFO L290 TraceCheckUtils]: 87: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:51:44,111 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6463#true} {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #88#return; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,111 INFO L290 TraceCheckUtils]: 85: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,111 INFO L290 TraceCheckUtils]: 84: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,111 INFO L290 TraceCheckUtils]: 83: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,111 INFO L272 TraceCheckUtils]: 82: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,111 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6463#true} {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #86#return; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,112 INFO L290 TraceCheckUtils]: 80: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,112 INFO L290 TraceCheckUtils]: 79: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,112 INFO L290 TraceCheckUtils]: 78: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,112 INFO L272 TraceCheckUtils]: 77: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,112 INFO L290 TraceCheckUtils]: 76: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,113 INFO L290 TraceCheckUtils]: 75: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,116 INFO L290 TraceCheckUtils]: 74: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,116 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6463#true} {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #88#return; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,116 INFO L290 TraceCheckUtils]: 72: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,116 INFO L290 TraceCheckUtils]: 71: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,116 INFO L290 TraceCheckUtils]: 70: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,116 INFO L272 TraceCheckUtils]: 69: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,117 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6463#true} {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #86#return; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,117 INFO L290 TraceCheckUtils]: 67: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,117 INFO L290 TraceCheckUtils]: 66: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,117 INFO L290 TraceCheckUtils]: 65: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,117 INFO L272 TraceCheckUtils]: 64: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,118 INFO L290 TraceCheckUtils]: 63: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,119 INFO L290 TraceCheckUtils]: 62: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !(~r~0 >= ~d~0); {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,119 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6463#true} {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #84#return; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,119 INFO L290 TraceCheckUtils]: 60: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,119 INFO L290 TraceCheckUtils]: 59: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,120 INFO L290 TraceCheckUtils]: 58: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,120 INFO L272 TraceCheckUtils]: 57: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,120 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6463#true} {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #82#return; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,120 INFO L290 TraceCheckUtils]: 55: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,120 INFO L290 TraceCheckUtils]: 54: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,120 INFO L290 TraceCheckUtils]: 53: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,120 INFO L272 TraceCheckUtils]: 52: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,121 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6463#true} {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #80#return; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,121 INFO L290 TraceCheckUtils]: 50: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,121 INFO L290 TraceCheckUtils]: 49: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,121 INFO L290 TraceCheckUtils]: 48: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,121 INFO L272 TraceCheckUtils]: 47: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,122 INFO L290 TraceCheckUtils]: 46: Hoare triple {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,124 INFO L290 TraceCheckUtils]: 45: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6907#(and (or (and (or (not (< (div main_~d~0 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) main_~B~0) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (= (div (div main_~d~0 2) 2) main_~B~0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))) (or (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) main_~B~0) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (= main_~B~0 (div (+ (div main_~d~0 2) 1) 2)) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,125 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6463#true} {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #84#return; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,125 INFO L290 TraceCheckUtils]: 43: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,125 INFO L290 TraceCheckUtils]: 42: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,125 INFO L290 TraceCheckUtils]: 41: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,125 INFO L272 TraceCheckUtils]: 40: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,125 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6463#true} {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #82#return; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,125 INFO L290 TraceCheckUtils]: 38: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,125 INFO L290 TraceCheckUtils]: 37: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,125 INFO L290 TraceCheckUtils]: 36: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,126 INFO L272 TraceCheckUtils]: 35: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,126 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6463#true} {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} #80#return; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,126 INFO L290 TraceCheckUtils]: 33: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,126 INFO L290 TraceCheckUtils]: 32: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,126 INFO L290 TraceCheckUtils]: 31: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,126 INFO L272 TraceCheckUtils]: 30: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,127 INFO L290 TraceCheckUtils]: 29: Hoare triple {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} assume !false; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,140 INFO L290 TraceCheckUtils]: 28: Hoare triple {6809#(= main_~B~0 main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6867#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= main_~B~0 (div main_~d~0 2))) (or (= (+ (div main_~d~0 2) 1) main_~B~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:51:44,140 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6463#true} {6809#(= main_~B~0 main_~d~0)} #84#return; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:51:44,140 INFO L290 TraceCheckUtils]: 26: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,141 INFO L290 TraceCheckUtils]: 25: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,141 INFO L290 TraceCheckUtils]: 24: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,141 INFO L272 TraceCheckUtils]: 23: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,143 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6463#true} {6809#(= main_~B~0 main_~d~0)} #82#return; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:51:44,143 INFO L290 TraceCheckUtils]: 21: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,143 INFO L290 TraceCheckUtils]: 20: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,143 INFO L290 TraceCheckUtils]: 19: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,143 INFO L272 TraceCheckUtils]: 18: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,144 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6463#true} {6809#(= main_~B~0 main_~d~0)} #80#return; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:51:44,144 INFO L290 TraceCheckUtils]: 16: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,144 INFO L290 TraceCheckUtils]: 15: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,144 INFO L290 TraceCheckUtils]: 14: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,144 INFO L272 TraceCheckUtils]: 13: Hoare triple {6809#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,144 INFO L290 TraceCheckUtils]: 12: Hoare triple {6809#(= main_~B~0 main_~d~0)} assume !false; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:51:44,148 INFO L290 TraceCheckUtils]: 11: Hoare triple {6463#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6809#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:51:44,149 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6463#true} {6463#true} #78#return; {6463#true} is VALID [2022-04-27 13:51:44,149 INFO L290 TraceCheckUtils]: 9: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,149 INFO L290 TraceCheckUtils]: 8: Hoare triple {6463#true} assume !(0 == ~cond); {6463#true} is VALID [2022-04-27 13:51:44,149 INFO L290 TraceCheckUtils]: 7: Hoare triple {6463#true} ~cond := #in~cond; {6463#true} is VALID [2022-04-27 13:51:44,149 INFO L272 TraceCheckUtils]: 6: Hoare triple {6463#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {6463#true} is VALID [2022-04-27 13:51:44,149 INFO L290 TraceCheckUtils]: 5: Hoare triple {6463#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {6463#true} is VALID [2022-04-27 13:51:44,149 INFO L272 TraceCheckUtils]: 4: Hoare triple {6463#true} call #t~ret5 := main(); {6463#true} is VALID [2022-04-27 13:51:44,149 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6463#true} {6463#true} #94#return; {6463#true} is VALID [2022-04-27 13:51:44,149 INFO L290 TraceCheckUtils]: 2: Hoare triple {6463#true} assume true; {6463#true} is VALID [2022-04-27 13:51:44,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {6463#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(8, 2);call #Ultimate.allocInit(12, 3); {6463#true} is VALID [2022-04-27 13:51:44,149 INFO L272 TraceCheckUtils]: 0: Hoare triple {6463#true} call ULTIMATE.init(); {6463#true} is VALID [2022-04-27 13:51:44,150 INFO L134 CoverageAnalysis]: Checked inductivity of 540 backedges. 32 proven. 28 refuted. 0 times theorem prover too weak. 480 trivial. 0 not checked. [2022-04-27 13:51:44,150 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:44,150 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1443602985] [2022-04-27 13:51:44,150 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:51:44,150 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1345574131] [2022-04-27 13:51:44,150 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1345574131] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:51:44,150 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:51:44,150 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 13:51:44,151 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [167496777] [2022-04-27 13:51:44,151 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:51:44,152 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) Word has length 110 [2022-04-27 13:51:44,154 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:44,154 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) [2022-04-27 13:51:44,265 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:44,266 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:51:44,266 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:44,266 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:51:44,266 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:51:44,266 INFO L87 Difference]: Start difference. First operand 166 states and 217 transitions. Second operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) [2022-04-27 13:51:46,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:46,207 INFO L93 Difference]: Finished difference Result 182 states and 239 transitions. [2022-04-27 13:51:46,207 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:51:46,207 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) Word has length 110 [2022-04-27 13:51:46,207 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:46,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) [2022-04-27 13:51:46,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2022-04-27 13:51:46,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) [2022-04-27 13:51:46,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2022-04-27 13:51:46,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 93 transitions. [2022-04-27 13:51:46,288 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:46,290 INFO L225 Difference]: With dead ends: 182 [2022-04-27 13:51:46,291 INFO L226 Difference]: Without dead ends: 174 [2022-04-27 13:51:46,291 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 220 GetRequests, 207 SyntacticMatches, 4 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:51:46,291 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 6 mSDsluCounter, 227 mSDsCounter, 0 mSdLazyCounter, 197 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 291 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 197 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:46,292 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 291 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 197 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 13:51:46,292 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-27 13:51:46,381 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 174. [2022-04-27 13:51:46,382 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:46,382 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand has 174 states, 104 states have (on average 1.2019230769230769) internal successors, (125), 108 states have internal predecessors, (125), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 48 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:51:46,382 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand has 174 states, 104 states have (on average 1.2019230769230769) internal successors, (125), 108 states have internal predecessors, (125), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 48 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:51:46,383 INFO L87 Difference]: Start difference. First operand 174 states. Second operand has 174 states, 104 states have (on average 1.2019230769230769) internal successors, (125), 108 states have internal predecessors, (125), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 48 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:51:46,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:46,387 INFO L93 Difference]: Finished difference Result 174 states and 229 transitions. [2022-04-27 13:51:46,387 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 229 transitions. [2022-04-27 13:51:46,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:46,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:46,388 INFO L74 IsIncluded]: Start isIncluded. First operand has 174 states, 104 states have (on average 1.2019230769230769) internal successors, (125), 108 states have internal predecessors, (125), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 48 states have call predecessors, (51), 51 states have call successors, (51) Second operand 174 states. [2022-04-27 13:51:46,389 INFO L87 Difference]: Start difference. First operand has 174 states, 104 states have (on average 1.2019230769230769) internal successors, (125), 108 states have internal predecessors, (125), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 48 states have call predecessors, (51), 51 states have call successors, (51) Second operand 174 states. [2022-04-27 13:51:46,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:46,393 INFO L93 Difference]: Finished difference Result 174 states and 229 transitions. [2022-04-27 13:51:46,393 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 229 transitions. [2022-04-27 13:51:46,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:46,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:46,394 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:46,394 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:46,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 174 states, 104 states have (on average 1.2019230769230769) internal successors, (125), 108 states have internal predecessors, (125), 53 states have call successors, (53), 17 states have call predecessors, (53), 16 states have return successors, (51), 48 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:51:46,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 174 states to 174 states and 229 transitions. [2022-04-27 13:51:46,398 INFO L78 Accepts]: Start accepts. Automaton has 174 states and 229 transitions. Word has length 110 [2022-04-27 13:51:46,398 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:46,398 INFO L495 AbstractCegarLoop]: Abstraction has 174 states and 229 transitions. [2022-04-27 13:51:46,398 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 9 states have internal predecessors, (42), 7 states have call successors, (37), 2 states have call predecessors, (37), 1 states have return successors, (34), 7 states have call predecessors, (34), 7 states have call successors, (34) [2022-04-27 13:51:46,398 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 229 transitions. [2022-04-27 13:51:46,399 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 124 [2022-04-27 13:51:46,399 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:46,399 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 4, 4, 4, 4, 4, 3, 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] [2022-04-27 13:51:46,419 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-27 13:51:46,613 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,SelfDestructingSolverStorable10 [2022-04-27 13:51:46,613 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:46,614 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:46,614 INFO L85 PathProgramCache]: Analyzing trace with hash -113269864, now seen corresponding path program 2 times [2022-04-27 13:51:46,614 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:46,614 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2110858827] [2022-04-27 13:51:46,614 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:46,614 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:46,629 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:46,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1558131951] [2022-04-27 13:51:46,630 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:51:46,630 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:46,630 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:46,631 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-27 13:51:46,654 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-27 13:51:46,718 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:51:46,718 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:51:46,719 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:51:46,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:46,732 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:46,957 INFO L272 TraceCheckUtils]: 0: Hoare triple {7989#true} call ULTIMATE.init(); {7989#true} is VALID [2022-04-27 13:51:46,957 INFO L290 TraceCheckUtils]: 1: Hoare triple {7989#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(8, 2);call #Ultimate.allocInit(12, 3); {7989#true} is VALID [2022-04-27 13:51:46,957 INFO L290 TraceCheckUtils]: 2: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,957 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7989#true} {7989#true} #94#return; {7989#true} is VALID [2022-04-27 13:51:46,958 INFO L272 TraceCheckUtils]: 4: Hoare triple {7989#true} call #t~ret5 := main(); {7989#true} is VALID [2022-04-27 13:51:46,958 INFO L290 TraceCheckUtils]: 5: Hoare triple {7989#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {7989#true} is VALID [2022-04-27 13:51:46,958 INFO L272 TraceCheckUtils]: 6: Hoare triple {7989#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,958 INFO L290 TraceCheckUtils]: 7: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,958 INFO L290 TraceCheckUtils]: 8: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,958 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7989#true} {7989#true} #78#return; {7989#true} is VALID [2022-04-27 13:51:46,958 INFO L290 TraceCheckUtils]: 11: Hoare triple {7989#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:51:46,959 INFO L290 TraceCheckUtils]: 12: Hoare triple {8027#(= main_~p~0 1)} assume !false; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:51:46,959 INFO L272 TraceCheckUtils]: 13: Hoare triple {8027#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,959 INFO L290 TraceCheckUtils]: 14: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,959 INFO L290 TraceCheckUtils]: 15: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,959 INFO L290 TraceCheckUtils]: 16: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,959 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {7989#true} {8027#(= main_~p~0 1)} #80#return; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:51:46,959 INFO L272 TraceCheckUtils]: 18: Hoare triple {8027#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,959 INFO L290 TraceCheckUtils]: 19: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,959 INFO L290 TraceCheckUtils]: 20: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,959 INFO L290 TraceCheckUtils]: 21: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,960 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7989#true} {8027#(= main_~p~0 1)} #82#return; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:51:46,960 INFO L272 TraceCheckUtils]: 23: Hoare triple {8027#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,960 INFO L290 TraceCheckUtils]: 24: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,960 INFO L290 TraceCheckUtils]: 25: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,960 INFO L290 TraceCheckUtils]: 26: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,961 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7989#true} {8027#(= main_~p~0 1)} #84#return; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:51:46,961 INFO L290 TraceCheckUtils]: 28: Hoare triple {8027#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:51:46,961 INFO L290 TraceCheckUtils]: 29: Hoare triple {8079#(= main_~p~0 2)} assume !false; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:51:46,962 INFO L272 TraceCheckUtils]: 30: Hoare triple {8079#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,962 INFO L290 TraceCheckUtils]: 31: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,962 INFO L290 TraceCheckUtils]: 32: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,962 INFO L290 TraceCheckUtils]: 33: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,962 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {7989#true} {8079#(= main_~p~0 2)} #80#return; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:51:46,962 INFO L272 TraceCheckUtils]: 35: Hoare triple {8079#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,962 INFO L290 TraceCheckUtils]: 36: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,962 INFO L290 TraceCheckUtils]: 37: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,962 INFO L290 TraceCheckUtils]: 38: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,963 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7989#true} {8079#(= main_~p~0 2)} #82#return; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:51:46,963 INFO L272 TraceCheckUtils]: 40: Hoare triple {8079#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,963 INFO L290 TraceCheckUtils]: 41: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,963 INFO L290 TraceCheckUtils]: 42: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,963 INFO L290 TraceCheckUtils]: 43: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,964 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7989#true} {8079#(= main_~p~0 2)} #84#return; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:51:46,964 INFO L290 TraceCheckUtils]: 45: Hoare triple {8079#(= main_~p~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:51:46,964 INFO L290 TraceCheckUtils]: 46: Hoare triple {8131#(= main_~p~0 4)} assume !false; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:51:46,964 INFO L272 TraceCheckUtils]: 47: Hoare triple {8131#(= main_~p~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,964 INFO L290 TraceCheckUtils]: 48: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,965 INFO L290 TraceCheckUtils]: 49: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,965 INFO L290 TraceCheckUtils]: 50: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,965 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7989#true} {8131#(= main_~p~0 4)} #80#return; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:51:46,965 INFO L272 TraceCheckUtils]: 52: Hoare triple {8131#(= main_~p~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,965 INFO L290 TraceCheckUtils]: 53: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,965 INFO L290 TraceCheckUtils]: 54: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,965 INFO L290 TraceCheckUtils]: 55: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,966 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7989#true} {8131#(= main_~p~0 4)} #82#return; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:51:46,966 INFO L272 TraceCheckUtils]: 57: Hoare triple {8131#(= main_~p~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,966 INFO L290 TraceCheckUtils]: 58: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,966 INFO L290 TraceCheckUtils]: 59: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,966 INFO L290 TraceCheckUtils]: 60: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,967 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7989#true} {8131#(= main_~p~0 4)} #84#return; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:51:46,967 INFO L290 TraceCheckUtils]: 62: Hoare triple {8131#(= main_~p~0 4)} assume !(~r~0 >= ~d~0); {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:51:46,967 INFO L290 TraceCheckUtils]: 63: Hoare triple {8131#(= main_~p~0 4)} assume !false; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:51:46,967 INFO L272 TraceCheckUtils]: 64: Hoare triple {8131#(= main_~p~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,967 INFO L290 TraceCheckUtils]: 65: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,967 INFO L290 TraceCheckUtils]: 66: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,967 INFO L290 TraceCheckUtils]: 67: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,968 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {7989#true} {8131#(= main_~p~0 4)} #86#return; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:51:46,968 INFO L272 TraceCheckUtils]: 69: Hoare triple {8131#(= main_~p~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,968 INFO L290 TraceCheckUtils]: 70: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,968 INFO L290 TraceCheckUtils]: 71: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,968 INFO L290 TraceCheckUtils]: 72: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,968 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {7989#true} {8131#(= main_~p~0 4)} #88#return; {8131#(= main_~p~0 4)} is VALID [2022-04-27 13:51:46,969 INFO L290 TraceCheckUtils]: 74: Hoare triple {8131#(= main_~p~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:51:46,969 INFO L290 TraceCheckUtils]: 75: Hoare triple {8079#(= main_~p~0 2)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:51:46,970 INFO L290 TraceCheckUtils]: 76: Hoare triple {8079#(= main_~p~0 2)} assume !false; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:51:46,970 INFO L272 TraceCheckUtils]: 77: Hoare triple {8079#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,970 INFO L290 TraceCheckUtils]: 78: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,970 INFO L290 TraceCheckUtils]: 79: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,970 INFO L290 TraceCheckUtils]: 80: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,970 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {7989#true} {8079#(= main_~p~0 2)} #86#return; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:51:46,970 INFO L272 TraceCheckUtils]: 82: Hoare triple {8079#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,971 INFO L290 TraceCheckUtils]: 83: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,971 INFO L290 TraceCheckUtils]: 84: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,971 INFO L290 TraceCheckUtils]: 85: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,971 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {7989#true} {8079#(= main_~p~0 2)} #88#return; {8079#(= main_~p~0 2)} is VALID [2022-04-27 13:51:46,971 INFO L290 TraceCheckUtils]: 87: Hoare triple {8079#(= main_~p~0 2)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:51:46,972 INFO L290 TraceCheckUtils]: 88: Hoare triple {8027#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:51:46,972 INFO L290 TraceCheckUtils]: 89: Hoare triple {8027#(= main_~p~0 1)} assume !false; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:51:46,972 INFO L272 TraceCheckUtils]: 90: Hoare triple {8027#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,972 INFO L290 TraceCheckUtils]: 91: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,972 INFO L290 TraceCheckUtils]: 92: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,972 INFO L290 TraceCheckUtils]: 93: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,973 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {7989#true} {8027#(= main_~p~0 1)} #86#return; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:51:46,973 INFO L272 TraceCheckUtils]: 95: Hoare triple {8027#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,973 INFO L290 TraceCheckUtils]: 96: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,973 INFO L290 TraceCheckUtils]: 97: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,973 INFO L290 TraceCheckUtils]: 98: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,973 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {7989#true} {8027#(= main_~p~0 1)} #88#return; {8027#(= main_~p~0 1)} is VALID [2022-04-27 13:51:46,974 INFO L290 TraceCheckUtils]: 100: Hoare triple {8027#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:51:46,974 INFO L290 TraceCheckUtils]: 101: Hoare triple {8297#(<= main_~p~0 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:51:46,974 INFO L290 TraceCheckUtils]: 102: Hoare triple {8297#(<= main_~p~0 0)} assume !false; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:51:46,974 INFO L272 TraceCheckUtils]: 103: Hoare triple {8297#(<= main_~p~0 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,974 INFO L290 TraceCheckUtils]: 104: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,975 INFO L290 TraceCheckUtils]: 105: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,975 INFO L290 TraceCheckUtils]: 106: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,975 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {7989#true} {8297#(<= main_~p~0 0)} #86#return; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:51:46,975 INFO L272 TraceCheckUtils]: 108: Hoare triple {8297#(<= main_~p~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:46,975 INFO L290 TraceCheckUtils]: 109: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:46,975 INFO L290 TraceCheckUtils]: 110: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:46,975 INFO L290 TraceCheckUtils]: 111: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:46,976 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {7989#true} {8297#(<= main_~p~0 0)} #88#return; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:51:46,976 INFO L290 TraceCheckUtils]: 113: Hoare triple {8297#(<= main_~p~0 0)} assume !(1 != ~p~0); {7990#false} is VALID [2022-04-27 13:51:46,976 INFO L272 TraceCheckUtils]: 114: Hoare triple {7990#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7990#false} is VALID [2022-04-27 13:51:46,976 INFO L290 TraceCheckUtils]: 115: Hoare triple {7990#false} ~cond := #in~cond; {7990#false} is VALID [2022-04-27 13:51:46,976 INFO L290 TraceCheckUtils]: 116: Hoare triple {7990#false} assume !(0 == ~cond); {7990#false} is VALID [2022-04-27 13:51:46,976 INFO L290 TraceCheckUtils]: 117: Hoare triple {7990#false} assume true; {7990#false} is VALID [2022-04-27 13:51:46,976 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {7990#false} {7990#false} #90#return; {7990#false} is VALID [2022-04-27 13:51:46,976 INFO L272 TraceCheckUtils]: 119: Hoare triple {7990#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {7990#false} is VALID [2022-04-27 13:51:46,977 INFO L290 TraceCheckUtils]: 120: Hoare triple {7990#false} ~cond := #in~cond; {7990#false} is VALID [2022-04-27 13:51:46,977 INFO L290 TraceCheckUtils]: 121: Hoare triple {7990#false} assume 0 == ~cond; {7990#false} is VALID [2022-04-27 13:51:46,977 INFO L290 TraceCheckUtils]: 122: Hoare triple {7990#false} assume !false; {7990#false} is VALID [2022-04-27 13:51:46,977 INFO L134 CoverageAnalysis]: Checked inductivity of 690 backedges. 102 proven. 42 refuted. 0 times theorem prover too weak. 546 trivial. 0 not checked. [2022-04-27 13:51:46,977 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:51:47,847 INFO L290 TraceCheckUtils]: 122: Hoare triple {7990#false} assume !false; {7990#false} is VALID [2022-04-27 13:51:47,847 INFO L290 TraceCheckUtils]: 121: Hoare triple {7990#false} assume 0 == ~cond; {7990#false} is VALID [2022-04-27 13:51:47,847 INFO L290 TraceCheckUtils]: 120: Hoare triple {7990#false} ~cond := #in~cond; {7990#false} is VALID [2022-04-27 13:51:47,848 INFO L272 TraceCheckUtils]: 119: Hoare triple {7990#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {7990#false} is VALID [2022-04-27 13:51:47,848 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {7989#true} {7990#false} #90#return; {7990#false} is VALID [2022-04-27 13:51:47,848 INFO L290 TraceCheckUtils]: 117: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,848 INFO L290 TraceCheckUtils]: 116: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,848 INFO L290 TraceCheckUtils]: 115: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,848 INFO L272 TraceCheckUtils]: 114: Hoare triple {7990#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,848 INFO L290 TraceCheckUtils]: 113: Hoare triple {8297#(<= main_~p~0 0)} assume !(1 != ~p~0); {7990#false} is VALID [2022-04-27 13:51:47,849 INFO L284 TraceCheckUtils]: 112: Hoare quadruple {7989#true} {8297#(<= main_~p~0 0)} #88#return; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:51:47,849 INFO L290 TraceCheckUtils]: 111: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,853 INFO L290 TraceCheckUtils]: 110: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,853 INFO L290 TraceCheckUtils]: 109: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,854 INFO L272 TraceCheckUtils]: 108: Hoare triple {8297#(<= main_~p~0 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,855 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {7989#true} {8297#(<= main_~p~0 0)} #86#return; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:51:47,855 INFO L290 TraceCheckUtils]: 106: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,855 INFO L290 TraceCheckUtils]: 105: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,855 INFO L290 TraceCheckUtils]: 104: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,855 INFO L272 TraceCheckUtils]: 103: Hoare triple {8297#(<= main_~p~0 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,856 INFO L290 TraceCheckUtils]: 102: Hoare triple {8297#(<= main_~p~0 0)} assume !false; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:51:47,856 INFO L290 TraceCheckUtils]: 101: Hoare triple {8297#(<= main_~p~0 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:51:47,867 INFO L290 TraceCheckUtils]: 100: Hoare triple {8430#(<= (div main_~p~0 2) 0)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8297#(<= main_~p~0 0)} is VALID [2022-04-27 13:51:47,867 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {7989#true} {8430#(<= (div main_~p~0 2) 0)} #88#return; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:51:47,867 INFO L290 TraceCheckUtils]: 98: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,868 INFO L290 TraceCheckUtils]: 97: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,868 INFO L290 TraceCheckUtils]: 96: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,868 INFO L272 TraceCheckUtils]: 95: Hoare triple {8430#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,868 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {7989#true} {8430#(<= (div main_~p~0 2) 0)} #86#return; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:51:47,868 INFO L290 TraceCheckUtils]: 93: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,868 INFO L290 TraceCheckUtils]: 92: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,868 INFO L290 TraceCheckUtils]: 91: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,868 INFO L272 TraceCheckUtils]: 90: Hoare triple {8430#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,869 INFO L290 TraceCheckUtils]: 89: Hoare triple {8430#(<= (div main_~p~0 2) 0)} assume !false; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:51:47,869 INFO L290 TraceCheckUtils]: 88: Hoare triple {8430#(<= (div main_~p~0 2) 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:51:47,870 INFO L290 TraceCheckUtils]: 87: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:51:47,870 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {7989#true} {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #88#return; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:51:47,870 INFO L290 TraceCheckUtils]: 85: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,870 INFO L290 TraceCheckUtils]: 84: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,871 INFO L290 TraceCheckUtils]: 83: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,871 INFO L272 TraceCheckUtils]: 82: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,871 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {7989#true} {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #86#return; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:51:47,871 INFO L290 TraceCheckUtils]: 80: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,871 INFO L290 TraceCheckUtils]: 79: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,871 INFO L290 TraceCheckUtils]: 78: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,871 INFO L272 TraceCheckUtils]: 77: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,872 INFO L290 TraceCheckUtils]: 76: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !false; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:51:47,872 INFO L290 TraceCheckUtils]: 75: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:51:47,873 INFO L290 TraceCheckUtils]: 74: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:51:47,873 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {7989#true} {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #88#return; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:51:47,874 INFO L290 TraceCheckUtils]: 72: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,874 INFO L290 TraceCheckUtils]: 71: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,874 INFO L290 TraceCheckUtils]: 70: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,874 INFO L272 TraceCheckUtils]: 69: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,874 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {7989#true} {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #86#return; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:51:47,874 INFO L290 TraceCheckUtils]: 67: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,874 INFO L290 TraceCheckUtils]: 66: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,874 INFO L290 TraceCheckUtils]: 65: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,874 INFO L272 TraceCheckUtils]: 64: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,875 INFO L290 TraceCheckUtils]: 63: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !false; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:51:47,875 INFO L290 TraceCheckUtils]: 62: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !(~r~0 >= ~d~0); {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:51:47,875 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7989#true} {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #84#return; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:51:47,875 INFO L290 TraceCheckUtils]: 60: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,876 INFO L290 TraceCheckUtils]: 59: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,876 INFO L290 TraceCheckUtils]: 58: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,876 INFO L272 TraceCheckUtils]: 57: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,876 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7989#true} {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #82#return; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:51:47,876 INFO L290 TraceCheckUtils]: 55: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,876 INFO L290 TraceCheckUtils]: 54: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,876 INFO L290 TraceCheckUtils]: 53: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,876 INFO L272 TraceCheckUtils]: 52: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,877 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7989#true} {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} #80#return; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:51:47,877 INFO L290 TraceCheckUtils]: 50: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,877 INFO L290 TraceCheckUtils]: 49: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,877 INFO L290 TraceCheckUtils]: 48: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,877 INFO L272 TraceCheckUtils]: 47: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,877 INFO L290 TraceCheckUtils]: 46: Hoare triple {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} assume !false; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:51:47,878 INFO L290 TraceCheckUtils]: 45: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8510#(<= (div (+ (- 1) (div (+ (- 3) (* (- 1) (div main_~p~0 2))) 2)) (- 2)) 2)} is VALID [2022-04-27 13:51:47,879 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7989#true} {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #84#return; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:51:47,879 INFO L290 TraceCheckUtils]: 43: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,879 INFO L290 TraceCheckUtils]: 42: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,879 INFO L290 TraceCheckUtils]: 41: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,879 INFO L272 TraceCheckUtils]: 40: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,879 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {7989#true} {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #82#return; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:51:47,879 INFO L290 TraceCheckUtils]: 38: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,880 INFO L290 TraceCheckUtils]: 37: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,880 INFO L290 TraceCheckUtils]: 36: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,880 INFO L272 TraceCheckUtils]: 35: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,880 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {7989#true} {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} #80#return; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:51:47,880 INFO L290 TraceCheckUtils]: 33: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,880 INFO L290 TraceCheckUtils]: 32: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,880 INFO L290 TraceCheckUtils]: 31: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,880 INFO L272 TraceCheckUtils]: 30: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,881 INFO L290 TraceCheckUtils]: 29: Hoare triple {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} assume !false; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:51:47,881 INFO L290 TraceCheckUtils]: 28: Hoare triple {8430#(<= (div main_~p~0 2) 0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8470#(<= (div (+ (- 1) (* (- 1) (div main_~p~0 2))) (- 2)) 1)} is VALID [2022-04-27 13:51:47,882 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {7989#true} {8430#(<= (div main_~p~0 2) 0)} #84#return; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:51:47,882 INFO L290 TraceCheckUtils]: 26: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,882 INFO L290 TraceCheckUtils]: 25: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,882 INFO L290 TraceCheckUtils]: 24: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,882 INFO L272 TraceCheckUtils]: 23: Hoare triple {8430#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,882 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {7989#true} {8430#(<= (div main_~p~0 2) 0)} #82#return; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:51:47,882 INFO L290 TraceCheckUtils]: 21: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,883 INFO L290 TraceCheckUtils]: 20: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,883 INFO L290 TraceCheckUtils]: 19: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,883 INFO L272 TraceCheckUtils]: 18: Hoare triple {8430#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,883 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {7989#true} {8430#(<= (div main_~p~0 2) 0)} #80#return; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:51:47,883 INFO L290 TraceCheckUtils]: 16: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,883 INFO L290 TraceCheckUtils]: 15: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,883 INFO L272 TraceCheckUtils]: 13: Hoare triple {8430#(<= (div main_~p~0 2) 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,884 INFO L290 TraceCheckUtils]: 12: Hoare triple {8430#(<= (div main_~p~0 2) 0)} assume !false; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:51:47,884 INFO L290 TraceCheckUtils]: 11: Hoare triple {7989#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8430#(<= (div main_~p~0 2) 0)} is VALID [2022-04-27 13:51:47,884 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7989#true} {7989#true} #78#return; {7989#true} is VALID [2022-04-27 13:51:47,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {7989#true} assume !(0 == ~cond); {7989#true} is VALID [2022-04-27 13:51:47,884 INFO L290 TraceCheckUtils]: 7: Hoare triple {7989#true} ~cond := #in~cond; {7989#true} is VALID [2022-04-27 13:51:47,884 INFO L272 TraceCheckUtils]: 6: Hoare triple {7989#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {7989#true} is VALID [2022-04-27 13:51:47,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {7989#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {7989#true} is VALID [2022-04-27 13:51:47,884 INFO L272 TraceCheckUtils]: 4: Hoare triple {7989#true} call #t~ret5 := main(); {7989#true} is VALID [2022-04-27 13:51:47,884 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7989#true} {7989#true} #94#return; {7989#true} is VALID [2022-04-27 13:51:47,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {7989#true} assume true; {7989#true} is VALID [2022-04-27 13:51:47,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {7989#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(8, 2);call #Ultimate.allocInit(12, 3); {7989#true} is VALID [2022-04-27 13:51:47,885 INFO L272 TraceCheckUtils]: 0: Hoare triple {7989#true} call ULTIMATE.init(); {7989#true} is VALID [2022-04-27 13:51:47,885 INFO L134 CoverageAnalysis]: Checked inductivity of 690 backedges. 63 proven. 15 refuted. 0 times theorem prover too weak. 612 trivial. 0 not checked. [2022-04-27 13:51:47,885 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:47,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2110858827] [2022-04-27 13:51:47,885 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:51:47,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1558131951] [2022-04-27 13:51:47,885 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1558131951] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:51:47,885 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:51:47,885 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2022-04-27 13:51:47,886 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2059829117] [2022-04-27 13:51:47,886 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:51:47,886 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) Word has length 123 [2022-04-27 13:51:47,886 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:47,887 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) [2022-04-27 13:51:47,982 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:47,982 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:51:47,982 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:47,982 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:51:47,982 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:51:47,983 INFO L87 Difference]: Start difference. First operand 174 states and 229 transitions. Second operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) [2022-04-27 13:51:48,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:48,471 INFO L93 Difference]: Finished difference Result 203 states and 266 transitions. [2022-04-27 13:51:48,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:51:48,471 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) Word has length 123 [2022-04-27 13:51:48,471 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:48,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) [2022-04-27 13:51:48,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 101 transitions. [2022-04-27 13:51:48,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) [2022-04-27 13:51:48,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 101 transitions. [2022-04-27 13:51:48,475 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 101 transitions. [2022-04-27 13:51:48,565 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:51:48,567 INFO L225 Difference]: With dead ends: 203 [2022-04-27 13:51:48,567 INFO L226 Difference]: Without dead ends: 136 [2022-04-27 13:51:48,567 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 245 GetRequests, 235 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:51:48,568 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 3 mSDsluCounter, 226 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 290 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 149 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:48,568 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [4 Valid, 290 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 149 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:51:48,569 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-04-27 13:51:48,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 136. [2022-04-27 13:51:48,623 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:48,623 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 136 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 13:51:48,623 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 136 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 13:51:48,627 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 136 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 13:51:48,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:48,630 INFO L93 Difference]: Finished difference Result 136 states and 167 transitions. [2022-04-27 13:51:48,630 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-27 13:51:48,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:48,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:48,630 INFO L74 IsIncluded]: Start isIncluded. First operand has 136 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) Second operand 136 states. [2022-04-27 13:51:48,631 INFO L87 Difference]: Start difference. First operand has 136 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) Second operand 136 states. [2022-04-27 13:51:48,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:48,633 INFO L93 Difference]: Finished difference Result 136 states and 167 transitions. [2022-04-27 13:51:48,633 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-27 13:51:48,633 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:48,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:48,634 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:48,634 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:48,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 136 states, 82 states have (on average 1.1585365853658536) internal successors, (95), 86 states have internal predecessors, (95), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 32 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 13:51:48,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 167 transitions. [2022-04-27 13:51:48,636 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 167 transitions. Word has length 123 [2022-04-27 13:51:48,636 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:48,637 INFO L495 AbstractCegarLoop]: Abstraction has 136 states and 167 transitions. [2022-04-27 13:51:48,637 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 5.222222222222222) internal successors, (47), 9 states have internal predecessors, (47), 9 states have call successors, (38), 2 states have call predecessors, (38), 2 states have return successors, (36), 9 states have call predecessors, (36), 9 states have call successors, (36) [2022-04-27 13:51:48,637 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 167 transitions. [2022-04-27 13:51:48,639 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 125 [2022-04-27 13:51:48,639 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:48,639 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:51:48,669 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-27 13:51:48,855 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:48,856 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:48,856 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:48,856 INFO L85 PathProgramCache]: Analyzing trace with hash -238794489, now seen corresponding path program 3 times [2022-04-27 13:51:48,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:48,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1061648642] [2022-04-27 13:51:48,856 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:48,856 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:48,867 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:48,867 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2144331411] [2022-04-27 13:51:48,867 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:51:48,867 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:48,868 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:48,868 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-27 13:51:48,871 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-27 13:51:48,938 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:51:48,938 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:51:48,939 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-27 13:51:48,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:48,958 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:55,659 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:52:03,922 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:52:12,243 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:52:12,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {9489#true} call ULTIMATE.init(); {9489#true} is VALID [2022-04-27 13:52:12,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {9489#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(8, 2);call #Ultimate.allocInit(12, 3); {9489#true} is VALID [2022-04-27 13:52:12,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,627 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9489#true} {9489#true} #94#return; {9489#true} is VALID [2022-04-27 13:52:12,627 INFO L272 TraceCheckUtils]: 4: Hoare triple {9489#true} call #t~ret5 := main(); {9489#true} is VALID [2022-04-27 13:52:12,627 INFO L290 TraceCheckUtils]: 5: Hoare triple {9489#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {9489#true} is VALID [2022-04-27 13:52:12,627 INFO L272 TraceCheckUtils]: 6: Hoare triple {9489#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,627 INFO L290 TraceCheckUtils]: 7: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,627 INFO L290 TraceCheckUtils]: 8: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,627 INFO L290 TraceCheckUtils]: 9: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,627 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9489#true} {9489#true} #78#return; {9489#true} is VALID [2022-04-27 13:52:12,628 INFO L290 TraceCheckUtils]: 11: Hoare triple {9489#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,628 INFO L290 TraceCheckUtils]: 12: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,628 INFO L272 TraceCheckUtils]: 13: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,628 INFO L290 TraceCheckUtils]: 14: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,628 INFO L290 TraceCheckUtils]: 15: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,628 INFO L290 TraceCheckUtils]: 16: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,629 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #80#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,629 INFO L272 TraceCheckUtils]: 18: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,629 INFO L290 TraceCheckUtils]: 19: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,629 INFO L290 TraceCheckUtils]: 21: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,630 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #82#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,630 INFO L272 TraceCheckUtils]: 23: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,630 INFO L290 TraceCheckUtils]: 24: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,631 INFO L290 TraceCheckUtils]: 25: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,631 INFO L290 TraceCheckUtils]: 26: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,631 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #84#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,631 INFO L290 TraceCheckUtils]: 28: Hoare triple {9527#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,631 INFO L290 TraceCheckUtils]: 29: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,632 INFO L272 TraceCheckUtils]: 30: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,632 INFO L290 TraceCheckUtils]: 31: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,632 INFO L290 TraceCheckUtils]: 32: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,632 INFO L290 TraceCheckUtils]: 33: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,632 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #80#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,632 INFO L272 TraceCheckUtils]: 35: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,632 INFO L290 TraceCheckUtils]: 36: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,632 INFO L290 TraceCheckUtils]: 37: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,632 INFO L290 TraceCheckUtils]: 38: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,633 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #82#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,633 INFO L272 TraceCheckUtils]: 40: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,633 INFO L290 TraceCheckUtils]: 41: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,633 INFO L290 TraceCheckUtils]: 42: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,633 INFO L290 TraceCheckUtils]: 43: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,633 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #84#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,634 INFO L290 TraceCheckUtils]: 45: Hoare triple {9527#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,634 INFO L290 TraceCheckUtils]: 46: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,634 INFO L272 TraceCheckUtils]: 47: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,634 INFO L290 TraceCheckUtils]: 48: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,634 INFO L290 TraceCheckUtils]: 49: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,634 INFO L290 TraceCheckUtils]: 50: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,634 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #80#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,634 INFO L272 TraceCheckUtils]: 52: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,635 INFO L290 TraceCheckUtils]: 53: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,635 INFO L290 TraceCheckUtils]: 54: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,635 INFO L290 TraceCheckUtils]: 55: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,635 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #82#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,635 INFO L272 TraceCheckUtils]: 57: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,635 INFO L290 TraceCheckUtils]: 58: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,635 INFO L290 TraceCheckUtils]: 59: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,635 INFO L290 TraceCheckUtils]: 60: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,638 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #84#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,639 INFO L290 TraceCheckUtils]: 62: Hoare triple {9527#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,639 INFO L290 TraceCheckUtils]: 63: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,639 INFO L272 TraceCheckUtils]: 64: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,639 INFO L290 TraceCheckUtils]: 65: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,639 INFO L290 TraceCheckUtils]: 66: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,639 INFO L290 TraceCheckUtils]: 67: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,640 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #80#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,640 INFO L272 TraceCheckUtils]: 69: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,640 INFO L290 TraceCheckUtils]: 70: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,640 INFO L290 TraceCheckUtils]: 71: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,640 INFO L290 TraceCheckUtils]: 72: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,640 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #82#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,640 INFO L272 TraceCheckUtils]: 74: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,640 INFO L290 TraceCheckUtils]: 75: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,640 INFO L290 TraceCheckUtils]: 76: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,640 INFO L290 TraceCheckUtils]: 77: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,641 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #84#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,641 INFO L290 TraceCheckUtils]: 79: Hoare triple {9527#(= main_~B~0 1)} assume !(~r~0 >= ~d~0); {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,641 INFO L290 TraceCheckUtils]: 80: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,641 INFO L272 TraceCheckUtils]: 81: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,641 INFO L290 TraceCheckUtils]: 82: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,642 INFO L290 TraceCheckUtils]: 83: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,642 INFO L290 TraceCheckUtils]: 84: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,642 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #86#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,642 INFO L272 TraceCheckUtils]: 86: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,642 INFO L290 TraceCheckUtils]: 87: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,642 INFO L290 TraceCheckUtils]: 88: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,642 INFO L290 TraceCheckUtils]: 89: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,652 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #88#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,652 INFO L290 TraceCheckUtils]: 91: Hoare triple {9527#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,652 INFO L290 TraceCheckUtils]: 92: Hoare triple {9527#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,653 INFO L290 TraceCheckUtils]: 93: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,653 INFO L272 TraceCheckUtils]: 94: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,653 INFO L290 TraceCheckUtils]: 95: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,653 INFO L290 TraceCheckUtils]: 96: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,653 INFO L290 TraceCheckUtils]: 97: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,653 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #86#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,653 INFO L272 TraceCheckUtils]: 99: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,653 INFO L290 TraceCheckUtils]: 100: Hoare triple {9489#true} ~cond := #in~cond; {9489#true} is VALID [2022-04-27 13:52:12,653 INFO L290 TraceCheckUtils]: 101: Hoare triple {9489#true} assume !(0 == ~cond); {9489#true} is VALID [2022-04-27 13:52:12,654 INFO L290 TraceCheckUtils]: 102: Hoare triple {9489#true} assume true; {9489#true} is VALID [2022-04-27 13:52:12,654 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {9489#true} {9527#(= main_~B~0 1)} #88#return; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,654 INFO L290 TraceCheckUtils]: 104: Hoare triple {9527#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,654 INFO L290 TraceCheckUtils]: 105: Hoare triple {9527#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,655 INFO L290 TraceCheckUtils]: 106: Hoare triple {9527#(= main_~B~0 1)} assume !false; {9527#(= main_~B~0 1)} is VALID [2022-04-27 13:52:12,655 INFO L272 TraceCheckUtils]: 107: Hoare triple {9527#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,655 INFO L290 TraceCheckUtils]: 108: Hoare triple {9489#true} ~cond := #in~cond; {9819#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:52:12,655 INFO L290 TraceCheckUtils]: 109: Hoare triple {9819#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:52:12,656 INFO L290 TraceCheckUtils]: 110: Hoare triple {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:52:12,656 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} {9527#(= main_~B~0 1)} #86#return; {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:52:12,656 INFO L272 TraceCheckUtils]: 112: Hoare triple {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9489#true} is VALID [2022-04-27 13:52:12,657 INFO L290 TraceCheckUtils]: 113: Hoare triple {9489#true} ~cond := #in~cond; {9819#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:52:12,657 INFO L290 TraceCheckUtils]: 114: Hoare triple {9819#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:52:12,657 INFO L290 TraceCheckUtils]: 115: Hoare triple {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:52:12,658 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {9823#(not (= |__VERIFIER_assert_#in~cond| 0))} {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} #88#return; {9846#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:52:12,659 INFO L290 TraceCheckUtils]: 117: Hoare triple {9846#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9846#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:52:12,660 INFO L290 TraceCheckUtils]: 118: Hoare triple {9846#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:52:12,661 INFO L290 TraceCheckUtils]: 119: Hoare triple {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} assume !false; {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} is VALID [2022-04-27 13:52:12,661 INFO L272 TraceCheckUtils]: 120: Hoare triple {9830#(and (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9859#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:52:12,661 INFO L290 TraceCheckUtils]: 121: Hoare triple {9859#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9863#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:52:12,662 INFO L290 TraceCheckUtils]: 122: Hoare triple {9863#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9490#false} is VALID [2022-04-27 13:52:12,662 INFO L290 TraceCheckUtils]: 123: Hoare triple {9490#false} assume !false; {9490#false} is VALID [2022-04-27 13:52:12,662 INFO L134 CoverageAnalysis]: Checked inductivity of 699 backedges. 142 proven. 2 refuted. 0 times theorem prover too weak. 555 trivial. 0 not checked. [2022-04-27 13:52:12,662 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:54:08,208 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:54:08,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1061648642] [2022-04-27 13:54:08,208 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:54:08,209 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2144331411] [2022-04-27 13:54:08,209 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2144331411] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:54:08,209 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:54:08,209 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-27 13:54:08,209 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1073124585] [2022-04-27 13:54:08,209 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:54:08,209 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 124 [2022-04-27 13:54:08,209 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:54:08,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:54:08,255 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-27 13:54:08,255 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:54:08,255 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:54:08,256 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:54:08,256 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:54:08,256 INFO L87 Difference]: Start difference. First operand 136 states and 167 transitions. Second operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:54:08,624 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:54:08,624 INFO L93 Difference]: Finished difference Result 142 states and 172 transitions. [2022-04-27 13:54:08,624 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:54:08,625 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 124 [2022-04-27 13:54:08,625 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:54:08,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:54:08,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2022-04-27 13:54:08,626 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:54:08,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2022-04-27 13:54:08,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 43 transitions. [2022-04-27 13:54:08,666 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:54:08,673 INFO L225 Difference]: With dead ends: 142 [2022-04-27 13:54:08,674 INFO L226 Difference]: Without dead ends: 138 [2022-04-27 13:54:08,674 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 117 SyntacticMatches, 3 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:54:08,674 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 18 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 119 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 113 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 119 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:54:08,674 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 113 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 119 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:54:08,675 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-04-27 13:54:08,733 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 118. [2022-04-27 13:54:08,733 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:54:08,733 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 118 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 73 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 15 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-27 13:54:08,734 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 118 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 73 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 15 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-27 13:54:08,734 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 118 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 73 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 15 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-27 13:54:08,736 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:54:08,736 INFO L93 Difference]: Finished difference Result 138 states and 168 transitions. [2022-04-27 13:54:08,736 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 168 transitions. [2022-04-27 13:54:08,737 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:54:08,737 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:54:08,737 INFO L74 IsIncluded]: Start isIncluded. First operand has 118 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 73 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 15 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) Second operand 138 states. [2022-04-27 13:54:08,737 INFO L87 Difference]: Start difference. First operand has 118 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 73 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 15 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) Second operand 138 states. [2022-04-27 13:54:08,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:54:08,739 INFO L93 Difference]: Finished difference Result 138 states and 168 transitions. [2022-04-27 13:54:08,740 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 168 transitions. [2022-04-27 13:54:08,740 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:54:08,740 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:54:08,740 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:54:08,740 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:54:08,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 118 states, 73 states have (on average 1.1095890410958904) internal successors, (81), 73 states have internal predecessors, (81), 29 states have call successors, (29), 17 states have call predecessors, (29), 15 states have return successors, (27), 27 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-27 13:54:08,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 137 transitions. [2022-04-27 13:54:08,742 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 137 transitions. Word has length 124 [2022-04-27 13:54:08,742 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:54:08,742 INFO L495 AbstractCegarLoop]: Abstraction has 118 states and 137 transitions. [2022-04-27 13:54:08,742 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 8 states have internal predecessors, (25), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-27 13:54:08,743 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 137 transitions. [2022-04-27 13:54:08,743 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 128 [2022-04-27 13:54:08,743 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:54:08,743 INFO L195 NwaCegarLoop]: trace histogram [20, 19, 19, 4, 4, 4, 4, 4, 4, 4, 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] [2022-04-27 13:54:08,762 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-27 13:54:08,951 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,SelfDestructingSolverStorable12 [2022-04-27 13:54:08,952 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:54:08,952 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:54:08,952 INFO L85 PathProgramCache]: Analyzing trace with hash -1341863176, now seen corresponding path program 3 times [2022-04-27 13:54:08,952 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:54:08,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [716951356] [2022-04-27 13:54:08,952 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:54:08,952 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:54:08,961 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:54:08,961 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1092848645] [2022-04-27 13:54:08,961 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:54:08,961 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:54:08,962 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:54:08,962 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-27 13:54:08,963 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-27 13:54:09,005 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:54:09,005 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:54:09,006 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:54:09,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:54:09,023 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:54:09,318 INFO L272 TraceCheckUtils]: 0: Hoare triple {10546#true} call ULTIMATE.init(); {10546#true} is VALID [2022-04-27 13:54:09,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {10546#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(8, 2);call #Ultimate.allocInit(12, 3); {10546#true} is VALID [2022-04-27 13:54:09,319 INFO L290 TraceCheckUtils]: 2: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,319 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10546#true} {10546#true} #94#return; {10546#true} is VALID [2022-04-27 13:54:09,319 INFO L272 TraceCheckUtils]: 4: Hoare triple {10546#true} call #t~ret5 := main(); {10546#true} is VALID [2022-04-27 13:54:09,319 INFO L290 TraceCheckUtils]: 5: Hoare triple {10546#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {10546#true} is VALID [2022-04-27 13:54:09,319 INFO L272 TraceCheckUtils]: 6: Hoare triple {10546#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,319 INFO L290 TraceCheckUtils]: 7: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,319 INFO L290 TraceCheckUtils]: 8: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,319 INFO L290 TraceCheckUtils]: 9: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,319 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10546#true} {10546#true} #78#return; {10546#true} is VALID [2022-04-27 13:54:09,319 INFO L290 TraceCheckUtils]: 11: Hoare triple {10546#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,320 INFO L290 TraceCheckUtils]: 12: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,320 INFO L272 TraceCheckUtils]: 13: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,320 INFO L290 TraceCheckUtils]: 14: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,320 INFO L290 TraceCheckUtils]: 15: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,320 INFO L290 TraceCheckUtils]: 16: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,320 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #80#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,320 INFO L272 TraceCheckUtils]: 18: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,320 INFO L290 TraceCheckUtils]: 19: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,320 INFO L290 TraceCheckUtils]: 20: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,321 INFO L290 TraceCheckUtils]: 21: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,321 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #82#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,321 INFO L272 TraceCheckUtils]: 23: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,321 INFO L290 TraceCheckUtils]: 24: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,321 INFO L290 TraceCheckUtils]: 25: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,321 INFO L290 TraceCheckUtils]: 26: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,322 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #84#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,322 INFO L290 TraceCheckUtils]: 28: Hoare triple {10584#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,322 INFO L290 TraceCheckUtils]: 29: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,322 INFO L272 TraceCheckUtils]: 30: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,322 INFO L290 TraceCheckUtils]: 31: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,322 INFO L290 TraceCheckUtils]: 32: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,322 INFO L290 TraceCheckUtils]: 33: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,323 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #80#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,323 INFO L272 TraceCheckUtils]: 35: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,323 INFO L290 TraceCheckUtils]: 36: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,323 INFO L290 TraceCheckUtils]: 37: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,323 INFO L290 TraceCheckUtils]: 38: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,323 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #82#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,323 INFO L272 TraceCheckUtils]: 40: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,323 INFO L290 TraceCheckUtils]: 41: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,323 INFO L290 TraceCheckUtils]: 42: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,324 INFO L290 TraceCheckUtils]: 43: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,324 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #84#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,324 INFO L290 TraceCheckUtils]: 45: Hoare triple {10584#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,324 INFO L290 TraceCheckUtils]: 46: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,324 INFO L272 TraceCheckUtils]: 47: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,325 INFO L290 TraceCheckUtils]: 48: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,325 INFO L290 TraceCheckUtils]: 49: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,325 INFO L290 TraceCheckUtils]: 50: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,325 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #80#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,325 INFO L272 TraceCheckUtils]: 52: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,325 INFO L290 TraceCheckUtils]: 53: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,325 INFO L290 TraceCheckUtils]: 54: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,325 INFO L290 TraceCheckUtils]: 55: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,326 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #82#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,326 INFO L272 TraceCheckUtils]: 57: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,326 INFO L290 TraceCheckUtils]: 58: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,326 INFO L290 TraceCheckUtils]: 59: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,326 INFO L290 TraceCheckUtils]: 60: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,326 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #84#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,327 INFO L290 TraceCheckUtils]: 62: Hoare triple {10584#(= main_~B~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,327 INFO L290 TraceCheckUtils]: 63: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,327 INFO L272 TraceCheckUtils]: 64: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,327 INFO L290 TraceCheckUtils]: 65: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,327 INFO L290 TraceCheckUtils]: 66: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,327 INFO L290 TraceCheckUtils]: 67: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,328 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #80#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,328 INFO L272 TraceCheckUtils]: 69: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,328 INFO L290 TraceCheckUtils]: 70: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,328 INFO L290 TraceCheckUtils]: 71: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,328 INFO L290 TraceCheckUtils]: 72: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,328 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #82#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,328 INFO L272 TraceCheckUtils]: 74: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,328 INFO L290 TraceCheckUtils]: 75: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,328 INFO L290 TraceCheckUtils]: 76: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,328 INFO L290 TraceCheckUtils]: 77: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,329 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #84#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,329 INFO L290 TraceCheckUtils]: 79: Hoare triple {10584#(= main_~B~0 1)} assume !(~r~0 >= ~d~0); {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,329 INFO L290 TraceCheckUtils]: 80: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,329 INFO L272 TraceCheckUtils]: 81: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,330 INFO L290 TraceCheckUtils]: 82: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,330 INFO L290 TraceCheckUtils]: 83: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,330 INFO L290 TraceCheckUtils]: 84: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,330 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #86#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,330 INFO L272 TraceCheckUtils]: 86: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,330 INFO L290 TraceCheckUtils]: 87: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,330 INFO L290 TraceCheckUtils]: 88: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,330 INFO L290 TraceCheckUtils]: 89: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,331 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #88#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,331 INFO L290 TraceCheckUtils]: 91: Hoare triple {10584#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,331 INFO L290 TraceCheckUtils]: 92: Hoare triple {10584#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,331 INFO L290 TraceCheckUtils]: 93: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,331 INFO L272 TraceCheckUtils]: 94: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,332 INFO L290 TraceCheckUtils]: 95: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,332 INFO L290 TraceCheckUtils]: 96: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,332 INFO L290 TraceCheckUtils]: 97: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,332 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #86#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,332 INFO L272 TraceCheckUtils]: 99: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,332 INFO L290 TraceCheckUtils]: 100: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,332 INFO L290 TraceCheckUtils]: 101: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,332 INFO L290 TraceCheckUtils]: 102: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,333 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #88#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,333 INFO L290 TraceCheckUtils]: 104: Hoare triple {10584#(= main_~B~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,333 INFO L290 TraceCheckUtils]: 105: Hoare triple {10584#(= main_~B~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,333 INFO L290 TraceCheckUtils]: 106: Hoare triple {10584#(= main_~B~0 1)} assume !false; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,334 INFO L272 TraceCheckUtils]: 107: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,334 INFO L290 TraceCheckUtils]: 108: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,334 INFO L290 TraceCheckUtils]: 109: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,334 INFO L290 TraceCheckUtils]: 110: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,334 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {10546#true} {10584#(= main_~B~0 1)} #86#return; {10584#(= main_~B~0 1)} is VALID [2022-04-27 13:54:09,334 INFO L272 TraceCheckUtils]: 112: Hoare triple {10584#(= main_~B~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,334 INFO L290 TraceCheckUtils]: 113: Hoare triple {10546#true} ~cond := #in~cond; {10891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:54:09,335 INFO L290 TraceCheckUtils]: 114: Hoare triple {10891#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:54:09,335 INFO L290 TraceCheckUtils]: 115: Hoare triple {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:54:09,336 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} {10584#(= main_~B~0 1)} #88#return; {10902#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} is VALID [2022-04-27 13:54:09,336 INFO L290 TraceCheckUtils]: 117: Hoare triple {10902#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~B~0 1))} assume !(1 != ~p~0); {10906#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:54:09,336 INFO L272 TraceCheckUtils]: 118: Hoare triple {10906#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:09,336 INFO L290 TraceCheckUtils]: 119: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:09,336 INFO L290 TraceCheckUtils]: 120: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:09,336 INFO L290 TraceCheckUtils]: 121: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:09,337 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {10546#true} {10906#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} #90#return; {10906#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:54:09,338 INFO L272 TraceCheckUtils]: 123: Hoare triple {10906#(and (= main_~B~0 1) (= main_~B~0 main_~d~0))} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {10925#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:54:09,338 INFO L290 TraceCheckUtils]: 124: Hoare triple {10925#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10929#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:54:09,338 INFO L290 TraceCheckUtils]: 125: Hoare triple {10929#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10547#false} is VALID [2022-04-27 13:54:09,338 INFO L290 TraceCheckUtils]: 126: Hoare triple {10547#false} assume !false; {10547#false} is VALID [2022-04-27 13:54:09,339 INFO L134 CoverageAnalysis]: Checked inductivity of 765 backedges. 90 proven. 4 refuted. 0 times theorem prover too weak. 671 trivial. 0 not checked. [2022-04-27 13:54:09,339 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:54:13,291 INFO L290 TraceCheckUtils]: 126: Hoare triple {10547#false} assume !false; {10547#false} is VALID [2022-04-27 13:54:13,292 INFO L290 TraceCheckUtils]: 125: Hoare triple {10929#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10547#false} is VALID [2022-04-27 13:54:13,292 INFO L290 TraceCheckUtils]: 124: Hoare triple {10925#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10929#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:54:13,292 INFO L272 TraceCheckUtils]: 123: Hoare triple {10945#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {10925#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:54:13,293 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {10546#true} {10945#(= main_~B~0 main_~d~0)} #90#return; {10945#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:54:13,293 INFO L290 TraceCheckUtils]: 121: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,293 INFO L290 TraceCheckUtils]: 120: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,293 INFO L290 TraceCheckUtils]: 119: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,293 INFO L272 TraceCheckUtils]: 118: Hoare triple {10945#(= main_~B~0 main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,293 INFO L290 TraceCheckUtils]: 117: Hoare triple {10964#(or (not (= main_~p~0 1)) (= main_~B~0 main_~d~0))} assume !(1 != ~p~0); {10945#(= main_~B~0 main_~d~0)} is VALID [2022-04-27 13:54:13,294 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} {10546#true} #88#return; {10964#(or (not (= main_~p~0 1)) (= main_~B~0 main_~d~0))} is VALID [2022-04-27 13:54:13,295 INFO L290 TraceCheckUtils]: 115: Hoare triple {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:54:13,295 INFO L290 TraceCheckUtils]: 114: Hoare triple {10977#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10895#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:54:13,295 INFO L290 TraceCheckUtils]: 113: Hoare triple {10546#true} ~cond := #in~cond; {10977#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:54:13,295 INFO L272 TraceCheckUtils]: 112: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,295 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {10546#true} {10546#true} #86#return; {10546#true} is VALID [2022-04-27 13:54:13,295 INFO L290 TraceCheckUtils]: 110: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,295 INFO L290 TraceCheckUtils]: 109: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,295 INFO L290 TraceCheckUtils]: 108: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L272 TraceCheckUtils]: 107: Hoare triple {10546#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L290 TraceCheckUtils]: 106: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L290 TraceCheckUtils]: 105: Hoare triple {10546#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L290 TraceCheckUtils]: 104: Hoare triple {10546#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {10546#true} {10546#true} #88#return; {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L290 TraceCheckUtils]: 102: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L290 TraceCheckUtils]: 101: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L290 TraceCheckUtils]: 100: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L272 TraceCheckUtils]: 99: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {10546#true} {10546#true} #86#return; {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L290 TraceCheckUtils]: 97: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L290 TraceCheckUtils]: 96: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L290 TraceCheckUtils]: 95: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L272 TraceCheckUtils]: 94: Hoare triple {10546#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L290 TraceCheckUtils]: 93: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L290 TraceCheckUtils]: 92: Hoare triple {10546#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L290 TraceCheckUtils]: 91: Hoare triple {10546#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10546#true} is VALID [2022-04-27 13:54:13,296 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {10546#true} {10546#true} #88#return; {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L290 TraceCheckUtils]: 89: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L290 TraceCheckUtils]: 88: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L290 TraceCheckUtils]: 87: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L272 TraceCheckUtils]: 86: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {10546#true} {10546#true} #86#return; {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L290 TraceCheckUtils]: 84: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L290 TraceCheckUtils]: 83: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L290 TraceCheckUtils]: 82: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L272 TraceCheckUtils]: 81: Hoare triple {10546#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L290 TraceCheckUtils]: 80: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L290 TraceCheckUtils]: 79: Hoare triple {10546#true} assume !(~r~0 >= ~d~0); {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {10546#true} {10546#true} #84#return; {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L290 TraceCheckUtils]: 77: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L290 TraceCheckUtils]: 76: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L290 TraceCheckUtils]: 75: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L272 TraceCheckUtils]: 74: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,297 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10546#true} {10546#true} #82#return; {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L290 TraceCheckUtils]: 72: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L290 TraceCheckUtils]: 71: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L290 TraceCheckUtils]: 70: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L272 TraceCheckUtils]: 69: Hoare triple {10546#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10546#true} {10546#true} #80#return; {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L290 TraceCheckUtils]: 67: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L290 TraceCheckUtils]: 66: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L290 TraceCheckUtils]: 65: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L272 TraceCheckUtils]: 64: Hoare triple {10546#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L290 TraceCheckUtils]: 63: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L290 TraceCheckUtils]: 62: Hoare triple {10546#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10546#true} {10546#true} #84#return; {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L290 TraceCheckUtils]: 60: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L290 TraceCheckUtils]: 59: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L290 TraceCheckUtils]: 58: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L272 TraceCheckUtils]: 57: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,298 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {10546#true} {10546#true} #82#return; {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L290 TraceCheckUtils]: 55: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L290 TraceCheckUtils]: 54: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L290 TraceCheckUtils]: 53: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L272 TraceCheckUtils]: 52: Hoare triple {10546#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {10546#true} {10546#true} #80#return; {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L290 TraceCheckUtils]: 50: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L290 TraceCheckUtils]: 49: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L290 TraceCheckUtils]: 48: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L272 TraceCheckUtils]: 47: Hoare triple {10546#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L290 TraceCheckUtils]: 46: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L290 TraceCheckUtils]: 45: Hoare triple {10546#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {10546#true} {10546#true} #84#return; {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L290 TraceCheckUtils]: 43: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L290 TraceCheckUtils]: 42: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L290 TraceCheckUtils]: 41: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L272 TraceCheckUtils]: 40: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,299 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {10546#true} {10546#true} #82#return; {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L290 TraceCheckUtils]: 38: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L290 TraceCheckUtils]: 37: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L290 TraceCheckUtils]: 36: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L272 TraceCheckUtils]: 35: Hoare triple {10546#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {10546#true} {10546#true} #80#return; {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L290 TraceCheckUtils]: 33: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L290 TraceCheckUtils]: 32: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L290 TraceCheckUtils]: 31: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L272 TraceCheckUtils]: 30: Hoare triple {10546#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L290 TraceCheckUtils]: 29: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L290 TraceCheckUtils]: 28: Hoare triple {10546#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {10546#true} {10546#true} #84#return; {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L290 TraceCheckUtils]: 26: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L290 TraceCheckUtils]: 25: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L290 TraceCheckUtils]: 24: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L272 TraceCheckUtils]: 23: Hoare triple {10546#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,300 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10546#true} {10546#true} #82#return; {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L290 TraceCheckUtils]: 21: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L290 TraceCheckUtils]: 20: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L290 TraceCheckUtils]: 19: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L272 TraceCheckUtils]: 18: Hoare triple {10546#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {10546#true} {10546#true} #80#return; {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L290 TraceCheckUtils]: 16: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L290 TraceCheckUtils]: 15: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L290 TraceCheckUtils]: 14: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L272 TraceCheckUtils]: 13: Hoare triple {10546#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L290 TraceCheckUtils]: 12: Hoare triple {10546#true} assume !false; {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L290 TraceCheckUtils]: 11: Hoare triple {10546#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10546#true} {10546#true} #78#return; {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L290 TraceCheckUtils]: 9: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L290 TraceCheckUtils]: 8: Hoare triple {10546#true} assume !(0 == ~cond); {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L290 TraceCheckUtils]: 7: Hoare triple {10546#true} ~cond := #in~cond; {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L272 TraceCheckUtils]: 6: Hoare triple {10546#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 10 then 1 else 0)); {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L290 TraceCheckUtils]: 5: Hoare triple {10546#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {10546#true} is VALID [2022-04-27 13:54:13,301 INFO L272 TraceCheckUtils]: 4: Hoare triple {10546#true} call #t~ret5 := main(); {10546#true} is VALID [2022-04-27 13:54:13,302 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10546#true} {10546#true} #94#return; {10546#true} is VALID [2022-04-27 13:54:13,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {10546#true} assume true; {10546#true} is VALID [2022-04-27 13:54:13,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {10546#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(8, 2);call #Ultimate.allocInit(12, 3); {10546#true} is VALID [2022-04-27 13:54:13,302 INFO L272 TraceCheckUtils]: 0: Hoare triple {10546#true} call ULTIMATE.init(); {10546#true} is VALID [2022-04-27 13:54:13,302 INFO L134 CoverageAnalysis]: Checked inductivity of 765 backedges. 90 proven. 4 refuted. 0 times theorem prover too weak. 671 trivial. 0 not checked. [2022-04-27 13:54:13,302 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:54:13,302 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [716951356] [2022-04-27 13:54:13,302 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:54:13,302 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1092848645] [2022-04-27 13:54:13,302 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1092848645] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:54:13,303 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:54:13,303 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-27 13:54:13,303 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [517398716] [2022-04-27 13:54:13,303 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:54:13,303 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) Word has length 127 [2022-04-27 13:54:13,304 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:54:13,304 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-27 13:54:13,347 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:54:13,347 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 13:54:13,348 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:54:13,348 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 13:54:13,348 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:54:13,348 INFO L87 Difference]: Start difference. First operand 118 states and 137 transitions. Second operand has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-27 13:54:13,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:54:13,810 INFO L93 Difference]: Finished difference Result 126 states and 143 transitions. [2022-04-27 13:54:13,810 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:54:13,810 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) Word has length 127 [2022-04-27 13:54:13,810 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:54:13,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-27 13:54:13,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 49 transitions. [2022-04-27 13:54:13,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-27 13:54:13,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 49 transitions. [2022-04-27 13:54:13,812 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 49 transitions. [2022-04-27 13:54:13,853 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-27 13:54:13,853 INFO L225 Difference]: With dead ends: 126 [2022-04-27 13:54:13,853 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 13:54:13,853 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 257 GetRequests, 243 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:54:13,854 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 23 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 160 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 185 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 160 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:54:13,854 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 132 Invalid, 185 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 160 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:54:13,854 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 13:54:13,854 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 13:54:13,854 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:54:13,855 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-27 13:54:13,855 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-27 13:54:13,855 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-27 13:54:13,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:54:13,855 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:54:13,855 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:54:13,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:54:13,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:54:13,855 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-27 13:54:13,855 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-27 13:54:13,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:54:13,855 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:54:13,855 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:54:13,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:54:13,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:54:13,855 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:54:13,855 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:54:13,856 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-27 13:54:13,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 13:54:13,856 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 127 [2022-04-27 13:54:13,856 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:54:13,856 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 13:54:13,856 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 3.3) internal successors, (33), 9 states have internal predecessors, (33), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (16), 6 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-27 13:54:13,856 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:54:13,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:54:13,858 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 13:54:13,877 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-27 13:54:14,059 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,SelfDestructingSolverStorable13 [2022-04-27 13:54:14,060 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 13:54:25,018 WARN L232 SmtUtils]: Spent 6.17s on a formula simplification. DAG size of input: 146 DAG size of output: 32 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-27 13:54:26,582 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-27 13:54:26,582 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-27 13:54:26,582 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-27 13:54:26,582 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-27 13:54:26,582 INFO L899 garLoopResultBuilder]: For program point L12(line 12) no Hoare annotation was computed. [2022-04-27 13:54:26,582 INFO L899 garLoopResultBuilder]: For program point L12-2(lines 11 13) no Hoare annotation was computed. [2022-04-27 13:54:26,582 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 11 13) no Hoare annotation was computed. [2022-04-27 13:54:26,582 INFO L895 garLoopResultBuilder]: At program point L58(line 58) the Hoare annotation is: (let ((.cse0 (= main_~B~0 main_~d~0))) (or (and (= main_~B~0 1) .cse0 (= main_~p~0 1)) (and (<= 1 main_~B~0) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= 1 main_~p~0) .cse0))) [2022-04-27 13:54:26,582 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 22 61) no Hoare annotation was computed. [2022-04-27 13:54:26,582 INFO L899 garLoopResultBuilder]: For program point L52(lines 52 55) no Hoare annotation was computed. [2022-04-27 13:54:26,582 INFO L899 garLoopResultBuilder]: For program point L52-2(lines 22 61) no Hoare annotation was computed. [2022-04-27 13:54:26,583 INFO L899 garLoopResultBuilder]: For program point L46(lines 44 56) no Hoare annotation was computed. [2022-04-27 13:54:26,583 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 22 61) no Hoare annotation was computed. [2022-04-27 13:54:26,583 INFO L895 garLoopResultBuilder]: At program point L44-1(lines 44 56) the Hoare annotation is: (and (<= 1 main_~B~0) (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= 1 main_~p~0) (= main_~B~0 main_~d~0)) [2022-04-27 13:54:26,583 INFO L895 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (let ((.cse3 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ .cse3 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2) (and (<= 1 (div (div main_~p~0 2) 2)) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse3 main_~r~0)) .cse0 .cse1 .cse2)))) [2022-04-27 13:54:26,583 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 42) the Hoare annotation is: (let ((.cse3 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ .cse3 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2) (and (<= 1 (div (div main_~p~0 2) 2)) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse3 main_~r~0)) .cse0 .cse1 .cse2)))) [2022-04-27 13:54:26,583 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 22 61) the Hoare annotation is: true [2022-04-27 13:54:26,583 INFO L899 garLoopResultBuilder]: For program point L59(line 59) no Hoare annotation was computed. [2022-04-27 13:54:26,583 INFO L902 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-27 13:54:26,583 INFO L899 garLoopResultBuilder]: For program point L26-1(line 26) no Hoare annotation was computed. [2022-04-27 13:54:26,583 INFO L895 garLoopResultBuilder]: At program point L45(line 45) the Hoare annotation is: (and (= (* main_~B~0 main_~p~0) main_~d~0) (<= 1 main_~p~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)) [2022-04-27 13:54:26,583 INFO L895 garLoopResultBuilder]: At program point L45-1(line 45) the Hoare annotation is: (let ((.cse1 (* main_~B~0 main_~q~0))) (let ((.cse0 (div main_~p~0 2)) (.cse2 (= (+ .cse1 main_~r~0) main_~A~0))) (or (and (<= 1 .cse0) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse1 main_~r~0)) (= main_~B~0 1) .cse2) (and (= (let ((.cse3 (div main_~d~0 2))) (+ (div .cse3 2) main_~A~0 .cse3)) (+ .cse1 main_~r~0 (* main_~B~0 (div .cse0 2)) (* main_~B~0 .cse0))) (<= 1 main_~B~0) .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1))))) [2022-04-27 13:54:26,583 INFO L899 garLoopResultBuilder]: For program point L37(lines 34 42) no Hoare annotation was computed. [2022-04-27 13:54:26,583 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse3 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ .cse3 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2) (and (<= 1 (div (div main_~p~0 2) 2)) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse3 main_~r~0)) .cse0 .cse1 .cse2)))) [2022-04-27 13:54:26,583 INFO L895 garLoopResultBuilder]: At program point L35-1(line 35) the Hoare annotation is: (let ((.cse3 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~q~0 0)) (.cse1 (= main_~B~0 1)) (.cse2 (= (+ .cse3 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse0 .cse1 .cse2) (and (<= 1 (div (div main_~p~0 2) 2)) (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse3 main_~r~0)) .cse0 .cse1 .cse2)))) [2022-04-27 13:54:26,583 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:54:26,584 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-27 13:54:26,584 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:54:26,584 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:54:26,584 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 13:54:26,584 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 13:54:26,584 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:54:26,584 INFO L899 garLoopResultBuilder]: For program point L16(lines 16 17) no Hoare annotation was computed. [2022-04-27 13:54:26,584 INFO L899 garLoopResultBuilder]: For program point L15(lines 15 18) no Hoare annotation was computed. [2022-04-27 13:54:26,584 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-27 13:54:26,584 INFO L899 garLoopResultBuilder]: For program point L15-2(lines 14 20) no Hoare annotation was computed. [2022-04-27 13:54:26,584 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 14 20) no Hoare annotation was computed. [2022-04-27 13:54:26,584 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) no Hoare annotation was computed. [2022-04-27 13:54:26,586 INFO L356 BasicCegarLoop]: Path program histogram: [3, 3, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:54:26,588 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 13:54:26,590 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 13:54:26,590 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:54:26,591 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:54:26,591 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:54:26,591 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 13:54:26,591 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:54:26,591 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: L15-2 has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:54:26,592 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:54:26,593 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:54:26,593 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 13:54:26,594 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 13:54:26,594 INFO L163 areAnnotationChecker]: CFG has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 13:54:26,602 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 01:54:26 BoogieIcfgContainer [2022-04-27 13:54:26,602 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 13:54:26,603 INFO L158 Benchmark]: Toolchain (without parser) took 261092.59ms. Allocated memory was 181.4MB in the beginning and 250.6MB in the end (delta: 69.2MB). Free memory was 124.1MB in the beginning and 183.9MB in the end (delta: -59.8MB). Peak memory consumption was 120.8MB. Max. memory is 8.0GB. [2022-04-27 13:54:26,603 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 181.4MB. Free memory is still 140.8MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 13:54:26,603 INFO L158 Benchmark]: CACSL2BoogieTranslator took 179.75ms. Allocated memory is still 181.4MB. Free memory was 123.9MB in the beginning and 151.8MB in the end (delta: -27.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-27 13:54:26,603 INFO L158 Benchmark]: Boogie Preprocessor took 38.67ms. Allocated memory is still 181.4MB. Free memory was 151.8MB in the beginning and 150.3MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-27 13:54:26,604 INFO L158 Benchmark]: RCFGBuilder took 317.26ms. Allocated memory is still 181.4MB. Free memory was 150.3MB in the beginning and 139.0MB in the end (delta: 11.2MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-27 13:54:26,604 INFO L158 Benchmark]: TraceAbstraction took 260550.16ms. Allocated memory was 181.4MB in the beginning and 250.6MB in the end (delta: 69.2MB). Free memory was 138.5MB in the beginning and 183.9MB in the end (delta: -45.4MB). Peak memory consumption was 135.5MB. Max. memory is 8.0GB. [2022-04-27 13:54:26,606 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.09ms. Allocated memory is still 181.4MB. Free memory is still 140.8MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 179.75ms. Allocated memory is still 181.4MB. Free memory was 123.9MB in the beginning and 151.8MB in the end (delta: -27.9MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 38.67ms. Allocated memory is still 181.4MB. Free memory was 151.8MB in the beginning and 150.3MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 317.26ms. Allocated memory is still 181.4MB. Free memory was 150.3MB in the beginning and 139.0MB in the end (delta: 11.2MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 260550.16ms. Allocated memory was 181.4MB in the beginning and 250.6MB in the end (delta: 69.2MB). Free memory was 138.5MB in the beginning and 183.9MB in the end (delta: -45.4MB). Peak memory consumption was 135.5MB. 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: 17]: 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, 38 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 260.5s, OverallIterations: 14, TraceHistogramMax: 20, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 52.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 12.5s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 3 mSolverCounterUnknown, 409 SdHoareTripleChecker+Valid, 15.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 338 mSDsluCounter, 2037 SdHoareTripleChecker+Invalid, 15.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1469 mSDsCounter, 442 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2467 IncrementalHoareTripleChecker+Invalid, 2912 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 442 mSolverCounterUnsat, 568 mSDtfsCounter, 2467 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1596 GetRequests, 1452 SyntacticMatches, 22 SemanticMatches, 122 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 27.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=174occurred in iteration=11, InterpolantAutomatonStates: 100, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.6s AutomataMinimizationTime, 14 MinimizatonAttempts, 75 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 15 LocationsWithAnnotation, 128 PreInvPairs, 188 NumberOfFragments, 455 HoareAnnotationTreeSize, 128 FomulaSimplifications, 522 FormulaSimplificationTreeSizeReduction, 0.9s HoareSimplificationTime, 15 FomulaSimplificationsInter, 13266 FormulaSimplificationTreeSizeReductionInter, 11.6s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 190.0s InterpolantComputationTime, 962 NumberOfCodeBlocks, 840 NumberOfCodeBlocksAsserted, 22 NumberOfCheckSat, 1578 ConstructedInterpolants, 0 QuantifiedInterpolants, 15993 SizeOfPredicates, 26 NumberOfNonLiveVariables, 1954 ConjunctsInSsa, 196 ConjunctsInUnsatCore, 21 InterpolantComputations, 7 PerfectInterpolantSequences, 6338/6540 InterpolantCoveringCapability, 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: (((((q == 0 && B == 1) && B * q + r == A) && B == d) && p == 1) || ((((B * 2 == d && p == 2) && q == 0) && B == 1) && B * q + r == A)) || ((((1 <= p / 2 / 2 && A + d == B * p + B * q + r) && q == 0) && B == 1) && B * q + r == A) RESULT: Ultimate proved your program to be correct! [2022-04-27 13:54:26,677 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...