/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_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:51:42,920 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:51:42,922 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:51:42,972 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:51:42,972 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:51:42,973 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:51:42,976 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:51:42,977 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:51:42,978 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:51:42,979 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:51:42,980 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:51:42,980 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:51:42,981 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:51:42,981 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:51:42,982 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:51:42,983 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:51:42,983 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:51:42,984 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:51:42,985 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:51:42,987 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:51:42,996 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:51:43,003 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:51:43,005 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:51:43,006 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:51:43,009 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:51:43,020 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:51:43,020 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:51:43,020 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:51:43,021 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:51:43,021 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:51:43,022 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:51:43,022 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:51:43,024 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:51:43,024 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:51:43,025 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:51:43,025 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:51:43,025 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:51:43,026 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:51:43,026 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:51:43,026 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:51:43,027 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:51:43,029 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:51:43,029 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:51:43,059 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:51:43,059 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:51:43,060 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:51:43,060 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:51:43,061 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:51:43,061 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:51:43,061 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:51:43,061 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:51:43,061 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:51:43,062 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:51:43,062 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:51:43,062 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:51:43,062 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:51:43,062 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:51:43,063 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:51:43,063 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:51:43,063 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:51:43,064 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:51:43,064 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:51:43,064 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:51:43,064 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:51:43,064 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:51:43,064 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:51:43,064 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:51:43,064 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:51:43,065 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:51:43,065 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:51:43,065 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:51:43,065 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:51:43,065 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:51:43,065 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:51:43,065 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:51:43,065 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:51:43,066 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:51:43,255 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:51:43,278 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:51:43,280 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:51:43,281 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:51:43,282 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:51:43,283 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound2.c [2022-04-27 13:51:43,351 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/500ec86e7/ba6c6bf3bd324a37a35659cd72db1ab5/FLAG0d0006516 [2022-04-27 13:51:43,820 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:51:43,821 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound2.c [2022-04-27 13:51:43,829 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/500ec86e7/ba6c6bf3bd324a37a35659cd72db1ab5/FLAG0d0006516 [2022-04-27 13:51:43,849 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/500ec86e7/ba6c6bf3bd324a37a35659cd72db1ab5 [2022-04-27 13:51:43,851 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:51:43,854 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:51:43,856 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:51:43,857 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:51:43,860 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:51:43,861 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:51:43" (1/1) ... [2022-04-27 13:51:43,862 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@58f1beab and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:43, skipping insertion in model container [2022-04-27 13:51:43,862 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:51:43" (1/1) ... [2022-04-27 13:51:43,869 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:51:43,883 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:51:44,046 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_valuebound2.c[526,539] [2022-04-27 13:51:44,070 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:51:44,090 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:51:44,106 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_valuebound2.c[526,539] [2022-04-27 13:51:44,126 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:51:44,139 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:51:44,139 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:44 WrapperNode [2022-04-27 13:51:44,139 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:51:44,140 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:51:44,140 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:51:44,140 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:51:44,149 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:44" (1/1) ... [2022-04-27 13:51:44,149 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:44" (1/1) ... [2022-04-27 13:51:44,155 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:44" (1/1) ... [2022-04-27 13:51:44,156 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:44" (1/1) ... [2022-04-27 13:51:44,170 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:44" (1/1) ... [2022-04-27 13:51:44,176 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:44" (1/1) ... [2022-04-27 13:51:44,181 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:44" (1/1) ... [2022-04-27 13:51:44,183 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:51:44,184 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:51:44,184 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:51:44,184 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:51:44,185 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:44" (1/1) ... [2022-04-27 13:51:44,192 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:51:44,201 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:44,225 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:51:44,247 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:51:44,267 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:51:44,267 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:51:44,267 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:51:44,268 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:51:44,270 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:51:44,270 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:51:44,270 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:51:44,270 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:51:44,270 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:51:44,270 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:51:44,270 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 13:51:44,270 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:51:44,270 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:51:44,271 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:51:44,271 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:51:44,271 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:51:44,271 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:51:44,271 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:51:44,271 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:51:44,271 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:51:44,330 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:51:44,331 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:51:44,498 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:51:44,504 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:51:44,504 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:51:44,505 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:51:44 BoogieIcfgContainer [2022-04-27 13:51:44,505 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:51:44,507 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:51:44,507 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:51:44,510 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:51:44,510 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:51:43" (1/3) ... [2022-04-27 13:51:44,511 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57e9acf9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:51:44, skipping insertion in model container [2022-04-27 13:51:44,511 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:51:44" (2/3) ... [2022-04-27 13:51:44,511 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@57e9acf9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:51:44, skipping insertion in model container [2022-04-27 13:51:44,511 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:51:44" (3/3) ... [2022-04-27 13:51:44,512 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_valuebound2.c [2022-04-27 13:51:44,542 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:51:44,543 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:51:44,595 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:51:44,610 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@57568535, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@4595cd21 [2022-04-27 13:51:44,611 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:51:44,618 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:51:44,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 13:51:44,624 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:44,624 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:51:44,625 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:44,630 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:44,631 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 1 times [2022-04-27 13:51:44,639 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:44,641 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1091358006] [2022-04-27 13:51:44,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:44,642 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:44,748 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:44,817 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:51:44,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:44,846 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:51:44,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-27 13:51:44,848 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-27 13:51:44,848 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:51:44,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:44,858 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 13:51:44,859 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 13:51:44,859 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 13:51:44,860 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-27 13:51:44,862 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:51:44,862 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:51:44,862 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-27 13:51:44,862 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-27 13:51:44,862 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret5 := main(); {38#true} is VALID [2022-04-27 13:51:44,863 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:51:44,863 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {38#true} is VALID [2022-04-27 13:51:44,863 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 13:51:44,864 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 13:51:44,864 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 13:51:44,864 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-27 13:51:44,864 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:51:44,865 INFO L290 TraceCheckUtils]: 12: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-27 13:51:44,865 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:51:44,866 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-27 13:51:44,866 INFO L290 TraceCheckUtils]: 15: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-27 13:51:44,867 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-27 13:51:44,867 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:51:44,867 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:44,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1091358006] [2022-04-27 13:51:44,868 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1091358006] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:51:44,868 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:51:44,869 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:51:44,872 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [115025742] [2022-04-27 13:51:44,872 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:51:44,878 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:51:44,879 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:44,883 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:51:44,917 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:51:44,918 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:51:44,918 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:44,940 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:51:44,941 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:51:44,944 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:51:45,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:45,173 INFO L93 Difference]: Finished difference Result 61 states and 95 transitions. [2022-04-27 13:51:45,173 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:51:45,173 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:51:45,174 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:45,175 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:51:45,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-27 13:51:45,187 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:51:45,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-27 13:51:45,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 95 transitions. [2022-04-27 13:51:45,348 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:51:45,355 INFO L225 Difference]: With dead ends: 61 [2022-04-27 13:51:45,377 INFO L226 Difference]: Without dead ends: 30 [2022-04-27 13:51:45,381 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:51:45,383 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:45,384 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.1s Time] [2022-04-27 13:51:45,397 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-27 13:51:45,409 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-27 13:51:45,409 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:45,410 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:51:45,411 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:51:45,411 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:51:45,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:45,416 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-27 13:51:45,416 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 13:51:45,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:45,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:45,417 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:51:45,418 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:51:45,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:45,421 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-27 13:51:45,421 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 13:51:45,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:45,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:45,422 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:45,422 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:45,423 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:51:45,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-27 13:51:45,427 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 17 [2022-04-27 13:51:45,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:45,427 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-27 13:51:45,428 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:51:45,428 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 13:51:45,428 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 13:51:45,428 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:45,428 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:51:45,429 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:51:45,429 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:45,429 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:45,430 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 1 times [2022-04-27 13:51:45,430 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:45,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [487428257] [2022-04-27 13:51:45,431 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:45,431 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:45,469 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:45,539 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:51:45,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:45,562 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:51:45,562 INFO L290 TraceCheckUtils]: 1: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:51:45,563 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {240#true} {240#true} #94#return; {240#true} is VALID [2022-04-27 13:51:45,563 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:51:45,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:45,579 INFO L290 TraceCheckUtils]: 0: Hoare triple {240#true} ~cond := #in~cond; {240#true} is VALID [2022-04-27 13:51:45,579 INFO L290 TraceCheckUtils]: 1: Hoare triple {240#true} assume !(0 == ~cond); {240#true} is VALID [2022-04-27 13:51:45,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:51:45,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {240#true} {240#true} #78#return; {240#true} is VALID [2022-04-27 13:51:45,580 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:51:45,581 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:51:45,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:51:45,581 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {240#true} {240#true} #94#return; {240#true} is VALID [2022-04-27 13:51:45,581 INFO L272 TraceCheckUtils]: 4: Hoare triple {240#true} call #t~ret5 := main(); {240#true} is VALID [2022-04-27 13:51:45,581 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:51:45,581 INFO L272 TraceCheckUtils]: 6: Hoare triple {240#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {240#true} is VALID [2022-04-27 13:51:45,582 INFO L290 TraceCheckUtils]: 7: Hoare triple {240#true} ~cond := #in~cond; {240#true} is VALID [2022-04-27 13:51:45,582 INFO L290 TraceCheckUtils]: 8: Hoare triple {240#true} assume !(0 == ~cond); {240#true} is VALID [2022-04-27 13:51:45,582 INFO L290 TraceCheckUtils]: 9: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:51:45,582 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {240#true} {240#true} #78#return; {240#true} is VALID [2022-04-27 13:51:45,583 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:51:45,583 INFO L290 TraceCheckUtils]: 12: Hoare triple {249#(= main_~q~0 0)} assume !false; {249#(= main_~q~0 0)} is VALID [2022-04-27 13:51:45,585 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:51:45,585 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:51:45,585 INFO L290 TraceCheckUtils]: 15: Hoare triple {251#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {241#false} is VALID [2022-04-27 13:51:45,586 INFO L290 TraceCheckUtils]: 16: Hoare triple {241#false} assume !false; {241#false} is VALID [2022-04-27 13:51:45,586 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:51:45,586 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:45,587 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [487428257] [2022-04-27 13:51:45,587 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [487428257] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:51:45,587 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:51:45,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:51:45,587 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1574006120] [2022-04-27 13:51:45,587 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:51:45,590 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:51:45,591 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:45,591 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:51:45,605 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:51:45,605 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:51:45,606 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:45,606 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:51:45,606 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:51:45,607 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:51:46,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:46,003 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-27 13:51:46,003 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:51:46,003 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:51:46,003 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:46,004 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:51:46,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:51:46,017 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:51:46,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:51:46,022 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-27 13:51:46,089 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:51:46,094 INFO L225 Difference]: With dead ends: 43 [2022-04-27 13:51:46,095 INFO L226 Difference]: Without dead ends: 41 [2022-04-27 13:51:46,098 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:51:46,101 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.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:46,101 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.2s Time] [2022-04-27 13:51:46,103 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-27 13:51:46,113 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-27 13:51:46,113 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:46,113 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:51:46,114 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:51:46,115 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:51:46,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:46,122 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-27 13:51:46,123 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-27 13:51:46,129 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:46,129 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:46,131 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:51:46,131 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:51:46,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:46,138 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-27 13:51:46,138 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-27 13:51:46,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:46,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:46,139 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:46,139 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:46,139 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:51:46,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-27 13:51:46,141 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 17 [2022-04-27 13:51:46,141 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:46,141 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-27 13:51:46,141 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:51:46,141 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-27 13:51:46,142 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-27 13:51:46,142 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:46,142 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:51:46,142 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:51:46,142 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:46,143 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:46,143 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 1 times [2022-04-27 13:51:46,143 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:46,143 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2093612962] [2022-04-27 13:51:46,143 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:46,143 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:46,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:46,195 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:51:46,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:46,210 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:51:46,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:51:46,211 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {458#true} {458#true} #94#return; {458#true} is VALID [2022-04-27 13:51:46,211 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:51:46,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:46,215 INFO L290 TraceCheckUtils]: 0: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:51:46,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:51:46,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:51:46,215 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {458#true} {458#true} #78#return; {458#true} is VALID [2022-04-27 13:51:46,215 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-27 13:51:46,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:46,220 INFO L290 TraceCheckUtils]: 0: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:51:46,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:51:46,220 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:51:46,221 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:51:46,221 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:51:46,222 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:51:46,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:51:46,222 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {458#true} {458#true} #94#return; {458#true} is VALID [2022-04-27 13:51:46,222 INFO L272 TraceCheckUtils]: 4: Hoare triple {458#true} call #t~ret5 := main(); {458#true} is VALID [2022-04-27 13:51:46,222 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:51:46,222 INFO L272 TraceCheckUtils]: 6: Hoare triple {458#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {458#true} is VALID [2022-04-27 13:51:46,223 INFO L290 TraceCheckUtils]: 7: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:51:46,223 INFO L290 TraceCheckUtils]: 8: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:51:46,223 INFO L290 TraceCheckUtils]: 9: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:51:46,223 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {458#true} {458#true} #78#return; {458#true} is VALID [2022-04-27 13:51:46,223 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:51:46,224 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:51:46,224 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:51:46,224 INFO L290 TraceCheckUtils]: 14: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:51:46,224 INFO L290 TraceCheckUtils]: 15: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:51:46,224 INFO L290 TraceCheckUtils]: 16: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:51:46,225 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:51:46,226 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:51:46,226 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:51:46,226 INFO L290 TraceCheckUtils]: 20: Hoare triple {473#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {459#false} is VALID [2022-04-27 13:51:46,227 INFO L290 TraceCheckUtils]: 21: Hoare triple {459#false} assume !false; {459#false} is VALID [2022-04-27 13:51:46,227 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:51:46,227 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:46,227 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2093612962] [2022-04-27 13:51:46,227 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2093612962] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:51:46,228 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:51:46,228 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:51:46,228 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1925232627] [2022-04-27 13:51:46,228 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:51:46,229 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:51:46,229 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:46,229 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:51:46,245 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:51:46,245 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:51:46,245 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:46,246 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:51:46,246 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:51:46,246 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:51:46,577 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:46,577 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-27 13:51:46,577 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:51:46,578 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:51:46,578 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:46,578 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:51:46,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:51:46,580 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:51:46,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:51:46,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-27 13:51:46,633 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:51:46,635 INFO L225 Difference]: With dead ends: 47 [2022-04-27 13:51:46,635 INFO L226 Difference]: Without dead ends: 45 [2022-04-27 13:51:46,635 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:51:46,636 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:51:46,636 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:51:46,637 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-27 13:51:46,641 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 38. [2022-04-27 13:51:46,641 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:46,641 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:51:46,641 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:51:46,642 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:51:46,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:46,644 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-27 13:51:46,644 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-27 13:51:46,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:46,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:46,645 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:51:46,645 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:51:46,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:46,647 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-27 13:51:46,647 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-27 13:51:46,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:46,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:46,648 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:46,648 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:46,648 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:51:46,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2022-04-27 13:51:46,649 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 22 [2022-04-27 13:51:46,650 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:46,650 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2022-04-27 13:51:46,650 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:51:46,650 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-27 13:51:46,650 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-27 13:51:46,650 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:46,651 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:51:46,651 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 13:51:46,651 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:46,651 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:46,651 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 1 times [2022-04-27 13:51:46,651 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:46,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1715070209] [2022-04-27 13:51:46,652 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:46,652 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:46,663 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:46,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [124137988] [2022-04-27 13:51:46,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:46,664 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:46,664 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:46,667 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:51:46,697 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:51:46,708 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:46,710 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:51:46,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:46,728 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:46,938 INFO L272 TraceCheckUtils]: 0: Hoare triple {698#true} call ULTIMATE.init(); {698#true} is VALID [2022-04-27 13:51:46,939 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:51:46,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:51:46,939 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {698#true} {698#true} #94#return; {698#true} is VALID [2022-04-27 13:51:46,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {698#true} call #t~ret5 := main(); {698#true} is VALID [2022-04-27 13:51:46,940 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:51:46,940 INFO L272 TraceCheckUtils]: 6: Hoare triple {698#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {698#true} is VALID [2022-04-27 13:51:46,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {698#true} ~cond := #in~cond; {698#true} is VALID [2022-04-27 13:51:46,940 INFO L290 TraceCheckUtils]: 8: Hoare triple {698#true} assume !(0 == ~cond); {698#true} is VALID [2022-04-27 13:51:46,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:51:46,940 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {698#true} {698#true} #78#return; {698#true} is VALID [2022-04-27 13:51:46,941 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:51:46,941 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:51:46,941 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:51:46,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {698#true} ~cond := #in~cond; {698#true} is VALID [2022-04-27 13:51:46,942 INFO L290 TraceCheckUtils]: 15: Hoare triple {698#true} assume !(0 == ~cond); {698#true} is VALID [2022-04-27 13:51:46,942 INFO L290 TraceCheckUtils]: 16: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:51:46,943 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:51:46,943 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:51:46,943 INFO L290 TraceCheckUtils]: 19: Hoare triple {698#true} ~cond := #in~cond; {698#true} is VALID [2022-04-27 13:51:46,943 INFO L290 TraceCheckUtils]: 20: Hoare triple {698#true} assume !(0 == ~cond); {698#true} is VALID [2022-04-27 13:51:46,943 INFO L290 TraceCheckUtils]: 21: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:51:46,944 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:51:46,945 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:51:46,945 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:51:46,945 INFO L290 TraceCheckUtils]: 25: Hoare triple {777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {699#false} is VALID [2022-04-27 13:51:46,946 INFO L290 TraceCheckUtils]: 26: Hoare triple {699#false} assume !false; {699#false} is VALID [2022-04-27 13:51:46,946 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:51:46,946 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:51:46,946 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:46,946 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1715070209] [2022-04-27 13:51:46,946 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:51:46,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [124137988] [2022-04-27 13:51:46,947 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [124137988] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:51:46,947 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:51:46,947 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:51:46,947 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [632401586] [2022-04-27 13:51:46,947 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:51:46,948 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:51:46,948 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:46,948 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:51:46,964 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:51:46,965 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:51:46,965 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:46,965 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:51:46,965 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:51:46,966 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:51:47,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:47,134 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-27 13:51:47,134 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:51:47,134 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:51:47,134 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:47,135 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:51:47,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:51:47,137 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:51:47,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:51:47,138 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-27 13:51:47,195 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:51:47,197 INFO L225 Difference]: With dead ends: 66 [2022-04-27 13:51:47,197 INFO L226 Difference]: Without dead ends: 52 [2022-04-27 13:51:47,197 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:51:47,198 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:51:47,198 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:51:47,199 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-27 13:51:47,226 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-27 13:51:47,226 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:47,227 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:51:47,228 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:51:47,228 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:51:47,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:47,232 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-27 13:51:47,232 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 13:51:47,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:47,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:47,233 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:51:47,234 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:51:47,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:47,236 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-27 13:51:47,236 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 13:51:47,237 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:47,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:47,237 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:47,237 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:47,237 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:51:47,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-27 13:51:47,239 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 27 [2022-04-27 13:51:47,239 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:47,239 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-27 13:51:47,239 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:51:47,239 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 13:51:47,240 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-27 13:51:47,240 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:47,240 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:51:47,291 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:51:47,465 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:51:47,465 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:47,466 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:47,466 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 1 times [2022-04-27 13:51:47,466 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:47,466 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1120289226] [2022-04-27 13:51:47,466 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:47,466 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:47,483 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:47,483 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1810679655] [2022-04-27 13:51:47,483 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:47,483 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:47,484 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:47,485 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:51:47,496 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:51:47,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:47,536 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:51:47,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:47,551 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:47,748 INFO L272 TraceCheckUtils]: 0: Hoare triple {1063#true} call ULTIMATE.init(); {1063#true} is VALID [2022-04-27 13:51:47,748 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:51:47,749 INFO L290 TraceCheckUtils]: 2: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:51:47,750 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1063#true} {1063#true} #94#return; {1063#true} is VALID [2022-04-27 13:51:47,750 INFO L272 TraceCheckUtils]: 4: Hoare triple {1063#true} call #t~ret5 := main(); {1063#true} is VALID [2022-04-27 13:51:47,750 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:51:47,751 INFO L272 TraceCheckUtils]: 6: Hoare triple {1063#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:51:47,752 INFO L290 TraceCheckUtils]: 7: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:51:47,759 INFO L290 TraceCheckUtils]: 8: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:51:47,761 INFO L290 TraceCheckUtils]: 9: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:51:47,762 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1063#true} {1063#true} #78#return; {1063#true} is VALID [2022-04-27 13:51:47,763 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) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,764 INFO L290 TraceCheckUtils]: 12: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,764 INFO L272 TraceCheckUtils]: 13: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:51:47,764 INFO L290 TraceCheckUtils]: 14: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:51:47,764 INFO L290 TraceCheckUtils]: 15: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:51:47,764 INFO L290 TraceCheckUtils]: 16: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:51:47,767 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1063#true} {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,767 INFO L272 TraceCheckUtils]: 18: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:51:47,767 INFO L290 TraceCheckUtils]: 19: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:51:47,768 INFO L290 TraceCheckUtils]: 20: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:51:47,768 INFO L290 TraceCheckUtils]: 21: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:51:47,768 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1063#true} {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,768 INFO L272 TraceCheckUtils]: 23: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:51:47,768 INFO L290 TraceCheckUtils]: 24: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:51:47,769 INFO L290 TraceCheckUtils]: 25: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:51:47,769 INFO L290 TraceCheckUtils]: 26: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:51:47,772 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1063#true} {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,773 INFO L290 TraceCheckUtils]: 28: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,777 INFO L290 TraceCheckUtils]: 29: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:51:47,778 INFO L272 TraceCheckUtils]: 30: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} 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:51:47,779 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:51:47,779 INFO L290 TraceCheckUtils]: 32: Hoare triple {1163#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1064#false} is VALID [2022-04-27 13:51:47,779 INFO L290 TraceCheckUtils]: 33: Hoare triple {1064#false} assume !false; {1064#false} is VALID [2022-04-27 13:51:47,779 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:51:47,780 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:51:47,780 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:47,780 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1120289226] [2022-04-27 13:51:47,780 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:51:47,780 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1810679655] [2022-04-27 13:51:47,780 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1810679655] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:51:47,780 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:51:47,780 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:51:47,780 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [238179343] [2022-04-27 13:51:47,781 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:51:47,781 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:51:47,781 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:47,781 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:51:47,803 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:51:47,803 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:51:47,803 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:47,804 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:51:47,804 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:51:47,804 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:51:47,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:47,973 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-27 13:51:47,973 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:51:47,973 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:51:47,974 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:47,974 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:51:47,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-27 13:51:47,977 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:51:47,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-27 13:51:47,978 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-27 13:51:48,019 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:51:48,022 INFO L225 Difference]: With dead ends: 65 [2022-04-27 13:51:48,022 INFO L226 Difference]: Without dead ends: 58 [2022-04-27 13:51:48,023 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:51:48,024 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 9 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 97 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:48,025 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 97 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:51:48,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-27 13:51:48,041 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2022-04-27 13:51:48,041 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:48,041 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:51:48,042 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:51:48,042 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:51:48,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:48,044 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-27 13:51:48,044 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-27 13:51:48,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:48,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:48,045 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:51:48,045 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:51:48,047 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:48,047 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-27 13:51:48,047 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-27 13:51:48,048 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:48,048 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:48,048 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:48,048 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:48,048 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:51:48,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2022-04-27 13:51:48,050 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 34 [2022-04-27 13:51:48,050 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:48,050 INFO L495 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2022-04-27 13:51:48,050 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:51:48,051 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-27 13:51:48,051 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 13:51:48,051 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:48,051 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:51:48,074 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:51:48,271 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:51:48,272 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:48,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:48,272 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 1 times [2022-04-27 13:51:48,273 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:48,273 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2043130235] [2022-04-27 13:51:48,273 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:48,273 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:48,292 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:48,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1139893456] [2022-04-27 13:51:48,292 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:48,292 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:48,293 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:48,294 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:51:48,295 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:51:48,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:48,337 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:51:48,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:48,347 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:48,544 INFO L272 TraceCheckUtils]: 0: Hoare triple {1465#true} call ULTIMATE.init(); {1465#true} is VALID [2022-04-27 13:51:48,544 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:51:48,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,545 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1465#true} {1465#true} #94#return; {1465#true} is VALID [2022-04-27 13:51:48,545 INFO L272 TraceCheckUtils]: 4: Hoare triple {1465#true} call #t~ret5 := main(); {1465#true} is VALID [2022-04-27 13:51:48,545 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:51:48,545 INFO L272 TraceCheckUtils]: 6: Hoare triple {1465#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:48,546 INFO L290 TraceCheckUtils]: 7: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:48,546 INFO L290 TraceCheckUtils]: 8: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:48,546 INFO L290 TraceCheckUtils]: 9: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,546 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1465#true} {1465#true} #78#return; {1465#true} is VALID [2022-04-27 13:51:48,547 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:51:48,547 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:51:48,547 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:51:48,547 INFO L290 TraceCheckUtils]: 14: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:48,547 INFO L290 TraceCheckUtils]: 15: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:48,548 INFO L290 TraceCheckUtils]: 16: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,548 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:51:48,548 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:51:48,548 INFO L290 TraceCheckUtils]: 19: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:48,549 INFO L290 TraceCheckUtils]: 20: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:48,549 INFO L290 TraceCheckUtils]: 21: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,549 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:51:48,549 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:51:48,550 INFO L290 TraceCheckUtils]: 24: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:48,550 INFO L290 TraceCheckUtils]: 25: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:48,550 INFO L290 TraceCheckUtils]: 26: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,550 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:51:48,551 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:51:48,551 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:51:48,551 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:51:48,552 INFO L290 TraceCheckUtils]: 31: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:48,552 INFO L290 TraceCheckUtils]: 32: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:48,552 INFO L290 TraceCheckUtils]: 33: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,552 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:51:48,552 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:51:48,553 INFO L290 TraceCheckUtils]: 36: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:48,554 INFO L290 TraceCheckUtils]: 37: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:48,554 INFO L290 TraceCheckUtils]: 38: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,555 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:51:48,556 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:51:48,556 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:51:48,557 INFO L290 TraceCheckUtils]: 42: Hoare triple {1596#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1466#false} is VALID [2022-04-27 13:51:48,557 INFO L290 TraceCheckUtils]: 43: Hoare triple {1466#false} assume !false; {1466#false} is VALID [2022-04-27 13:51:48,557 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:51:48,557 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:51:48,743 INFO L290 TraceCheckUtils]: 43: Hoare triple {1466#false} assume !false; {1466#false} is VALID [2022-04-27 13:51:48,743 INFO L290 TraceCheckUtils]: 42: Hoare triple {1596#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1466#false} is VALID [2022-04-27 13:51:48,744 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:51:48,753 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:51:48,754 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:51:48,754 INFO L290 TraceCheckUtils]: 38: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,754 INFO L290 TraceCheckUtils]: 37: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:48,754 INFO L290 TraceCheckUtils]: 36: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:48,754 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:51:48,755 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:51:48,756 INFO L290 TraceCheckUtils]: 33: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,756 INFO L290 TraceCheckUtils]: 32: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:48,756 INFO L290 TraceCheckUtils]: 31: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:48,756 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:51:48,759 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:51:48,761 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:51:48,762 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:51:48,762 INFO L290 TraceCheckUtils]: 26: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,762 INFO L290 TraceCheckUtils]: 25: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:48,762 INFO L290 TraceCheckUtils]: 24: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:48,762 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:51:48,763 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:51:48,763 INFO L290 TraceCheckUtils]: 21: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,763 INFO L290 TraceCheckUtils]: 20: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:48,763 INFO L290 TraceCheckUtils]: 19: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:48,763 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:51:48,764 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:51:48,764 INFO L290 TraceCheckUtils]: 16: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,764 INFO L290 TraceCheckUtils]: 15: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:48,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:48,765 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:51:48,765 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:51:48,765 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:51:48,766 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1465#true} {1465#true} #78#return; {1465#true} is VALID [2022-04-27 13:51:48,766 INFO L290 TraceCheckUtils]: 9: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,766 INFO L290 TraceCheckUtils]: 8: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:51:48,766 INFO L290 TraceCheckUtils]: 7: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:51:48,766 INFO L272 TraceCheckUtils]: 6: Hoare triple {1465#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:51:48,766 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:51:48,766 INFO L272 TraceCheckUtils]: 4: Hoare triple {1465#true} call #t~ret5 := main(); {1465#true} is VALID [2022-04-27 13:51:48,766 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1465#true} {1465#true} #94#return; {1465#true} is VALID [2022-04-27 13:51:48,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:51:48,767 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:51:48,767 INFO L272 TraceCheckUtils]: 0: Hoare triple {1465#true} call ULTIMATE.init(); {1465#true} is VALID [2022-04-27 13:51:48,767 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:51:48,767 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:48,767 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2043130235] [2022-04-27 13:51:48,767 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:51:48,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1139893456] [2022-04-27 13:51:48,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1139893456] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:51:48,768 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:51:48,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-27 13:51:48,768 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [621823681] [2022-04-27 13:51:48,768 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:51:48,769 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:51:48,769 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:48,769 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:51:48,788 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:51:48,789 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:51:48,789 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:48,789 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:51:48,789 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:51:48,789 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:51:51,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:51,003 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-27 13:51:51,003 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:51:51,003 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:51:51,004 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:51,004 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:51:51,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 13:51:51,005 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:51:51,005 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 13:51:51,006 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-27 13:51:51,061 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:51:51,062 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:51:51,062 INFO L226 Difference]: Without dead ends: 67 [2022-04-27 13:51:51,063 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:51:51,063 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:51,064 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.0s Time] [2022-04-27 13:51:51,064 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-27 13:51:51,071 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2022-04-27 13:51:51,071 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:51,071 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:51:51,071 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:51:51,071 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:51:51,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:51,074 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-27 13:51:51,074 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-27 13:51:51,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:51,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:51,074 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:51:51,074 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:51:51,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:51,076 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-27 13:51:51,076 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-27 13:51:51,076 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:51,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:51,077 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:51,077 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:51,077 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:51:51,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-27 13:51:51,078 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 44 [2022-04-27 13:51:51,079 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:51,079 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-27 13:51:51,079 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:51:51,080 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-27 13:51:51,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-27 13:51:51,080 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:51,081 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:51:51,101 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:51:51,281 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:51:51,281 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:51,282 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:51,282 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 1 times [2022-04-27 13:51:51,282 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:51,282 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [580871822] [2022-04-27 13:51:51,282 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:51,282 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:51,297 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:51,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2074873425] [2022-04-27 13:51:51,297 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:51,297 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:51,298 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:51,305 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:51:51,306 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:51:51,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:51,355 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 13:51:51,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:51,368 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:51,805 INFO L272 TraceCheckUtils]: 0: Hoare triple {2064#true} call ULTIMATE.init(); {2064#true} is VALID [2022-04-27 13:51:51,805 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:51:51,805 INFO L290 TraceCheckUtils]: 2: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:51,805 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2064#true} {2064#true} #94#return; {2064#true} is VALID [2022-04-27 13:51:51,805 INFO L272 TraceCheckUtils]: 4: Hoare triple {2064#true} call #t~ret5 := main(); {2064#true} is VALID [2022-04-27 13:51:51,805 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:51:51,806 INFO L272 TraceCheckUtils]: 6: Hoare triple {2064#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:51,806 INFO L290 TraceCheckUtils]: 7: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:51,806 INFO L290 TraceCheckUtils]: 8: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:51,806 INFO L290 TraceCheckUtils]: 9: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:51,806 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2064#true} {2064#true} #78#return; {2064#true} is VALID [2022-04-27 13:51:51,821 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:51:51,822 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:51:51,822 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:51:51,822 INFO L290 TraceCheckUtils]: 14: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:51,822 INFO L290 TraceCheckUtils]: 15: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:51,822 INFO L290 TraceCheckUtils]: 16: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:51,823 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:51:51,823 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:51:51,823 INFO L290 TraceCheckUtils]: 19: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:51,823 INFO L290 TraceCheckUtils]: 20: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:51,823 INFO L290 TraceCheckUtils]: 21: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:51,824 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:51:51,824 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:51:51,824 INFO L290 TraceCheckUtils]: 24: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:51,824 INFO L290 TraceCheckUtils]: 25: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:51,824 INFO L290 TraceCheckUtils]: 26: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:51,824 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:51:51,825 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:51:51,825 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:51:51,825 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:51:51,825 INFO L290 TraceCheckUtils]: 31: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:51,825 INFO L290 TraceCheckUtils]: 32: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:51,825 INFO L290 TraceCheckUtils]: 33: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:51,826 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:51:51,826 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:51:51,826 INFO L290 TraceCheckUtils]: 36: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:51,826 INFO L290 TraceCheckUtils]: 37: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:51,826 INFO L290 TraceCheckUtils]: 38: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:51,827 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:51:51,827 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:51:51,827 INFO L290 TraceCheckUtils]: 41: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:51,827 INFO L290 TraceCheckUtils]: 42: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:51,827 INFO L290 TraceCheckUtils]: 43: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:51,828 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:51:51,828 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:51:51,829 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:51:51,829 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:51:51,829 INFO L290 TraceCheckUtils]: 48: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:51,829 INFO L290 TraceCheckUtils]: 49: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:51,829 INFO L290 TraceCheckUtils]: 50: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:51,831 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:51:51,831 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:51:51,831 INFO L290 TraceCheckUtils]: 53: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:51,832 INFO L290 TraceCheckUtils]: 54: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:51,832 INFO L290 TraceCheckUtils]: 55: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:51,832 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:51:51,833 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:51:51,833 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:51:51,834 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:51:51,834 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:51:51,834 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:51:51,835 INFO L290 TraceCheckUtils]: 62: Hoare triple {2256#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2065#false} is VALID [2022-04-27 13:51:51,835 INFO L290 TraceCheckUtils]: 63: Hoare triple {2065#false} assume !false; {2065#false} is VALID [2022-04-27 13:51:51,835 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:51:51,835 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:51:52,965 INFO L290 TraceCheckUtils]: 63: Hoare triple {2065#false} assume !false; {2065#false} is VALID [2022-04-27 13:51:52,966 INFO L290 TraceCheckUtils]: 62: Hoare triple {2256#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2065#false} is VALID [2022-04-27 13:51:52,966 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:51:52,967 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:51:52,967 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:51:52,985 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:51:53,004 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:51:53,005 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:51:53,005 INFO L290 TraceCheckUtils]: 55: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:53,006 INFO L290 TraceCheckUtils]: 54: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:53,006 INFO L290 TraceCheckUtils]: 53: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:53,006 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:51:53,007 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:51:53,008 INFO L290 TraceCheckUtils]: 50: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:53,008 INFO L290 TraceCheckUtils]: 49: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:53,008 INFO L290 TraceCheckUtils]: 48: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:53,008 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:51:53,009 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:51:53,010 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:51:53,010 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:51:53,010 INFO L290 TraceCheckUtils]: 43: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:53,011 INFO L290 TraceCheckUtils]: 42: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:53,011 INFO L290 TraceCheckUtils]: 41: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:53,011 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:51:53,011 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:51:53,011 INFO L290 TraceCheckUtils]: 38: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:53,011 INFO L290 TraceCheckUtils]: 37: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:53,012 INFO L290 TraceCheckUtils]: 36: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:53,012 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:51:53,012 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:51:53,012 INFO L290 TraceCheckUtils]: 33: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:53,012 INFO L290 TraceCheckUtils]: 32: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:53,012 INFO L290 TraceCheckUtils]: 31: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:53,013 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:51:53,028 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:51:53,035 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:51:53,035 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:51:53,035 INFO L290 TraceCheckUtils]: 26: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:53,036 INFO L290 TraceCheckUtils]: 25: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:53,036 INFO L290 TraceCheckUtils]: 24: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:53,036 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:51:53,036 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:51:53,036 INFO L290 TraceCheckUtils]: 21: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:53,036 INFO L290 TraceCheckUtils]: 20: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:53,036 INFO L290 TraceCheckUtils]: 19: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:53,037 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:51:53,037 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:51:53,037 INFO L290 TraceCheckUtils]: 16: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:53,037 INFO L290 TraceCheckUtils]: 15: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:53,038 INFO L290 TraceCheckUtils]: 14: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:53,038 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:51:53,038 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:51:53,038 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:51:53,038 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2064#true} {2064#true} #78#return; {2064#true} is VALID [2022-04-27 13:51:53,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:53,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:51:53,039 INFO L290 TraceCheckUtils]: 7: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:51:53,039 INFO L272 TraceCheckUtils]: 6: Hoare triple {2064#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:51:53,039 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:51:53,039 INFO L272 TraceCheckUtils]: 4: Hoare triple {2064#true} call #t~ret5 := main(); {2064#true} is VALID [2022-04-27 13:51:53,039 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2064#true} {2064#true} #94#return; {2064#true} is VALID [2022-04-27 13:51:53,039 INFO L290 TraceCheckUtils]: 2: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:51:53,039 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:51:53,039 INFO L272 TraceCheckUtils]: 0: Hoare triple {2064#true} call ULTIMATE.init(); {2064#true} is VALID [2022-04-27 13:51:53,040 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:51:53,040 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:51:53,040 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [580871822] [2022-04-27 13:51:53,040 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:51:53,040 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2074873425] [2022-04-27 13:51:53,040 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2074873425] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:51:53,040 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:51:53,040 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 13:51:53,040 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [119500073] [2022-04-27 13:51:53,040 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:51:53,041 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:51:53,041 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:51:53,041 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:51:53,139 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:51:53,139 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:51:53,139 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:51:53,140 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:51:53,140 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:51:53,140 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:51:58,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:58,657 INFO L93 Difference]: Finished difference Result 154 states and 210 transitions. [2022-04-27 13:51:58,657 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:51:58,657 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:51:58,658 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:51:58,658 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:51:58,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 141 transitions. [2022-04-27 13:51:58,662 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:51:58,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 141 transitions. [2022-04-27 13:51:58,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 141 transitions. [2022-04-27 13:51:58,907 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:51:58,910 INFO L225 Difference]: With dead ends: 154 [2022-04-27 13:51:58,910 INFO L226 Difference]: Without dead ends: 125 [2022-04-27 13:51:58,911 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 116 SyntacticMatches, 3 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:51:58,911 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 42 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 277 mSolverCounterSat, 79 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-27 13:51:58,912 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.8s Time] [2022-04-27 13:51:58,912 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-27 13:51:58,950 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 113. [2022-04-27 13:51:58,950 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:51:58,950 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:51:58,951 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:51:58,951 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:51:58,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:58,955 INFO L93 Difference]: Finished difference Result 125 states and 166 transitions. [2022-04-27 13:51:58,955 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 166 transitions. [2022-04-27 13:51:58,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:58,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:58,956 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:51:58,956 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:51:58,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:51:58,960 INFO L93 Difference]: Finished difference Result 125 states and 166 transitions. [2022-04-27 13:51:58,960 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 166 transitions. [2022-04-27 13:51:58,960 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:51:58,960 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:51:58,960 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:51:58,960 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:51:58,961 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:51:58,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 146 transitions. [2022-04-27 13:51:58,964 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 146 transitions. Word has length 64 [2022-04-27 13:51:58,964 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:51:58,964 INFO L495 AbstractCegarLoop]: Abstraction has 113 states and 146 transitions. [2022-04-27 13:51:58,964 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:51:58,964 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 146 transitions. [2022-04-27 13:51:58,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-27 13:51:58,965 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:51:58,965 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:51:58,989 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:51:59,182 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:51:59,183 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:51:59,183 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:51:59,183 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 1 times [2022-04-27 13:51:59,183 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:51:59,183 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1229868641] [2022-04-27 13:51:59,183 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:59,184 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:51:59,193 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:51:59,193 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1302382440] [2022-04-27 13:51:59,193 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:51:59,194 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:51:59,194 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:51:59,194 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:51:59,201 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:51:59,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:59,242 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-27 13:51:59,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:51:59,256 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:51:59,799 INFO L272 TraceCheckUtils]: 0: Hoare triple {3103#true} call ULTIMATE.init(); {3103#true} is VALID [2022-04-27 13:51:59,799 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:51:59,799 INFO L290 TraceCheckUtils]: 2: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:59,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3103#true} {3103#true} #94#return; {3103#true} is VALID [2022-04-27 13:51:59,799 INFO L272 TraceCheckUtils]: 4: Hoare triple {3103#true} call #t~ret5 := main(); {3103#true} is VALID [2022-04-27 13:51:59,799 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:51:59,800 INFO L272 TraceCheckUtils]: 6: Hoare triple {3103#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:51:59,800 INFO L290 TraceCheckUtils]: 7: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:59,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:59,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:59,801 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3103#true} {3103#true} #78#return; {3103#true} is VALID [2022-04-27 13:51:59,801 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:51:59,802 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:51:59,804 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:51:59,805 INFO L290 TraceCheckUtils]: 14: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:59,805 INFO L290 TraceCheckUtils]: 15: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:59,806 INFO L290 TraceCheckUtils]: 16: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:59,807 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:51:59,807 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:51:59,808 INFO L290 TraceCheckUtils]: 19: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:59,808 INFO L290 TraceCheckUtils]: 20: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:59,808 INFO L290 TraceCheckUtils]: 21: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:59,808 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:51:59,808 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:51:59,808 INFO L290 TraceCheckUtils]: 24: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:59,809 INFO L290 TraceCheckUtils]: 25: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:59,809 INFO L290 TraceCheckUtils]: 26: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:59,809 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:51:59,810 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:51:59,810 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:51:59,810 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:51:59,810 INFO L290 TraceCheckUtils]: 31: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:59,810 INFO L290 TraceCheckUtils]: 32: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:59,810 INFO L290 TraceCheckUtils]: 33: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:59,811 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:51:59,811 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:51:59,811 INFO L290 TraceCheckUtils]: 36: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:59,811 INFO L290 TraceCheckUtils]: 37: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:59,811 INFO L290 TraceCheckUtils]: 38: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:59,812 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:51:59,812 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:51:59,812 INFO L290 TraceCheckUtils]: 41: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:59,812 INFO L290 TraceCheckUtils]: 42: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:59,812 INFO L290 TraceCheckUtils]: 43: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:59,813 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:51:59,813 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:51:59,814 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:51:59,814 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:51:59,814 INFO L290 TraceCheckUtils]: 48: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:59,814 INFO L290 TraceCheckUtils]: 49: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:59,814 INFO L290 TraceCheckUtils]: 50: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:59,815 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:51:59,815 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:51:59,815 INFO L290 TraceCheckUtils]: 53: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:51:59,815 INFO L290 TraceCheckUtils]: 54: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:51:59,815 INFO L290 TraceCheckUtils]: 55: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:51:59,815 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:51:59,816 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:51:59,817 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:51:59,817 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:51:59,817 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:51:59,817 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:51:59,818 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:51:59,818 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:51:59,818 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:51:59,819 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:51:59,819 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:51:59,819 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:51:59,819 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:51:59,820 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:51:59,821 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:51:59,821 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:51:59,822 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:51:59,822 INFO L290 TraceCheckUtils]: 73: Hoare triple {3332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3104#false} is VALID [2022-04-27 13:51:59,822 INFO L290 TraceCheckUtils]: 74: Hoare triple {3104#false} assume !false; {3104#false} is VALID [2022-04-27 13:51:59,823 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:51:59,823 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:52:09,996 INFO L290 TraceCheckUtils]: 74: Hoare triple {3104#false} assume !false; {3104#false} is VALID [2022-04-27 13:52:09,996 INFO L290 TraceCheckUtils]: 73: Hoare triple {3332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3104#false} is VALID [2022-04-27 13:52:09,997 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:52:09,997 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:52:09,998 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:52:09,999 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:52:09,999 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:52:10,000 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:52:10,000 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:52:10,000 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:52:10,003 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:52:10,004 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:52:10,005 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:52:10,005 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:52:10,005 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:52:10,005 INFO L290 TraceCheckUtils]: 59: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:52:10,005 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:52:10,005 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:52:10,005 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3103#true} {3103#true} #88#return; {3103#true} is VALID [2022-04-27 13:52:10,006 INFO L290 TraceCheckUtils]: 55: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:52:10,006 INFO L290 TraceCheckUtils]: 54: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:52:10,006 INFO L290 TraceCheckUtils]: 53: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:52:10,006 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:52:10,006 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3103#true} {3103#true} #86#return; {3103#true} is VALID [2022-04-27 13:52:10,006 INFO L290 TraceCheckUtils]: 50: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:52:10,006 INFO L290 TraceCheckUtils]: 49: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:52:10,006 INFO L290 TraceCheckUtils]: 48: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:52:10,006 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:52:10,006 INFO L290 TraceCheckUtils]: 46: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:52:10,006 INFO L290 TraceCheckUtils]: 45: Hoare triple {3103#true} assume !(~r~0 >= ~d~0); {3103#true} is VALID [2022-04-27 13:52:10,006 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3103#true} {3103#true} #84#return; {3103#true} is VALID [2022-04-27 13:52:10,006 INFO L290 TraceCheckUtils]: 43: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:52:10,007 INFO L290 TraceCheckUtils]: 42: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:52:10,007 INFO L290 TraceCheckUtils]: 41: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:52:10,007 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:52:10,007 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3103#true} {3103#true} #82#return; {3103#true} is VALID [2022-04-27 13:52:10,007 INFO L290 TraceCheckUtils]: 38: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:52:10,007 INFO L290 TraceCheckUtils]: 37: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:52:10,007 INFO L290 TraceCheckUtils]: 36: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:52:10,007 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:52:10,007 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3103#true} {3103#true} #80#return; {3103#true} is VALID [2022-04-27 13:52:10,007 INFO L290 TraceCheckUtils]: 33: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:52:10,007 INFO L290 TraceCheckUtils]: 32: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:52:10,007 INFO L290 TraceCheckUtils]: 31: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:52:10,008 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:52:10,008 INFO L290 TraceCheckUtils]: 29: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:52:10,008 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:52:10,008 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3103#true} {3103#true} #84#return; {3103#true} is VALID [2022-04-27 13:52:10,008 INFO L290 TraceCheckUtils]: 26: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:52:10,008 INFO L290 TraceCheckUtils]: 25: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:52:10,008 INFO L290 TraceCheckUtils]: 24: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:52:10,008 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:52:10,008 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3103#true} {3103#true} #82#return; {3103#true} is VALID [2022-04-27 13:52:10,008 INFO L290 TraceCheckUtils]: 21: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:52:10,008 INFO L290 TraceCheckUtils]: 20: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:52:10,008 INFO L290 TraceCheckUtils]: 19: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:52:10,009 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:52:10,009 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3103#true} {3103#true} #80#return; {3103#true} is VALID [2022-04-27 13:52:10,009 INFO L290 TraceCheckUtils]: 16: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:52:10,009 INFO L290 TraceCheckUtils]: 15: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:52:10,009 INFO L290 TraceCheckUtils]: 14: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:52:10,009 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:52:10,009 INFO L290 TraceCheckUtils]: 12: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:52:10,009 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:52:10,009 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3103#true} {3103#true} #78#return; {3103#true} is VALID [2022-04-27 13:52:10,009 INFO L290 TraceCheckUtils]: 9: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:52:10,009 INFO L290 TraceCheckUtils]: 8: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:52:10,009 INFO L290 TraceCheckUtils]: 7: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:52:10,009 INFO L272 TraceCheckUtils]: 6: Hoare triple {3103#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:52:10,010 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:52:10,010 INFO L272 TraceCheckUtils]: 4: Hoare triple {3103#true} call #t~ret5 := main(); {3103#true} is VALID [2022-04-27 13:52:10,010 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3103#true} {3103#true} #94#return; {3103#true} is VALID [2022-04-27 13:52:10,010 INFO L290 TraceCheckUtils]: 2: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:52:10,010 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:52:10,010 INFO L272 TraceCheckUtils]: 0: Hoare triple {3103#true} call ULTIMATE.init(); {3103#true} is VALID [2022-04-27 13:52:10,010 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:52:10,011 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:52:10,011 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1229868641] [2022-04-27 13:52:10,011 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:52:10,011 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1302382440] [2022-04-27 13:52:10,011 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1302382440] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:52:10,011 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:52:10,011 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-27 13:52:10,011 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1974497692] [2022-04-27 13:52:10,011 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:52:10,012 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:52:10,013 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:52:10,013 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:52:10,081 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:52:10,081 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 13:52:10,081 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:52:10,081 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 13:52:10,081 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:52:10,082 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:52:11,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:11,098 INFO L93 Difference]: Finished difference Result 169 states and 219 transitions. [2022-04-27 13:52:11,098 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 13:52:11,098 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:52:11,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:52:11,100 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:52:11,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-27 13:52:11,103 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:52:11,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-27 13:52:11,105 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 114 transitions. [2022-04-27 13:52:11,198 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:52:11,200 INFO L225 Difference]: With dead ends: 169 [2022-04-27 13:52:11,200 INFO L226 Difference]: Without dead ends: 115 [2022-04-27 13:52:11,201 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:52:11,201 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 34 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 350 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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:52:11,201 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:52:11,202 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-27 13:52:11,225 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 101. [2022-04-27 13:52:11,225 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:52:11,225 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:52:11,225 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:52:11,226 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:52:11,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:11,228 INFO L93 Difference]: Finished difference Result 115 states and 142 transitions. [2022-04-27 13:52:11,229 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-27 13:52:11,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:11,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:52:11,229 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:52:11,229 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:52:11,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:11,232 INFO L93 Difference]: Finished difference Result 115 states and 142 transitions. [2022-04-27 13:52:11,232 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-27 13:52:11,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:11,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:52:11,233 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:52:11,233 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:52:11,233 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:52:11,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 121 transitions. [2022-04-27 13:52:11,236 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 121 transitions. Word has length 75 [2022-04-27 13:52:11,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:52:11,236 INFO L495 AbstractCegarLoop]: Abstraction has 101 states and 121 transitions. [2022-04-27 13:52:11,236 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:52:11,236 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 121 transitions. [2022-04-27 13:52:11,243 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-27 13:52:11,244 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:52:11,244 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:52:11,261 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:52:11,444 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:52:11,445 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:52:11,445 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:52:11,445 INFO L85 PathProgramCache]: Analyzing trace with hash 1204093031, now seen corresponding path program 1 times [2022-04-27 13:52:11,445 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:52:11,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [699972912] [2022-04-27 13:52:11,445 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:52:11,445 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:52:11,454 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:52:11,454 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [502115130] [2022-04-27 13:52:11,454 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:52:11,454 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:52:11,454 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:52:11,456 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:52:11,457 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:52:11,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:52:11,497 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:52:11,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:52:11,511 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:52:12,680 INFO L272 TraceCheckUtils]: 0: Hoare triple {4187#true} call ULTIMATE.init(); {4187#true} is VALID [2022-04-27 13:52:12,680 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:52:12,680 INFO L290 TraceCheckUtils]: 2: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,680 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4187#true} {4187#true} #94#return; {4187#true} is VALID [2022-04-27 13:52:12,680 INFO L272 TraceCheckUtils]: 4: Hoare triple {4187#true} call #t~ret5 := main(); {4187#true} is VALID [2022-04-27 13:52:12,681 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:52:12,681 INFO L272 TraceCheckUtils]: 6: Hoare triple {4187#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:52:12,681 INFO L290 TraceCheckUtils]: 7: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:12,681 INFO L290 TraceCheckUtils]: 8: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:12,681 INFO L290 TraceCheckUtils]: 9: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,681 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4187#true} {4187#true} #78#return; {4187#true} is VALID [2022-04-27 13:52:12,681 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:52:12,681 INFO L290 TraceCheckUtils]: 12: Hoare triple {4225#(<= 1 main_~p~0)} assume !false; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:52:12,682 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:52:12,682 INFO L290 TraceCheckUtils]: 14: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:12,682 INFO L290 TraceCheckUtils]: 15: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:12,682 INFO L290 TraceCheckUtils]: 16: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,682 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:52:12,682 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:52:12,682 INFO L290 TraceCheckUtils]: 19: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:12,682 INFO L290 TraceCheckUtils]: 20: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:12,683 INFO L290 TraceCheckUtils]: 21: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,683 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:52:12,683 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:52:12,683 INFO L290 TraceCheckUtils]: 24: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:12,684 INFO L290 TraceCheckUtils]: 25: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:12,684 INFO L290 TraceCheckUtils]: 26: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,684 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:52:12,685 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:52:12,685 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:52:12,685 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:52:12,685 INFO L290 TraceCheckUtils]: 31: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:12,685 INFO L290 TraceCheckUtils]: 32: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:12,685 INFO L290 TraceCheckUtils]: 33: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,699 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:52:12,700 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:52:12,700 INFO L290 TraceCheckUtils]: 36: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:12,700 INFO L290 TraceCheckUtils]: 37: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:12,700 INFO L290 TraceCheckUtils]: 38: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,700 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:52:12,701 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:52:12,701 INFO L290 TraceCheckUtils]: 41: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:12,701 INFO L290 TraceCheckUtils]: 42: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:12,701 INFO L290 TraceCheckUtils]: 43: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,701 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:52:12,702 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:52:12,702 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:52:12,702 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:52:12,702 INFO L290 TraceCheckUtils]: 48: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:12,702 INFO L290 TraceCheckUtils]: 49: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:12,702 INFO L290 TraceCheckUtils]: 50: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,703 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:52:12,703 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:52:12,703 INFO L290 TraceCheckUtils]: 53: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:12,703 INFO L290 TraceCheckUtils]: 54: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:12,703 INFO L290 TraceCheckUtils]: 55: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,704 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:52:12,704 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:52:12,704 INFO L290 TraceCheckUtils]: 58: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:12,704 INFO L290 TraceCheckUtils]: 59: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:12,704 INFO L290 TraceCheckUtils]: 60: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,704 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:52:12,705 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:52:12,705 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:52:12,705 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:52:12,705 INFO L290 TraceCheckUtils]: 65: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:12,705 INFO L290 TraceCheckUtils]: 66: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:12,705 INFO L290 TraceCheckUtils]: 67: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,706 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:52:12,706 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:52:12,706 INFO L290 TraceCheckUtils]: 70: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:52:12,706 INFO L290 TraceCheckUtils]: 71: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:52:12,706 INFO L290 TraceCheckUtils]: 72: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:52:12,706 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:52:12,707 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:52:12,707 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:52:12,707 INFO L290 TraceCheckUtils]: 76: Hoare triple {4188#false} ~cond := #in~cond; {4188#false} is VALID [2022-04-27 13:52:12,707 INFO L290 TraceCheckUtils]: 77: Hoare triple {4188#false} assume !(0 == ~cond); {4188#false} is VALID [2022-04-27 13:52:12,707 INFO L290 TraceCheckUtils]: 78: Hoare triple {4188#false} assume true; {4188#false} is VALID [2022-04-27 13:52:12,707 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {4188#false} {4188#false} #90#return; {4188#false} is VALID [2022-04-27 13:52:12,707 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:52:12,707 INFO L290 TraceCheckUtils]: 81: Hoare triple {4188#false} ~cond := #in~cond; {4188#false} is VALID [2022-04-27 13:52:12,707 INFO L290 TraceCheckUtils]: 82: Hoare triple {4188#false} assume 0 == ~cond; {4188#false} is VALID [2022-04-27 13:52:12,707 INFO L290 TraceCheckUtils]: 83: Hoare triple {4188#false} assume !false; {4188#false} is VALID [2022-04-27 13:52:12,708 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:52:12,708 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:52:12,708 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:52:12,708 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [699972912] [2022-04-27 13:52:12,708 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:52:12,708 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [502115130] [2022-04-27 13:52:12,708 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [502115130] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:52:12,708 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:52:12,708 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:52:12,708 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1498864258] [2022-04-27 13:52:12,708 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:52:12,709 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:52:12,709 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:52:12,709 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:52:12,749 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:52:12,749 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:52:12,749 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:52:12,749 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:52:12,749 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:52:12,750 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:52:12,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:12,921 INFO L93 Difference]: Finished difference Result 115 states and 136 transitions. [2022-04-27 13:52:12,922 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:52:12,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:52:12,922 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:52:12,922 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:52:12,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:52:12,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:52:12,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:52:12,925 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-27 13:52:12,979 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:52:12,981 INFO L225 Difference]: With dead ends: 115 [2022-04-27 13:52:12,981 INFO L226 Difference]: Without dead ends: 103 [2022-04-27 13:52:12,981 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:52:12,981 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:52:12,982 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:52:12,982 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-27 13:52:13,020 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-27 13:52:13,020 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:52:13,020 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:52:13,021 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:52:13,021 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:52:13,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:13,024 INFO L93 Difference]: Finished difference Result 103 states and 122 transitions. [2022-04-27 13:52:13,024 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-27 13:52:13,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:13,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:52:13,024 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:52:13,024 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:52:13,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:13,026 INFO L93 Difference]: Finished difference Result 103 states and 122 transitions. [2022-04-27 13:52:13,026 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-27 13:52:13,026 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:13,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:52:13,027 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:52:13,027 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:52:13,027 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:52:13,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 122 transitions. [2022-04-27 13:52:13,029 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 122 transitions. Word has length 84 [2022-04-27 13:52:13,029 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:52:13,029 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 122 transitions. [2022-04-27 13:52:13,029 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:52:13,029 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-27 13:52:13,029 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-27 13:52:13,029 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:52:13,030 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:52:13,057 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:52:13,235 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:52:13,236 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:52:13,236 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:52:13,236 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 2 times [2022-04-27 13:52:13,236 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:52:13,236 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [181816698] [2022-04-27 13:52:13,236 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:52:13,236 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:52:13,249 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:52:13,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [341956874] [2022-04-27 13:52:13,249 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:52:13,249 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:52:13,249 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:52:13,254 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:52:13,255 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:52:13,300 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:52:13,300 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:52:13,302 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-27 13:52:13,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:52:13,319 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:52:16,700 INFO L272 TraceCheckUtils]: 0: Hoare triple {4957#true} call ULTIMATE.init(); {4957#true} is VALID [2022-04-27 13:52:16,700 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:52:16,700 INFO L290 TraceCheckUtils]: 2: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,701 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4957#true} {4957#true} #94#return; {4957#true} is VALID [2022-04-27 13:52:16,701 INFO L272 TraceCheckUtils]: 4: Hoare triple {4957#true} call #t~ret5 := main(); {4957#true} is VALID [2022-04-27 13:52:16,701 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:52:16,701 INFO L272 TraceCheckUtils]: 6: Hoare triple {4957#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:16,701 INFO L290 TraceCheckUtils]: 7: Hoare triple {4957#true} ~cond := #in~cond; {4983#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:52:16,701 INFO L290 TraceCheckUtils]: 8: Hoare triple {4983#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4987#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:52:16,702 INFO L290 TraceCheckUtils]: 9: Hoare triple {4987#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4987#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:52:16,702 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4987#(not (= |assume_abort_if_not_#in~cond| 0))} {4957#true} #78#return; {4994#(and (<= 0 main_~A~0) (<= main_~A~0 2))} is VALID [2022-04-27 13:52:16,710 INFO L290 TraceCheckUtils]: 11: Hoare triple {4994#(and (<= 0 main_~A~0) (<= main_~A~0 2))} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,711 INFO L290 TraceCheckUtils]: 12: Hoare triple {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} assume !false; {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,711 INFO L272 TraceCheckUtils]: 13: Hoare triple {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:16,711 INFO L290 TraceCheckUtils]: 14: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,711 INFO L290 TraceCheckUtils]: 15: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,711 INFO L290 TraceCheckUtils]: 16: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,712 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4957#true} {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} #80#return; {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,712 INFO L272 TraceCheckUtils]: 18: Hoare triple {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:16,712 INFO L290 TraceCheckUtils]: 19: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,712 INFO L290 TraceCheckUtils]: 20: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,712 INFO L290 TraceCheckUtils]: 21: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,712 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4957#true} {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} #82#return; {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,712 INFO L272 TraceCheckUtils]: 23: Hoare triple {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:16,712 INFO L290 TraceCheckUtils]: 24: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,712 INFO L290 TraceCheckUtils]: 25: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,713 INFO L290 TraceCheckUtils]: 26: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,713 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4957#true} {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} #84#return; {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,713 INFO L290 TraceCheckUtils]: 28: Hoare triple {4998#(and (= main_~d~0 1) (<= main_~r~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,714 INFO L290 TraceCheckUtils]: 29: Hoare triple {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} assume !false; {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,714 INFO L272 TraceCheckUtils]: 30: Hoare triple {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:16,714 INFO L290 TraceCheckUtils]: 31: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,714 INFO L290 TraceCheckUtils]: 32: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,714 INFO L290 TraceCheckUtils]: 33: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,715 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4957#true} {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} #80#return; {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,715 INFO L272 TraceCheckUtils]: 35: Hoare triple {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:16,715 INFO L290 TraceCheckUtils]: 36: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,715 INFO L290 TraceCheckUtils]: 37: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,715 INFO L290 TraceCheckUtils]: 38: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,715 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4957#true} {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} #82#return; {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,715 INFO L272 TraceCheckUtils]: 40: Hoare triple {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:16,715 INFO L290 TraceCheckUtils]: 41: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,716 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,716 INFO L290 TraceCheckUtils]: 43: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,716 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4957#true} {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} #84#return; {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,717 INFO L290 TraceCheckUtils]: 45: Hoare triple {5050#(and (= main_~d~0 2) (<= main_~r~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,717 INFO L290 TraceCheckUtils]: 46: Hoare triple {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} assume !false; {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,717 INFO L272 TraceCheckUtils]: 47: Hoare triple {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:16,717 INFO L290 TraceCheckUtils]: 48: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,717 INFO L290 TraceCheckUtils]: 49: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,717 INFO L290 TraceCheckUtils]: 50: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,718 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4957#true} {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} #80#return; {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,718 INFO L272 TraceCheckUtils]: 52: Hoare triple {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:16,718 INFO L290 TraceCheckUtils]: 53: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,718 INFO L290 TraceCheckUtils]: 54: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,718 INFO L290 TraceCheckUtils]: 55: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,718 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4957#true} {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} #82#return; {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,718 INFO L272 TraceCheckUtils]: 57: Hoare triple {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:16,718 INFO L290 TraceCheckUtils]: 58: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,719 INFO L290 TraceCheckUtils]: 59: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,719 INFO L290 TraceCheckUtils]: 60: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,719 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {4957#true} {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} #84#return; {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,719 INFO L290 TraceCheckUtils]: 62: Hoare triple {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} assume !(~r~0 >= ~d~0); {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,720 INFO L290 TraceCheckUtils]: 63: Hoare triple {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} assume !false; {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,720 INFO L272 TraceCheckUtils]: 64: Hoare triple {5102#(and (= main_~d~0 4) (<= main_~r~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:52:16,720 INFO L290 TraceCheckUtils]: 65: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,720 INFO L290 TraceCheckUtils]: 66: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,720 INFO L290 TraceCheckUtils]: 67: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,721 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4957#true} {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} #86#return; {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,721 INFO L272 TraceCheckUtils]: 69: Hoare triple {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:16,721 INFO L290 TraceCheckUtils]: 70: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,721 INFO L290 TraceCheckUtils]: 71: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,721 INFO L290 TraceCheckUtils]: 72: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,722 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4957#true} {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} #88#return; {5102#(and (= main_~d~0 4) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,722 INFO L290 TraceCheckUtils]: 74: Hoare triple {5102#(and (= main_~d~0 4) (<= main_~r~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); {5190#(and (<= 2 main_~d~0) (<= main_~r~0 2))} is VALID [2022-04-27 13:52:16,723 INFO L290 TraceCheckUtils]: 75: Hoare triple {5190#(and (<= 2 main_~d~0) (<= main_~r~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5194#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} is VALID [2022-04-27 13:52:16,723 INFO L290 TraceCheckUtils]: 76: Hoare triple {5194#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} assume !false; {5194#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} is VALID [2022-04-27 13:52:16,723 INFO L272 TraceCheckUtils]: 77: Hoare triple {5194#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~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:52:16,723 INFO L290 TraceCheckUtils]: 78: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,723 INFO L290 TraceCheckUtils]: 79: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,723 INFO L290 TraceCheckUtils]: 80: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,724 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {4957#true} {5194#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} #86#return; {5194#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} is VALID [2022-04-27 13:52:16,724 INFO L272 TraceCheckUtils]: 82: Hoare triple {5194#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:52:16,724 INFO L290 TraceCheckUtils]: 83: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:52:16,724 INFO L290 TraceCheckUtils]: 84: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:52:16,724 INFO L290 TraceCheckUtils]: 85: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:52:16,724 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {4957#true} {5194#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} #88#return; {5194#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~0) 2))} is VALID [2022-04-27 13:52:16,725 INFO L290 TraceCheckUtils]: 87: Hoare triple {5194#(and (<= 2 main_~d~0) (<= (+ main_~d~0 main_~r~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); {5231#(and (< 0 main_~d~0) (< 0 (div (+ 2 (* (- 1) main_~r~0)) 2)))} is VALID [2022-04-27 13:52:16,726 INFO L290 TraceCheckUtils]: 88: Hoare triple {5231#(and (< 0 main_~d~0) (< 0 (div (+ 2 (* (- 1) main_~r~0)) 2)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4958#false} is VALID [2022-04-27 13:52:16,726 INFO L290 TraceCheckUtils]: 89: Hoare triple {4958#false} assume !false; {4958#false} is VALID [2022-04-27 13:52:16,726 INFO L272 TraceCheckUtils]: 90: Hoare triple {4958#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4958#false} is VALID [2022-04-27 13:52:16,726 INFO L290 TraceCheckUtils]: 91: Hoare triple {4958#false} ~cond := #in~cond; {4958#false} is VALID [2022-04-27 13:52:16,726 INFO L290 TraceCheckUtils]: 92: Hoare triple {4958#false} assume 0 == ~cond; {4958#false} is VALID [2022-04-27 13:52:16,726 INFO L290 TraceCheckUtils]: 93: Hoare triple {4958#false} assume !false; {4958#false} is VALID [2022-04-27 13:52:16,726 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 30 proven. 20 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-27 13:52:16,726 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:52:18,738 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:52:18,739 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [181816698] [2022-04-27 13:52:18,739 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:52:18,739 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [341956874] [2022-04-27 13:52:18,739 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [341956874] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:52:18,739 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:52:18,739 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-27 13:52:18,739 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [215072539] [2022-04-27 13:52:18,739 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:52:18,740 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 94 [2022-04-27 13:52:18,740 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:52:18,740 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-27 13:52:18,782 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:52:18,782 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 13:52:18,782 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:52:18,783 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 13:52:18,783 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=168, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:52:18,783 INFO L87 Difference]: Start difference. First operand 103 states and 122 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-27 13:52:19,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:19,708 INFO L93 Difference]: Finished difference Result 186 states and 235 transitions. [2022-04-27 13:52:19,708 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:52:19,708 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) Word has length 94 [2022-04-27 13:52:19,708 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:52:19,708 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-27 13:52:19,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 124 transitions. [2022-04-27 13:52:19,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-27 13:52:19,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 124 transitions. [2022-04-27 13:52:19,712 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 124 transitions. [2022-04-27 13:52:19,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:52:19,818 INFO L225 Difference]: With dead ends: 186 [2022-04-27 13:52:19,818 INFO L226 Difference]: Without dead ends: 121 [2022-04-27 13:52:19,819 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=84, Invalid=336, Unknown=0, NotChecked=0, Total=420 [2022-04-27 13:52:19,819 INFO L413 NwaCegarLoop]: 62 mSDtfsCounter, 38 mSDsluCounter, 208 mSDsCounter, 0 mSdLazyCounter, 258 mSolverCounterSat, 62 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 270 SdHoareTripleChecker+Invalid, 320 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 62 IncrementalHoareTripleChecker+Valid, 258 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:52:19,819 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 270 Invalid, 320 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [62 Valid, 258 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 13:52:19,821 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-27 13:52:19,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 104. [2022-04-27 13:52:19,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:52:19,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 104 states, 64 states have (on average 1.125) internal successors, (72), 65 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:52:19,885 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 104 states, 64 states have (on average 1.125) internal successors, (72), 65 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:52:19,885 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 104 states, 64 states have (on average 1.125) internal successors, (72), 65 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:52:19,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:19,889 INFO L93 Difference]: Finished difference Result 121 states and 151 transitions. [2022-04-27 13:52:19,889 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 151 transitions. [2022-04-27 13:52:19,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:19,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:52:19,906 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 64 states have (on average 1.125) internal successors, (72), 65 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 121 states. [2022-04-27 13:52:19,906 INFO L87 Difference]: Start difference. First operand has 104 states, 64 states have (on average 1.125) internal successors, (72), 65 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 121 states. [2022-04-27 13:52:19,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:19,908 INFO L93 Difference]: Finished difference Result 121 states and 151 transitions. [2022-04-27 13:52:19,908 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 151 transitions. [2022-04-27 13:52:19,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:19,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:52:19,909 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:52:19,909 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:52:19,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 64 states have (on average 1.125) internal successors, (72), 65 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:52:19,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 122 transitions. [2022-04-27 13:52:19,911 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 122 transitions. Word has length 94 [2022-04-27 13:52:19,911 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:52:19,911 INFO L495 AbstractCegarLoop]: Abstraction has 104 states and 122 transitions. [2022-04-27 13:52:19,911 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 6 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-27 13:52:19,911 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 122 transitions. [2022-04-27 13:52:19,912 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-27 13:52:19,912 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:52:19,912 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:52:19,929 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:52:20,120 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:52:20,120 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:52:20,121 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:52:20,121 INFO L85 PathProgramCache]: Analyzing trace with hash -1821891511, now seen corresponding path program 1 times [2022-04-27 13:52:20,121 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:52:20,121 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1455382815] [2022-04-27 13:52:20,121 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:52:20,121 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:52:20,133 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:52:20,133 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2114476715] [2022-04-27 13:52:20,134 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:52:20,134 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:52:20,134 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:52:20,135 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:52:20,141 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:52:20,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:52:20,189 INFO L263 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-27 13:52:20,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:52:20,206 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:52:22,024 INFO L272 TraceCheckUtils]: 0: Hoare triple {5981#true} call ULTIMATE.init(); {5981#true} is VALID [2022-04-27 13:52:22,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {5981#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); {5981#true} is VALID [2022-04-27 13:52:22,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,024 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5981#true} {5981#true} #94#return; {5981#true} is VALID [2022-04-27 13:52:22,024 INFO L272 TraceCheckUtils]: 4: Hoare triple {5981#true} call #t~ret5 := main(); {5981#true} is VALID [2022-04-27 13:52:22,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {5981#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; {5981#true} is VALID [2022-04-27 13:52:22,024 INFO L272 TraceCheckUtils]: 6: Hoare triple {5981#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {5981#true} is VALID [2022-04-27 13:52:22,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {5981#true} ~cond := #in~cond; {5981#true} is VALID [2022-04-27 13:52:22,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {5981#true} assume !(0 == ~cond); {5981#true} is VALID [2022-04-27 13:52:22,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,025 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5981#true} {5981#true} #78#return; {5981#true} is VALID [2022-04-27 13:52:22,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {5981#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6019#(<= 1 main_~d~0)} is VALID [2022-04-27 13:52:22,025 INFO L290 TraceCheckUtils]: 12: Hoare triple {6019#(<= 1 main_~d~0)} assume !false; {6019#(<= 1 main_~d~0)} is VALID [2022-04-27 13:52:22,025 INFO L272 TraceCheckUtils]: 13: Hoare triple {6019#(<= 1 main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5981#true} is VALID [2022-04-27 13:52:22,025 INFO L290 TraceCheckUtils]: 14: Hoare triple {5981#true} ~cond := #in~cond; {5981#true} is VALID [2022-04-27 13:52:22,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {5981#true} assume !(0 == ~cond); {5981#true} is VALID [2022-04-27 13:52:22,025 INFO L290 TraceCheckUtils]: 16: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,032 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5981#true} {6019#(<= 1 main_~d~0)} #80#return; {6019#(<= 1 main_~d~0)} is VALID [2022-04-27 13:52:22,032 INFO L272 TraceCheckUtils]: 18: Hoare triple {6019#(<= 1 main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5981#true} is VALID [2022-04-27 13:52:22,032 INFO L290 TraceCheckUtils]: 19: Hoare triple {5981#true} ~cond := #in~cond; {5981#true} is VALID [2022-04-27 13:52:22,032 INFO L290 TraceCheckUtils]: 20: Hoare triple {5981#true} assume !(0 == ~cond); {5981#true} is VALID [2022-04-27 13:52:22,032 INFO L290 TraceCheckUtils]: 21: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,033 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5981#true} {6019#(<= 1 main_~d~0)} #82#return; {6019#(<= 1 main_~d~0)} is VALID [2022-04-27 13:52:22,033 INFO L272 TraceCheckUtils]: 23: Hoare triple {6019#(<= 1 main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5981#true} is VALID [2022-04-27 13:52:22,033 INFO L290 TraceCheckUtils]: 24: Hoare triple {5981#true} ~cond := #in~cond; {5981#true} is VALID [2022-04-27 13:52:22,033 INFO L290 TraceCheckUtils]: 25: Hoare triple {5981#true} assume !(0 == ~cond); {5981#true} is VALID [2022-04-27 13:52:22,033 INFO L290 TraceCheckUtils]: 26: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,034 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5981#true} {6019#(<= 1 main_~d~0)} #84#return; {6019#(<= 1 main_~d~0)} is VALID [2022-04-27 13:52:22,034 INFO L290 TraceCheckUtils]: 28: Hoare triple {6019#(<= 1 main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6071#(<= 1 (div main_~d~0 2))} is VALID [2022-04-27 13:52:22,035 INFO L290 TraceCheckUtils]: 29: Hoare triple {6071#(<= 1 (div main_~d~0 2))} assume !false; {6071#(<= 1 (div main_~d~0 2))} is VALID [2022-04-27 13:52:22,035 INFO L272 TraceCheckUtils]: 30: Hoare triple {6071#(<= 1 (div main_~d~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5981#true} is VALID [2022-04-27 13:52:22,035 INFO L290 TraceCheckUtils]: 31: Hoare triple {5981#true} ~cond := #in~cond; {5981#true} is VALID [2022-04-27 13:52:22,035 INFO L290 TraceCheckUtils]: 32: Hoare triple {5981#true} assume !(0 == ~cond); {5981#true} is VALID [2022-04-27 13:52:22,035 INFO L290 TraceCheckUtils]: 33: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,035 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {5981#true} {6071#(<= 1 (div main_~d~0 2))} #80#return; {6071#(<= 1 (div main_~d~0 2))} is VALID [2022-04-27 13:52:22,035 INFO L272 TraceCheckUtils]: 35: Hoare triple {6071#(<= 1 (div main_~d~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5981#true} is VALID [2022-04-27 13:52:22,035 INFO L290 TraceCheckUtils]: 36: Hoare triple {5981#true} ~cond := #in~cond; {5981#true} is VALID [2022-04-27 13:52:22,036 INFO L290 TraceCheckUtils]: 37: Hoare triple {5981#true} assume !(0 == ~cond); {5981#true} is VALID [2022-04-27 13:52:22,036 INFO L290 TraceCheckUtils]: 38: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,036 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {5981#true} {6071#(<= 1 (div main_~d~0 2))} #82#return; {6071#(<= 1 (div main_~d~0 2))} is VALID [2022-04-27 13:52:22,036 INFO L272 TraceCheckUtils]: 40: Hoare triple {6071#(<= 1 (div main_~d~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5981#true} is VALID [2022-04-27 13:52:22,036 INFO L290 TraceCheckUtils]: 41: Hoare triple {5981#true} ~cond := #in~cond; {5981#true} is VALID [2022-04-27 13:52:22,036 INFO L290 TraceCheckUtils]: 42: Hoare triple {5981#true} assume !(0 == ~cond); {5981#true} is VALID [2022-04-27 13:52:22,036 INFO L290 TraceCheckUtils]: 43: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,037 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {5981#true} {6071#(<= 1 (div main_~d~0 2))} #84#return; {6071#(<= 1 (div main_~d~0 2))} is VALID [2022-04-27 13:52:22,038 INFO L290 TraceCheckUtils]: 45: Hoare triple {6071#(<= 1 (div main_~d~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:52:22,038 INFO L290 TraceCheckUtils]: 46: Hoare triple {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:52:22,038 INFO L272 TraceCheckUtils]: 47: Hoare triple {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5981#true} is VALID [2022-04-27 13:52:22,038 INFO L290 TraceCheckUtils]: 48: Hoare triple {5981#true} ~cond := #in~cond; {5981#true} is VALID [2022-04-27 13:52:22,038 INFO L290 TraceCheckUtils]: 49: Hoare triple {5981#true} assume !(0 == ~cond); {5981#true} is VALID [2022-04-27 13:52:22,038 INFO L290 TraceCheckUtils]: 50: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,039 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {5981#true} {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #80#return; {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:52:22,039 INFO L272 TraceCheckUtils]: 52: Hoare triple {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5981#true} is VALID [2022-04-27 13:52:22,039 INFO L290 TraceCheckUtils]: 53: Hoare triple {5981#true} ~cond := #in~cond; {5981#true} is VALID [2022-04-27 13:52:22,039 INFO L290 TraceCheckUtils]: 54: Hoare triple {5981#true} assume !(0 == ~cond); {5981#true} is VALID [2022-04-27 13:52:22,039 INFO L290 TraceCheckUtils]: 55: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,040 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {5981#true} {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #82#return; {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:52:22,040 INFO L272 TraceCheckUtils]: 57: Hoare triple {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5981#true} is VALID [2022-04-27 13:52:22,040 INFO L290 TraceCheckUtils]: 58: Hoare triple {5981#true} ~cond := #in~cond; {5981#true} is VALID [2022-04-27 13:52:22,040 INFO L290 TraceCheckUtils]: 59: Hoare triple {5981#true} assume !(0 == ~cond); {5981#true} is VALID [2022-04-27 13:52:22,040 INFO L290 TraceCheckUtils]: 60: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,040 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {5981#true} {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #84#return; {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:52:22,041 INFO L290 TraceCheckUtils]: 62: Hoare triple {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:52:22,041 INFO L290 TraceCheckUtils]: 63: Hoare triple {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:52:22,041 INFO L272 TraceCheckUtils]: 64: Hoare triple {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5981#true} is VALID [2022-04-27 13:52:22,041 INFO L290 TraceCheckUtils]: 65: Hoare triple {5981#true} ~cond := #in~cond; {5981#true} is VALID [2022-04-27 13:52:22,041 INFO L290 TraceCheckUtils]: 66: Hoare triple {5981#true} assume !(0 == ~cond); {5981#true} is VALID [2022-04-27 13:52:22,041 INFO L290 TraceCheckUtils]: 67: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,042 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {5981#true} {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #86#return; {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:52:22,042 INFO L272 TraceCheckUtils]: 69: Hoare triple {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5981#true} is VALID [2022-04-27 13:52:22,042 INFO L290 TraceCheckUtils]: 70: Hoare triple {5981#true} ~cond := #in~cond; {5981#true} is VALID [2022-04-27 13:52:22,042 INFO L290 TraceCheckUtils]: 71: Hoare triple {5981#true} assume !(0 == ~cond); {5981#true} is VALID [2022-04-27 13:52:22,042 INFO L290 TraceCheckUtils]: 72: Hoare triple {5981#true} assume true; {5981#true} is VALID [2022-04-27 13:52:22,042 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {5981#true} {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #88#return; {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:52:22,044 INFO L290 TraceCheckUtils]: 74: Hoare triple {6123#(and (<= 1 (div (div (* (- 1) main_~d~0) (- 2)) 2)) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~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); {6211#(and (< 0 (div main_~r~0 2)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:52:22,044 INFO L290 TraceCheckUtils]: 75: Hoare triple {6211#(and (< 0 (div main_~r~0 2)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {5982#false} is VALID [2022-04-27 13:52:22,044 INFO L290 TraceCheckUtils]: 76: Hoare triple {5982#false} assume !false; {5982#false} is VALID [2022-04-27 13:52:22,044 INFO L272 TraceCheckUtils]: 77: Hoare triple {5982#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5982#false} is VALID [2022-04-27 13:52:22,044 INFO L290 TraceCheckUtils]: 78: Hoare triple {5982#false} ~cond := #in~cond; {5982#false} is VALID [2022-04-27 13:52:22,044 INFO L290 TraceCheckUtils]: 79: Hoare triple {5982#false} assume !(0 == ~cond); {5982#false} is VALID [2022-04-27 13:52:22,044 INFO L290 TraceCheckUtils]: 80: Hoare triple {5982#false} assume true; {5982#false} is VALID [2022-04-27 13:52:22,044 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {5982#false} {5982#false} #86#return; {5982#false} is VALID [2022-04-27 13:52:22,044 INFO L272 TraceCheckUtils]: 82: Hoare triple {5982#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5982#false} is VALID [2022-04-27 13:52:22,044 INFO L290 TraceCheckUtils]: 83: Hoare triple {5982#false} ~cond := #in~cond; {5982#false} is VALID [2022-04-27 13:52:22,044 INFO L290 TraceCheckUtils]: 84: Hoare triple {5982#false} assume !(0 == ~cond); {5982#false} is VALID [2022-04-27 13:52:22,045 INFO L290 TraceCheckUtils]: 85: Hoare triple {5982#false} assume true; {5982#false} is VALID [2022-04-27 13:52:22,045 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {5982#false} {5982#false} #88#return; {5982#false} is VALID [2022-04-27 13:52:22,045 INFO L290 TraceCheckUtils]: 87: Hoare triple {5982#false} 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); {5982#false} is VALID [2022-04-27 13:52:22,045 INFO L290 TraceCheckUtils]: 88: Hoare triple {5982#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5982#false} is VALID [2022-04-27 13:52:22,045 INFO L290 TraceCheckUtils]: 89: Hoare triple {5982#false} assume !false; {5982#false} is VALID [2022-04-27 13:52:22,045 INFO L272 TraceCheckUtils]: 90: Hoare triple {5982#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5982#false} is VALID [2022-04-27 13:52:22,045 INFO L290 TraceCheckUtils]: 91: Hoare triple {5982#false} ~cond := #in~cond; {5982#false} is VALID [2022-04-27 13:52:22,045 INFO L290 TraceCheckUtils]: 92: Hoare triple {5982#false} assume 0 == ~cond; {5982#false} is VALID [2022-04-27 13:52:22,045 INFO L290 TraceCheckUtils]: 93: Hoare triple {5982#false} assume !false; {5982#false} is VALID [2022-04-27 13:52:22,045 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 132 proven. 0 refuted. 0 times theorem prover too weak. 230 trivial. 0 not checked. [2022-04-27 13:52:22,045 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:52:22,046 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:52:22,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1455382815] [2022-04-27 13:52:22,046 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:52:22,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2114476715] [2022-04-27 13:52:22,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2114476715] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:52:22,046 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:52:22,046 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:52:22,046 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1685479278] [2022-04-27 13:52:22,046 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:52:22,047 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) Word has length 94 [2022-04-27 13:52:22,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:52:22,047 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-27 13:52:22,089 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:52:22,090 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:52:22,090 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:52:22,090 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:52:22,090 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:52:22,090 INFO L87 Difference]: Start difference. First operand 104 states and 122 transitions. Second operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-27 13:52:22,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:22,456 INFO L93 Difference]: Finished difference Result 135 states and 158 transitions. [2022-04-27 13:52:22,456 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:52:22,456 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) Word has length 94 [2022-04-27 13:52:22,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:52:22,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-27 13:52:22,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 95 transitions. [2022-04-27 13:52:22,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-27 13:52:22,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 95 transitions. [2022-04-27 13:52:22,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 95 transitions. [2022-04-27 13:52:22,531 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:52:22,532 INFO L225 Difference]: With dead ends: 135 [2022-04-27 13:52:22,532 INFO L226 Difference]: Without dead ends: 101 [2022-04-27 13:52:22,533 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 89 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:52:22,533 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 6 mSDsluCounter, 79 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:52:22,533 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 133 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:52:22,534 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-27 13:52:22,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 95. [2022-04-27 13:52:22,609 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:52:22,609 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 95 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 22 states have call successors, (22), 14 states have call predecessors, (22), 13 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:52:22,609 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 95 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 22 states have call successors, (22), 14 states have call predecessors, (22), 13 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:52:22,610 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 95 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 22 states have call successors, (22), 14 states have call predecessors, (22), 13 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:52:22,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:22,611 INFO L93 Difference]: Finished difference Result 101 states and 116 transitions. [2022-04-27 13:52:22,612 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 116 transitions. [2022-04-27 13:52:22,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:22,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:52:22,612 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 22 states have call successors, (22), 14 states have call predecessors, (22), 13 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 101 states. [2022-04-27 13:52:22,612 INFO L87 Difference]: Start difference. First operand has 95 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 22 states have call successors, (22), 14 states have call predecessors, (22), 13 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 101 states. [2022-04-27 13:52:22,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:22,614 INFO L93 Difference]: Finished difference Result 101 states and 116 transitions. [2022-04-27 13:52:22,614 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 116 transitions. [2022-04-27 13:52:22,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:22,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:52:22,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:52:22,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:52:22,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 59 states have (on average 1.0847457627118644) internal successors, (64), 60 states have internal predecessors, (64), 22 states have call successors, (22), 14 states have call predecessors, (22), 13 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:52:22,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 106 transitions. [2022-04-27 13:52:22,616 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 106 transitions. Word has length 94 [2022-04-27 13:52:22,616 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:52:22,616 INFO L495 AbstractCegarLoop]: Abstraction has 95 states and 106 transitions. [2022-04-27 13:52:22,616 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.5) internal successors, (27), 6 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (15), 5 states have call predecessors, (15), 5 states have call successors, (15) [2022-04-27 13:52:22,616 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 106 transitions. [2022-04-27 13:52:22,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-27 13:52:22,617 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:52:22,617 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 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] [2022-04-27 13:52:22,634 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:52:22,831 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:52:22,831 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:52:22,832 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:52:22,832 INFO L85 PathProgramCache]: Analyzing trace with hash -2142093698, now seen corresponding path program 2 times [2022-04-27 13:52:22,832 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:52:22,832 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [767027843] [2022-04-27 13:52:22,832 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:52:22,832 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:52:22,842 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:52:22,842 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [835346049] [2022-04-27 13:52:22,842 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:52:22,842 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:52:22,842 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:52:22,843 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:52:22,844 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:52:22,889 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:52:22,890 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:52:22,891 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-27 13:52:22,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:52:22,906 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:52:23,474 INFO L272 TraceCheckUtils]: 0: Hoare triple {6796#true} call ULTIMATE.init(); {6796#true} is VALID [2022-04-27 13:52:23,475 INFO L290 TraceCheckUtils]: 1: Hoare triple {6796#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); {6796#true} is VALID [2022-04-27 13:52:23,475 INFO L290 TraceCheckUtils]: 2: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,475 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6796#true} {6796#true} #94#return; {6796#true} is VALID [2022-04-27 13:52:23,475 INFO L272 TraceCheckUtils]: 4: Hoare triple {6796#true} call #t~ret5 := main(); {6796#true} is VALID [2022-04-27 13:52:23,475 INFO L290 TraceCheckUtils]: 5: Hoare triple {6796#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; {6796#true} is VALID [2022-04-27 13:52:23,475 INFO L272 TraceCheckUtils]: 6: Hoare triple {6796#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:23,475 INFO L290 TraceCheckUtils]: 7: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,475 INFO L290 TraceCheckUtils]: 8: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,475 INFO L290 TraceCheckUtils]: 9: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,475 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6796#true} {6796#true} #78#return; {6796#true} is VALID [2022-04-27 13:52:23,476 INFO L290 TraceCheckUtils]: 11: Hoare triple {6796#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:23,476 INFO L290 TraceCheckUtils]: 12: Hoare triple {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:23,476 INFO L272 TraceCheckUtils]: 13: Hoare triple {6834#(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)); {6796#true} is VALID [2022-04-27 13:52:23,476 INFO L290 TraceCheckUtils]: 14: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,476 INFO L290 TraceCheckUtils]: 15: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,476 INFO L290 TraceCheckUtils]: 16: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,480 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6796#true} {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:23,480 INFO L272 TraceCheckUtils]: 18: Hoare triple {6834#(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)); {6796#true} is VALID [2022-04-27 13:52:23,480 INFO L290 TraceCheckUtils]: 19: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,480 INFO L290 TraceCheckUtils]: 20: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,480 INFO L290 TraceCheckUtils]: 21: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,481 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6796#true} {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:23,481 INFO L272 TraceCheckUtils]: 23: Hoare triple {6834#(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)); {6796#true} is VALID [2022-04-27 13:52:23,481 INFO L290 TraceCheckUtils]: 24: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,481 INFO L290 TraceCheckUtils]: 25: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,481 INFO L290 TraceCheckUtils]: 26: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,482 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6796#true} {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:23,482 INFO L290 TraceCheckUtils]: 28: Hoare triple {6834#(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; {6886#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:52:23,483 INFO L290 TraceCheckUtils]: 29: Hoare triple {6886#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {6886#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:52:23,483 INFO L272 TraceCheckUtils]: 30: Hoare triple {6886#(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)); {6796#true} is VALID [2022-04-27 13:52:23,483 INFO L290 TraceCheckUtils]: 31: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,483 INFO L290 TraceCheckUtils]: 32: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,483 INFO L290 TraceCheckUtils]: 33: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,483 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6796#true} {6886#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {6886#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:52:23,484 INFO L272 TraceCheckUtils]: 35: Hoare triple {6886#(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)); {6796#true} is VALID [2022-04-27 13:52:23,484 INFO L290 TraceCheckUtils]: 36: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,484 INFO L290 TraceCheckUtils]: 37: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,484 INFO L290 TraceCheckUtils]: 38: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,484 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6796#true} {6886#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {6886#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:52:23,484 INFO L272 TraceCheckUtils]: 40: Hoare triple {6886#(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)); {6796#true} is VALID [2022-04-27 13:52:23,484 INFO L290 TraceCheckUtils]: 41: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,485 INFO L290 TraceCheckUtils]: 42: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,485 INFO L290 TraceCheckUtils]: 43: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,485 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6796#true} {6886#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #84#return; {6886#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:52:23,485 INFO L290 TraceCheckUtils]: 45: Hoare triple {6886#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-27 13:52:23,486 INFO L290 TraceCheckUtils]: 46: Hoare triple {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} assume !false; {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-27 13:52:23,486 INFO L272 TraceCheckUtils]: 47: Hoare triple {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:23,486 INFO L290 TraceCheckUtils]: 48: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,486 INFO L290 TraceCheckUtils]: 49: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,486 INFO L290 TraceCheckUtils]: 50: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,487 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6796#true} {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} #80#return; {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-27 13:52:23,487 INFO L272 TraceCheckUtils]: 52: Hoare triple {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:23,487 INFO L290 TraceCheckUtils]: 53: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,487 INFO L290 TraceCheckUtils]: 54: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,487 INFO L290 TraceCheckUtils]: 55: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,487 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6796#true} {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} #82#return; {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-27 13:52:23,488 INFO L272 TraceCheckUtils]: 57: Hoare triple {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:23,488 INFO L290 TraceCheckUtils]: 58: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,488 INFO L290 TraceCheckUtils]: 59: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,488 INFO L290 TraceCheckUtils]: 60: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,488 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6796#true} {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} #84#return; {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-27 13:52:23,489 INFO L290 TraceCheckUtils]: 62: Hoare triple {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} assume !(~r~0 >= ~d~0); {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-27 13:52:23,489 INFO L290 TraceCheckUtils]: 63: Hoare triple {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} assume !false; {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-27 13:52:23,489 INFO L272 TraceCheckUtils]: 64: Hoare triple {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:23,489 INFO L290 TraceCheckUtils]: 65: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,490 INFO L290 TraceCheckUtils]: 66: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,490 INFO L290 TraceCheckUtils]: 67: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,490 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6796#true} {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} #86#return; {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-27 13:52:23,490 INFO L272 TraceCheckUtils]: 69: Hoare triple {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:23,490 INFO L290 TraceCheckUtils]: 70: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,490 INFO L290 TraceCheckUtils]: 71: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,490 INFO L290 TraceCheckUtils]: 72: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,491 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6796#true} {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} #88#return; {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-27 13:52:23,491 INFO L290 TraceCheckUtils]: 74: Hoare triple {6938#(and (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (<= (* main_~B~0 2) main_~r~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); {7026#(and (= main_~p~0 2) (= main_~B~0 1) (= main_~d~0 (div (* main_~B~0 4) 2)) (<= (* main_~B~0 2) main_~r~0))} is VALID [2022-04-27 13:52:23,492 INFO L290 TraceCheckUtils]: 75: Hoare triple {7026#(and (= main_~p~0 2) (= main_~B~0 1) (= main_~d~0 (div (* main_~B~0 4) 2)) (<= (* main_~B~0 2) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7030#(and (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~B~0 1) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-27 13:52:23,493 INFO L290 TraceCheckUtils]: 76: Hoare triple {7030#(and (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~B~0 1) (= main_~d~0 (div (* main_~B~0 4) 2)))} assume !false; {7030#(and (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~B~0 1) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-27 13:52:23,493 INFO L272 TraceCheckUtils]: 77: Hoare triple {7030#(and (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~B~0 1) (= main_~d~0 (div (* main_~B~0 4) 2)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:23,493 INFO L290 TraceCheckUtils]: 78: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,493 INFO L290 TraceCheckUtils]: 79: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,493 INFO L290 TraceCheckUtils]: 80: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,494 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6796#true} {7030#(and (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~B~0 1) (= main_~d~0 (div (* main_~B~0 4) 2)))} #86#return; {7030#(and (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~B~0 1) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-27 13:52:23,494 INFO L272 TraceCheckUtils]: 82: Hoare triple {7030#(and (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~B~0 1) (= main_~d~0 (div (* main_~B~0 4) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:23,494 INFO L290 TraceCheckUtils]: 83: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,494 INFO L290 TraceCheckUtils]: 84: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,494 INFO L290 TraceCheckUtils]: 85: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,495 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6796#true} {7030#(and (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~B~0 1) (= main_~d~0 (div (* main_~B~0 4) 2)))} #88#return; {7030#(and (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~B~0 1) (= main_~d~0 (div (* main_~B~0 4) 2)))} is VALID [2022-04-27 13:52:23,495 INFO L290 TraceCheckUtils]: 87: Hoare triple {7030#(and (<= (* main_~B~0 2) (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~B~0 1) (= main_~d~0 (div (* main_~B~0 4) 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); {7067#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (<= 0 main_~r~0) (= main_~B~0 1) (= main_~p~0 1))} is VALID [2022-04-27 13:52:23,496 INFO L290 TraceCheckUtils]: 88: Hoare triple {7067#(and (= main_~d~0 (div (div (* main_~B~0 4) 2) 2)) (<= 0 main_~r~0) (= main_~B~0 1) (= main_~p~0 1))} assume !(~r~0 >= ~d~0); {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:23,496 INFO L290 TraceCheckUtils]: 89: Hoare triple {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:23,496 INFO L272 TraceCheckUtils]: 90: Hoare triple {6834#(and (= main_~B~0 1) (= 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)); {6796#true} is VALID [2022-04-27 13:52:23,496 INFO L290 TraceCheckUtils]: 91: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:23,496 INFO L290 TraceCheckUtils]: 92: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:23,496 INFO L290 TraceCheckUtils]: 93: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:23,497 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {6796#true} {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #86#return; {6834#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:52:23,497 INFO L272 TraceCheckUtils]: 95: Hoare triple {6834#(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)); {7092#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:52:23,498 INFO L290 TraceCheckUtils]: 96: Hoare triple {7092#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7096#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:52:23,498 INFO L290 TraceCheckUtils]: 97: Hoare triple {7096#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6797#false} is VALID [2022-04-27 13:52:23,498 INFO L290 TraceCheckUtils]: 98: Hoare triple {6797#false} assume !false; {6797#false} is VALID [2022-04-27 13:52:23,498 INFO L134 CoverageAnalysis]: Checked inductivity of 418 backedges. 28 proven. 26 refuted. 0 times theorem prover too weak. 364 trivial. 0 not checked. [2022-04-27 13:52:23,498 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:52:42,878 INFO L290 TraceCheckUtils]: 98: Hoare triple {6797#false} assume !false; {6797#false} is VALID [2022-04-27 13:52:42,879 INFO L290 TraceCheckUtils]: 97: Hoare triple {7096#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6797#false} is VALID [2022-04-27 13:52:42,879 INFO L290 TraceCheckUtils]: 96: Hoare triple {7092#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7096#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:52:42,880 INFO L272 TraceCheckUtils]: 95: Hoare triple {7112#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {7092#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:52:42,880 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {6796#true} {7112#(= (* main_~B~0 main_~p~0) main_~d~0)} #86#return; {7112#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:52:42,880 INFO L290 TraceCheckUtils]: 93: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:42,880 INFO L290 TraceCheckUtils]: 92: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:42,880 INFO L290 TraceCheckUtils]: 91: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:42,880 INFO L272 TraceCheckUtils]: 90: Hoare triple {7112#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:42,881 INFO L290 TraceCheckUtils]: 89: Hoare triple {7112#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {7112#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:52:42,881 INFO L290 TraceCheckUtils]: 88: Hoare triple {7134#(or (= (* main_~B~0 main_~p~0) main_~d~0) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {7112#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:52:42,904 INFO L290 TraceCheckUtils]: 87: Hoare triple {7138#(and (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (<= (+ (div main_~d~0 2) 1) main_~r~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)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (<= (div main_~d~0 2) main_~r~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); {7134#(or (= (* main_~B~0 main_~p~0) main_~d~0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:52:42,905 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6796#true} {7138#(and (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (<= (+ (div main_~d~0 2) 1) main_~r~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)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (<= (div main_~d~0 2) main_~r~0)))} #88#return; {7138#(and (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (<= (+ (div main_~d~0 2) 1) main_~r~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)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (<= (div main_~d~0 2) main_~r~0)))} is VALID [2022-04-27 13:52:42,905 INFO L290 TraceCheckUtils]: 85: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:42,905 INFO L290 TraceCheckUtils]: 84: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:42,905 INFO L290 TraceCheckUtils]: 83: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:42,905 INFO L272 TraceCheckUtils]: 82: Hoare triple {7138#(and (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (<= (+ (div main_~d~0 2) 1) main_~r~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)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (<= (div main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:42,906 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {6796#true} {7138#(and (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (<= (+ (div main_~d~0 2) 1) main_~r~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)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (<= (div main_~d~0 2) main_~r~0)))} #86#return; {7138#(and (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (<= (+ (div main_~d~0 2) 1) main_~r~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)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (<= (div main_~d~0 2) main_~r~0)))} is VALID [2022-04-27 13:52:42,906 INFO L290 TraceCheckUtils]: 80: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:42,906 INFO L290 TraceCheckUtils]: 79: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:42,906 INFO L290 TraceCheckUtils]: 78: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:42,906 INFO L272 TraceCheckUtils]: 77: Hoare triple {7138#(and (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (<= (+ (div main_~d~0 2) 1) main_~r~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)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (<= (div main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:42,907 INFO L290 TraceCheckUtils]: 76: Hoare triple {7138#(and (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (<= (+ (div main_~d~0 2) 1) main_~r~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)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (<= (div main_~d~0 2) main_~r~0)))} assume !false; {7138#(and (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (<= (+ (div main_~d~0 2) 1) main_~r~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)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (<= (div main_~d~0 2) main_~r~0)))} is VALID [2022-04-27 13:52:42,908 INFO L290 TraceCheckUtils]: 75: Hoare triple {7175#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~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; {7138#(and (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (<= (+ (div main_~d~0 2) 1) main_~r~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)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (<= (div main_~d~0 2) main_~r~0)))} is VALID [2022-04-27 13:52:43,140 INFO L290 TraceCheckUtils]: 74: Hoare triple {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod 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); {7175#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (div main_~d~0 2) (* main_~B~0 (div main_~p~0 2)))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (div main_~d~0 2) (* main_~B~0 (+ (div main_~p~0 2) 1))))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0)) (or (and (or (not (< main_~p~0 0)) (= (+ (div main_~d~0 2) 1) (* main_~B~0 (+ (div main_~p~0 2) 1))) (= (mod main_~p~0 2) 0)) (or (= (+ (div main_~d~0 2) 1) (* main_~B~0 (div main_~p~0 2))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:52:43,141 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6796#true} {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} #88#return; {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:43,141 INFO L290 TraceCheckUtils]: 72: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,142 INFO L290 TraceCheckUtils]: 71: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:43,142 INFO L290 TraceCheckUtils]: 70: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:43,142 INFO L272 TraceCheckUtils]: 69: Hoare triple {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:43,142 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6796#true} {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} #86#return; {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:43,142 INFO L290 TraceCheckUtils]: 67: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,143 INFO L290 TraceCheckUtils]: 66: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:43,143 INFO L290 TraceCheckUtils]: 65: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:43,143 INFO L272 TraceCheckUtils]: 64: Hoare triple {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:43,146 INFO L290 TraceCheckUtils]: 63: Hoare triple {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} assume !false; {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:43,149 INFO L290 TraceCheckUtils]: 62: Hoare triple {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} assume !(~r~0 >= ~d~0); {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:43,150 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6796#true} {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} #84#return; {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:43,150 INFO L290 TraceCheckUtils]: 60: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,150 INFO L290 TraceCheckUtils]: 59: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:43,150 INFO L290 TraceCheckUtils]: 58: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:43,150 INFO L272 TraceCheckUtils]: 57: Hoare triple {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:43,151 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6796#true} {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} #82#return; {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:43,151 INFO L290 TraceCheckUtils]: 55: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,151 INFO L290 TraceCheckUtils]: 54: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:43,151 INFO L290 TraceCheckUtils]: 53: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:43,151 INFO L272 TraceCheckUtils]: 52: Hoare triple {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:43,152 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6796#true} {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} #80#return; {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:43,152 INFO L290 TraceCheckUtils]: 50: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,152 INFO L290 TraceCheckUtils]: 49: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:43,152 INFO L290 TraceCheckUtils]: 48: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:43,152 INFO L272 TraceCheckUtils]: 47: Hoare triple {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:43,155 INFO L290 TraceCheckUtils]: 46: Hoare triple {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} assume !false; {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:43,193 INFO L290 TraceCheckUtils]: 45: Hoare triple {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7179#(and (or (and (or (and (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2))) (not (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0) (div (+ (div main_~d~0 2) 1) 2)))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (and (or (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (and (or (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 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))) (= (div (+ (div main_~d~0 2) 1) 2) (* main_~B~0 (div (div main_~p~0 2) 2))))) (<= (+ (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2) 1) main_~r~0)) (or (<= (+ 2 (div (+ (div main_~d~0 2) 1) 2) (div main_~d~0 2)) main_~r~0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (+ (div (+ (div main_~d~0 2) 1) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (= 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 (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)) (and (or (not (< (div main_~d~0 2) 0)) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (and (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (div main_~p~0 2) 2))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (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))) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (div main_~p~0 2) 2)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (div (div main_~d~0 2) 2) (* main_~B~0 (+ (div (div main_~p~0 2) 2) 1))) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (div (div main_~d~0 2) 2) 1) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (div (div main_~d~0 2) 2) 1) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)))) (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2) 1) main_~r~0) (= (mod (div main_~d~0 2) 2) 0)) (or (<= (+ (div (div main_~d~0 2) 2) (div main_~d~0 2)) main_~r~0) (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (div (div main_~d~0 2) 2) (* main_~B~0 (div (+ (div main_~p~0 2) 1) 2)))) (or (= (div (div main_~d~0 2) 2) (* (+ (div (+ (div main_~p~0 2) 1) 2) 1) main_~B~0)) (= (mod (+ (div main_~p~0 2) 1) 2) 0))))) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:52:43,194 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {6796#true} {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} #84#return; {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} is VALID [2022-04-27 13:52:43,194 INFO L290 TraceCheckUtils]: 43: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,194 INFO L290 TraceCheckUtils]: 42: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:43,194 INFO L290 TraceCheckUtils]: 41: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:43,194 INFO L272 TraceCheckUtils]: 40: Hoare triple {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:43,195 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {6796#true} {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} #82#return; {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} is VALID [2022-04-27 13:52:43,195 INFO L290 TraceCheckUtils]: 38: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,195 INFO L290 TraceCheckUtils]: 37: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:43,195 INFO L290 TraceCheckUtils]: 36: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:43,195 INFO L272 TraceCheckUtils]: 35: Hoare triple {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:43,196 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {6796#true} {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} #80#return; {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} is VALID [2022-04-27 13:52:43,196 INFO L290 TraceCheckUtils]: 33: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,196 INFO L290 TraceCheckUtils]: 32: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:43,196 INFO L290 TraceCheckUtils]: 31: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:43,196 INFO L272 TraceCheckUtils]: 30: Hoare triple {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:43,197 INFO L290 TraceCheckUtils]: 29: Hoare triple {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} assume !false; {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} is VALID [2022-04-27 13:52:43,200 INFO L290 TraceCheckUtils]: 28: Hoare triple {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7267#(or (<= (div main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (* main_~B~0 (+ (div (div (* main_~p~0 2) 2) 2) 1)) (div (div (* main_~d~0 2) 2) 2)) (= (mod (div (* main_~p~0 2) 2) 2) 0)) (or (and (not (= (mod (div (* main_~p~0 2) 2) 2) 0)) (< main_~p~0 0)) (= (* (div (div (* main_~p~0 2) 2) 2) main_~B~0) (div (div (* main_~d~0 2) 2) 2)))))} is VALID [2022-04-27 13:52:43,201 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6796#true} {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} #84#return; {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} is VALID [2022-04-27 13:52:43,201 INFO L290 TraceCheckUtils]: 26: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,201 INFO L290 TraceCheckUtils]: 25: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:43,201 INFO L290 TraceCheckUtils]: 24: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:43,201 INFO L272 TraceCheckUtils]: 23: Hoare triple {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:43,202 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6796#true} {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} #82#return; {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} is VALID [2022-04-27 13:52:43,202 INFO L290 TraceCheckUtils]: 21: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,202 INFO L290 TraceCheckUtils]: 20: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:43,202 INFO L290 TraceCheckUtils]: 19: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:43,202 INFO L272 TraceCheckUtils]: 18: Hoare triple {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:43,202 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6796#true} {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} #80#return; {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} is VALID [2022-04-27 13:52:43,202 INFO L290 TraceCheckUtils]: 16: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,203 INFO L290 TraceCheckUtils]: 15: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:43,203 INFO L290 TraceCheckUtils]: 14: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:43,203 INFO L272 TraceCheckUtils]: 13: Hoare triple {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:43,203 INFO L290 TraceCheckUtils]: 12: Hoare triple {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} assume !false; {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} is VALID [2022-04-27 13:52:43,204 INFO L290 TraceCheckUtils]: 11: Hoare triple {6796#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {7319#(or (<= main_~d~0 0) (= (div (div (* main_~d~0 4) 2) 2) (* main_~B~0 (div (div (* main_~p~0 4) 2) 2))))} is VALID [2022-04-27 13:52:43,204 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6796#true} {6796#true} #78#return; {6796#true} is VALID [2022-04-27 13:52:43,204 INFO L290 TraceCheckUtils]: 9: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,204 INFO L290 TraceCheckUtils]: 8: Hoare triple {6796#true} assume !(0 == ~cond); {6796#true} is VALID [2022-04-27 13:52:43,204 INFO L290 TraceCheckUtils]: 7: Hoare triple {6796#true} ~cond := #in~cond; {6796#true} is VALID [2022-04-27 13:52:43,204 INFO L272 TraceCheckUtils]: 6: Hoare triple {6796#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 2 then 1 else 0)); {6796#true} is VALID [2022-04-27 13:52:43,204 INFO L290 TraceCheckUtils]: 5: Hoare triple {6796#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; {6796#true} is VALID [2022-04-27 13:52:43,204 INFO L272 TraceCheckUtils]: 4: Hoare triple {6796#true} call #t~ret5 := main(); {6796#true} is VALID [2022-04-27 13:52:43,204 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6796#true} {6796#true} #94#return; {6796#true} is VALID [2022-04-27 13:52:43,204 INFO L290 TraceCheckUtils]: 2: Hoare triple {6796#true} assume true; {6796#true} is VALID [2022-04-27 13:52:43,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {6796#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); {6796#true} is VALID [2022-04-27 13:52:43,204 INFO L272 TraceCheckUtils]: 0: Hoare triple {6796#true} call ULTIMATE.init(); {6796#true} is VALID [2022-04-27 13:52:43,205 INFO L134 CoverageAnalysis]: Checked inductivity of 418 backedges. 28 proven. 26 refuted. 0 times theorem prover too weak. 364 trivial. 0 not checked. [2022-04-27 13:52:43,205 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:52:43,205 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [767027843] [2022-04-27 13:52:43,205 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:52:43,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [835346049] [2022-04-27 13:52:43,206 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [835346049] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:52:43,206 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:52:43,206 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 11] total 17 [2022-04-27 13:52:43,206 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [24815463] [2022-04-27 13:52:43,206 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:52:43,206 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.3529411764705883) internal successors, (40), 16 states have internal predecessors, (40), 10 states have call successors, (33), 2 states have call predecessors, (33), 1 states have return successors, (30), 10 states have call predecessors, (30), 10 states have call successors, (30) Word has length 99 [2022-04-27 13:52:43,207 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:52:43,207 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.3529411764705883) internal successors, (40), 16 states have internal predecessors, (40), 10 states have call successors, (33), 2 states have call predecessors, (33), 1 states have return successors, (30), 10 states have call predecessors, (30), 10 states have call successors, (30) [2022-04-27 13:52:43,555 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:52:43,555 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-27 13:52:43,555 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:52:43,556 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-27 13:52:43,556 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=193, Unknown=0, NotChecked=0, Total=272 [2022-04-27 13:52:43,556 INFO L87 Difference]: Start difference. First operand 95 states and 106 transitions. Second operand has 17 states, 17 states have (on average 2.3529411764705883) internal successors, (40), 16 states have internal predecessors, (40), 10 states have call successors, (33), 2 states have call predecessors, (33), 1 states have return successors, (30), 10 states have call predecessors, (30), 10 states have call successors, (30) [2022-04-27 13:52:44,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:44,726 INFO L93 Difference]: Finished difference Result 117 states and 129 transitions. [2022-04-27 13:52:44,726 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:52:44,727 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.3529411764705883) internal successors, (40), 16 states have internal predecessors, (40), 10 states have call successors, (33), 2 states have call predecessors, (33), 1 states have return successors, (30), 10 states have call predecessors, (30), 10 states have call successors, (30) Word has length 99 [2022-04-27 13:52:44,727 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:52:44,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.3529411764705883) internal successors, (40), 16 states have internal predecessors, (40), 10 states have call successors, (33), 2 states have call predecessors, (33), 1 states have return successors, (30), 10 states have call predecessors, (30), 10 states have call successors, (30) [2022-04-27 13:52:44,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2022-04-27 13:52:44,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.3529411764705883) internal successors, (40), 16 states have internal predecessors, (40), 10 states have call successors, (33), 2 states have call predecessors, (33), 1 states have return successors, (30), 10 states have call predecessors, (30), 10 states have call successors, (30) [2022-04-27 13:52:44,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2022-04-27 13:52:44,737 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 84 transitions. [2022-04-27 13:52:44,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:52:44,804 INFO L225 Difference]: With dead ends: 117 [2022-04-27 13:52:44,805 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 13:52:44,805 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 198 GetRequests, 181 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 64 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=83, Invalid=223, Unknown=0, NotChecked=0, Total=306 [2022-04-27 13:52:44,805 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 25 mSDsluCounter, 221 mSDsCounter, 0 mSdLazyCounter, 279 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 270 SdHoareTripleChecker+Invalid, 329 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 279 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:52:44,805 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 270 Invalid, 329 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 279 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:52:44,806 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 13:52:44,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 13:52:44,806 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:52:44,806 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:52:44,806 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:52:44,806 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:52:44,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:44,806 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:52:44,806 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:52:44,806 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:44,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:52:44,806 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:52:44,806 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:52:44,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:52:44,807 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:52:44,807 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:52:44,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:44,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:52:44,807 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:52:44,807 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:52:44,807 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:52:44,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 13:52:44,807 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 99 [2022-04-27 13:52:44,807 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:52:44,807 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 13:52:44,807 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.3529411764705883) internal successors, (40), 16 states have internal predecessors, (40), 10 states have call successors, (33), 2 states have call predecessors, (33), 1 states have return successors, (30), 10 states have call predecessors, (30), 10 states have call successors, (30) [2022-04-27 13:52:44,807 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:52:44,808 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:52:44,809 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 13:52:44,827 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:52:45,010 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:52:45,012 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 13:52:46,318 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-27 13:52:46,318 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-27 13:52:46,318 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-27 13:52:46,318 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-27 13:52:46,318 INFO L899 garLoopResultBuilder]: For program point L12(line 12) no Hoare annotation was computed. [2022-04-27 13:52:46,318 INFO L899 garLoopResultBuilder]: For program point L12-2(lines 11 13) no Hoare annotation was computed. [2022-04-27 13:52:46,318 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 11 13) no Hoare annotation was computed. [2022-04-27 13:52:46,318 INFO L895 garLoopResultBuilder]: At program point L58(line 58) the Hoare annotation is: (and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1)) [2022-04-27 13:52:46,318 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 22 61) no Hoare annotation was computed. [2022-04-27 13:52:46,318 INFO L899 garLoopResultBuilder]: For program point L52(lines 52 55) no Hoare annotation was computed. [2022-04-27 13:52:46,319 INFO L899 garLoopResultBuilder]: For program point L52-2(lines 22 61) no Hoare annotation was computed. [2022-04-27 13:52:46,319 INFO L899 garLoopResultBuilder]: For program point L46(lines 44 56) no Hoare annotation was computed. [2022-04-27 13:52:46,319 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 22 61) no Hoare annotation was computed. [2022-04-27 13:52:46,319 INFO L895 garLoopResultBuilder]: At program point L44-1(lines 44 56) the Hoare annotation is: (let ((.cse0 (= main_~B~0 1)) (.cse1 (= main_~B~0 main_~d~0)) (.cse2 (= main_~p~0 1))) (or (and (= main_~A~0 main_~r~0) (= main_~q~0 0) .cse0 .cse1 .cse2) (and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) main_~A~0) .cse0 .cse1 .cse2) (and (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (<= 0 main_~A~0) (<= 0 main_~r~0) (<= main_~A~0 2) .cse0 .cse1 .cse2))) [2022-04-27 13:52:46,319 INFO L895 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (let ((.cse1 (* main_~B~0 2)) (.cse0 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~r~0 2)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 (<= .cse1 (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~d~0 2) .cse2 .cse3 .cse4) (and .cse2 .cse3 .cse4 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (<= .cse1 main_~r~0)) (and (<= 0 main_~A~0) .cse0 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-27 13:52:46,319 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 42) the Hoare annotation is: (let ((.cse1 (* main_~B~0 2)) (.cse0 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~r~0 2)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 (<= .cse1 (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~d~0 2) .cse2 .cse3 .cse4) (and .cse2 .cse3 .cse4 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (<= .cse1 main_~r~0)) (and (<= 0 main_~A~0) .cse0 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-27 13:52:46,319 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 22 61) the Hoare annotation is: true [2022-04-27 13:52:46,319 INFO L899 garLoopResultBuilder]: For program point L59(line 59) no Hoare annotation was computed. [2022-04-27 13:52:46,319 INFO L902 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-27 13:52:46,319 INFO L899 garLoopResultBuilder]: For program point L26-1(line 26) no Hoare annotation was computed. [2022-04-27 13:52:46,319 INFO L895 garLoopResultBuilder]: At program point L45(line 45) the Hoare annotation is: (let ((.cse11 (* main_~B~0 main_~q~0)) (.cse10 (* main_~B~0 2))) (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1)) (.cse1 (= main_~q~0 0)) (.cse6 (<= 0 main_~A~0)) (.cse5 (= .cse10 main_~d~0)) (.cse7 (<= main_~A~0 2)) (.cse9 (+ main_~d~0 main_~r~0)) (.cse2 (= main_~B~0 1)) (.cse8 (= (+ .cse11 main_~r~0) main_~A~0))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 .cse5 (= main_~p~0 2) .cse1 .cse2) (and .cse6 (<= 0 main_~r~0) .cse7 .cse2 .cse8 .cse3 .cse4) (and (= .cse9 main_~A~0) .cse2 (= main_~q~0 1) .cse3 .cse4) (and (<= main_~r~0 2) .cse1 .cse2 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) .cse8 (<= .cse10 main_~r~0)) (and .cse6 .cse5 (<= .cse10 .cse9) .cse7 (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse11 main_~r~0)) (<= .cse9 2) .cse2 .cse8)))) [2022-04-27 13:52:46,319 INFO L895 garLoopResultBuilder]: At program point L45-1(line 45) the Hoare annotation is: (let ((.cse9 (* main_~B~0 main_~q~0))) (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse5 (<= 0 main_~A~0)) (.cse8 (<= main_~A~0 2)) (.cse7 (+ main_~d~0 main_~r~0)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse10 (= (+ .cse9 main_~r~0) main_~A~0)) (.cse6 (* main_~B~0 2))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse5 (<= .cse6 .cse7) .cse8 (= (+ main_~A~0 main_~d~0) (+ (* main_~B~0 main_~p~0) .cse9 main_~r~0)) (<= .cse7 2) (= main_~d~0 2) .cse2 .cse10) (and .cse0 (= .cse6 main_~d~0) (= main_~p~0 2) .cse1 .cse2) (and .cse5 (<= 0 main_~r~0) .cse8 .cse2 .cse10 .cse3 .cse4) (and (= .cse7 main_~A~0) .cse2 (= main_~q~0 1) .cse3 .cse4) (and (<= main_~r~0 2) .cse1 .cse2 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) .cse10 (<= .cse6 main_~r~0))))) [2022-04-27 13:52:46,319 INFO L899 garLoopResultBuilder]: For program point L37(lines 34 42) no Hoare annotation was computed. [2022-04-27 13:52:46,320 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse1 (* main_~B~0 2)) (.cse0 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~r~0 2)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 (<= .cse1 (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~d~0 2) .cse2 .cse3 .cse4) (and .cse2 .cse3 .cse4 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (<= .cse1 main_~r~0)) (and (<= 0 main_~A~0) .cse0 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-27 13:52:46,320 INFO L895 garLoopResultBuilder]: At program point L35-1(line 35) the Hoare annotation is: (let ((.cse1 (* main_~B~0 2)) (.cse0 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~r~0 2)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 (<= .cse1 (+ main_~d~0 main_~r~0)) (= main_~p~0 2) (= main_~d~0 2) .cse2 .cse3 .cse4) (and .cse2 .cse3 .cse4 (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (<= .cse1 main_~r~0)) (and (<= 0 main_~A~0) .cse0 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)))) [2022-04-27 13:52:46,320 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:52:46,320 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:52:46,320 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:52:46,320 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:52:46,320 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 13:52:46,320 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 13:52:46,320 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:52:46,320 INFO L899 garLoopResultBuilder]: For program point L16(lines 16 17) no Hoare annotation was computed. [2022-04-27 13:52:46,320 INFO L899 garLoopResultBuilder]: For program point L15(lines 15 18) no Hoare annotation was computed. [2022-04-27 13:52:46,320 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-27 13:52:46,320 INFO L899 garLoopResultBuilder]: For program point L15-2(lines 14 20) no Hoare annotation was computed. [2022-04-27 13:52:46,320 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 14 20) no Hoare annotation was computed. [2022-04-27 13:52:46,320 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) no Hoare annotation was computed. [2022-04-27 13:52:46,322 INFO L356 BasicCegarLoop]: Path program histogram: [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:52:46,324 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 13:52:46,326 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 13:52:46,326 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:52:46,327 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:52:46,327 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:52:46,327 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 13:52:46,327 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:52:46,327 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:52:46,327 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:52:46,327 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:52:46,327 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-27 13:52:46,327 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:52:46,328 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:52:46,328 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 13:52:46,328 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:52:46,328 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-27 13:52:46,328 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-27 13:52:46,328 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 13:52:46,328 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 13:52:46,328 WARN L170 areAnnotationChecker]: L15-2 has no Hoare annotation [2022-04-27 13:52:46,328 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:52:46,328 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:52:46,328 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2022-04-27 13:52:46,330 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2022-04-27 13:52:46,331 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 13:52:46,331 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 13:52:46,331 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:52:46,337 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 01:52:46 BoogieIcfgContainer [2022-04-27 13:52:46,337 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 13:52:46,338 INFO L158 Benchmark]: Toolchain (without parser) took 62484.28ms. Allocated memory was 191.9MB in the beginning and 247.5MB in the end (delta: 55.6MB). Free memory was 140.1MB in the beginning and 130.1MB in the end (delta: 10.0MB). Peak memory consumption was 119.9MB. Max. memory is 8.0GB. [2022-04-27 13:52:46,338 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 191.9MB. Free memory is still 157.0MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 13:52:46,338 INFO L158 Benchmark]: CACSL2BoogieTranslator took 283.00ms. Allocated memory is still 191.9MB. Free memory was 139.8MB in the beginning and 165.3MB in the end (delta: -25.5MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-27 13:52:46,338 INFO L158 Benchmark]: Boogie Preprocessor took 43.04ms. Allocated memory is still 191.9MB. Free memory was 165.3MB in the beginning and 163.7MB in the end (delta: 1.7MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-27 13:52:46,338 INFO L158 Benchmark]: RCFGBuilder took 321.54ms. Allocated memory is still 191.9MB. Free memory was 163.7MB in the beginning and 152.1MB in the end (delta: 11.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-27 13:52:46,338 INFO L158 Benchmark]: TraceAbstraction took 61830.15ms. Allocated memory was 191.9MB in the beginning and 247.5MB in the end (delta: 55.6MB). Free memory was 151.6MB in the beginning and 130.6MB in the end (delta: 21.0MB). Peak memory consumption was 131.8MB. Max. memory is 8.0GB. [2022-04-27 13:52:46,339 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 191.9MB. Free memory is still 157.0MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 283.00ms. Allocated memory is still 191.9MB. Free memory was 139.8MB in the beginning and 165.3MB in the end (delta: -25.5MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 43.04ms. Allocated memory is still 191.9MB. Free memory was 165.3MB in the beginning and 163.7MB in the end (delta: 1.7MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 321.54ms. Allocated memory is still 191.9MB. Free memory was 163.7MB in the beginning and 152.1MB in the end (delta: 11.6MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 61830.15ms. Allocated memory was 191.9MB in the beginning and 247.5MB in the end (delta: 55.6MB). Free memory was 151.6MB in the beginning and 130.6MB in the end (delta: 21.0MB). Peak memory consumption was 131.8MB. 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: 61.7s, OverallIterations: 12, TraceHistogramMax: 15, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 13.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.3s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 332 SdHoareTripleChecker+Valid, 2.6s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 268 mSDsluCounter, 1558 SdHoareTripleChecker+Invalid, 2.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1063 mSDsCounter, 311 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1660 IncrementalHoareTripleChecker+Invalid, 1971 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 311 mSolverCounterUnsat, 495 mSDtfsCounter, 1660 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 961 GetRequests, 851 SyntacticMatches, 9 SemanticMatches, 101 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 133 ImplicationChecksByTransitivity, 3.5s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=113occurred in iteration=7, InterpolantAutomatonStates: 84, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.5s AutomataMinimizationTime, 12 MinimizatonAttempts, 67 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 15 LocationsWithAnnotation, 108 PreInvPairs, 140 NumberOfFragments, 708 HoareAnnotationTreeSize, 108 FomulaSimplifications, 104 FormulaSimplificationTreeSizeReduction, 0.2s HoareSimplificationTime, 15 FomulaSimplificationsInter, 4675 FormulaSimplificationTreeSizeReductionInter, 1.0s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 42.5s InterpolantComputationTime, 671 NumberOfCodeBlocks, 671 NumberOfCodeBlocksAsserted, 14 NumberOfCheckSat, 937 ConstructedInterpolants, 0 QuantifiedInterpolants, 11904 SizeOfPredicates, 20 NumberOfNonLiveVariables, 1532 ConjunctsInSsa, 151 ConjunctsInUnsatCore, 16 InterpolantComputations, 8 PerfectInterpolantSequences, 2584/2687 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: (((((((A == r && B * 2 <= d + r) && p == 2) && d == 2) && r <= 2) && q == 0) && B == 1) || ((((((r <= 2 && q == 0) && B == 1) && d == B * 4) && p == 4) && B * q + r == A) && B * 2 <= r)) || ((((((0 <= A && A == r) && r <= 2) && q == 0) && B == 1) && B == d) && p == 1) RESULT: Ultimate proved your program to be correct! [2022-04-27 13:52:46,380 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...