/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 06:40:45,131 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 06:40:45,133 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 06:40:45,181 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 06:40:45,182 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 06:40:45,183 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 06:40:45,185 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 06:40:45,188 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 06:40:45,189 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 06:40:45,193 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 06:40:45,194 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 06:40:45,196 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 06:40:45,196 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 06:40:45,198 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 06:40:45,199 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 06:40:45,201 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 06:40:45,202 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 06:40:45,203 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 06:40:45,205 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 06:40:45,209 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 06:40:45,211 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 06:40:45,212 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 06:40:45,213 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 06:40:45,213 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 06:40:45,215 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 06:40:45,221 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 06:40:45,221 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 06:40:45,222 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 06:40:45,223 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 06:40:45,223 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 06:40:45,224 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 06:40:45,225 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 06:40:45,226 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 06:40:45,227 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 06:40:45,227 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 06:40:45,228 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 06:40:45,228 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 06:40:45,229 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 06:40:45,229 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 06:40:45,229 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 06:40:45,230 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 06:40:45,231 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 06:40:45,232 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 06:40:45,243 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 06:40:45,243 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 06:40:45,244 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 06:40:45,244 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 06:40:45,245 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 06:40:45,245 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 06:40:45,245 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 06:40:45,245 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 06:40:45,245 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 06:40:45,246 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 06:40:45,246 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 06:40:45,246 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 06:40:45,247 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 06:40:45,247 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 06:40:45,247 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 06:40:45,247 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 06:40:45,247 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 06:40:45,247 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 06:40:45,248 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 06:40:45,248 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 06:40:45,248 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 06:40:45,248 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 06:40:45,248 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 06:40:45,248 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 06:40:45,248 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 06:40:45,249 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 06:40:45,505 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 06:40:45,534 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 06:40:45,537 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 06:40:45,538 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 06:40:45,540 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 06:40:45,541 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound20.c [2022-04-08 06:40:45,597 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3b80b70eb/337966141df34f2c93e15cb6765e9e76/FLAGecfa51751 [2022-04-08 06:40:45,984 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 06:40:45,985 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_unwindbound20.c [2022-04-08 06:40:45,992 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3b80b70eb/337966141df34f2c93e15cb6765e9e76/FLAGecfa51751 [2022-04-08 06:40:46,399 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3b80b70eb/337966141df34f2c93e15cb6765e9e76 [2022-04-08 06:40:46,401 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 06:40:46,402 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 06:40:46,407 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 06:40:46,408 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 06:40:46,411 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 06:40:46,413 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 06:40:46" (1/1) ... [2022-04-08 06:40:46,413 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2ec38037 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:40:46, skipping insertion in model container [2022-04-08 06:40:46,414 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 06:40:46" (1/1) ... [2022-04-08 06:40:46,420 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 06:40:46,437 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 06:40:46,579 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_unwindbound20.c[526,539] [2022-04-08 06:40:46,597 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 06:40:46,605 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 06:40:46,616 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_unwindbound20.c[526,539] [2022-04-08 06:40:46,623 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 06:40:46,635 INFO L208 MainTranslator]: Completed translation [2022-04-08 06:40:46,636 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:40:46 WrapperNode [2022-04-08 06:40:46,636 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 06:40:46,637 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 06:40:46,637 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 06:40:46,637 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 06:40:46,646 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:40:46" (1/1) ... [2022-04-08 06:40:46,646 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:40:46" (1/1) ... [2022-04-08 06:40:46,652 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:40:46" (1/1) ... [2022-04-08 06:40:46,652 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:40:46" (1/1) ... [2022-04-08 06:40:46,662 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:40:46" (1/1) ... [2022-04-08 06:40:46,666 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:40:46" (1/1) ... [2022-04-08 06:40:46,667 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:40:46" (1/1) ... [2022-04-08 06:40:46,669 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 06:40:46,670 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 06:40:46,670 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 06:40:46,670 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 06:40:46,676 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:40:46" (1/1) ... [2022-04-08 06:40:46,682 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 06:40:46,690 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:40:46,700 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 06:40:46,720 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 06:40:46,764 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 06:40:46,764 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 06:40:46,765 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 06:40:46,765 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 06:40:46,765 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 06:40:46,765 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 06:40:46,766 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 06:40:46,766 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 06:40:46,766 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 06:40:46,767 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 06:40:46,767 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 06:40:46,768 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 06:40:46,768 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 06:40:46,768 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 06:40:46,769 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 06:40:46,769 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 06:40:46,769 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 06:40:46,769 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 06:40:46,769 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 06:40:46,769 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 06:40:46,837 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 06:40:46,838 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 06:40:47,055 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 06:40:47,075 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 06:40:47,075 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 06:40:47,077 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 06:40:47 BoogieIcfgContainer [2022-04-08 06:40:47,077 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 06:40:47,079 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 06:40:47,079 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 06:40:47,098 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 06:40:47,099 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 06:40:46" (1/3) ... [2022-04-08 06:40:47,099 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@499078ed and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 06:40:47, skipping insertion in model container [2022-04-08 06:40:47,099 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 06:40:46" (2/3) ... [2022-04-08 06:40:47,100 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@499078ed and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 06:40:47, skipping insertion in model container [2022-04-08 06:40:47,100 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 06:40:47" (3/3) ... [2022-04-08 06:40:47,101 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_unwindbound20.c [2022-04-08 06:40:47,105 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 06:40:47,105 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 06:40:47,186 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 06:40:47,191 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 06:40:47,192 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 06:40:47,220 INFO L276 IsEmpty]: Start isEmpty. Operand has 31 states, 17 states have (on average 1.5294117647058822) internal successors, (26), 18 states have internal predecessors, (26), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 06:40:47,227 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-08 06:40:47,227 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:40:47,227 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:40:47,229 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:40:47,237 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:40:47,238 INFO L85 PathProgramCache]: Analyzing trace with hash -1682617676, now seen corresponding path program 1 times [2022-04-08 06:40:47,246 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:47,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1268433826] [2022-04-08 06:40:47,260 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:40:47,260 INFO L85 PathProgramCache]: Analyzing trace with hash -1682617676, now seen corresponding path program 2 times [2022-04-08 06:40:47,263 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:40:47,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1907186791] [2022-04-08 06:40:47,264 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:40:47,265 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:40:47,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:47,461 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:40:47,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:47,494 INFO L290 TraceCheckUtils]: 0: Hoare triple {39#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {34#true} is VALID [2022-04-08 06:40:47,494 INFO L290 TraceCheckUtils]: 1: Hoare triple {34#true} assume true; {34#true} is VALID [2022-04-08 06:40:47,495 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {34#true} {34#true} #92#return; {34#true} is VALID [2022-04-08 06:40:47,498 INFO L272 TraceCheckUtils]: 0: Hoare triple {34#true} call ULTIMATE.init(); {39#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 06:40:47,499 INFO L290 TraceCheckUtils]: 1: Hoare triple {39#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {34#true} is VALID [2022-04-08 06:40:47,499 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#true} assume true; {34#true} is VALID [2022-04-08 06:40:47,499 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#true} {34#true} #92#return; {34#true} is VALID [2022-04-08 06:40:47,499 INFO L272 TraceCheckUtils]: 4: Hoare triple {34#true} call #t~ret7 := main(); {34#true} is VALID [2022-04-08 06:40:47,500 INFO L290 TraceCheckUtils]: 5: Hoare triple {34#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {34#true} is VALID [2022-04-08 06:40:47,501 INFO L290 TraceCheckUtils]: 6: Hoare triple {34#true} assume !true; {35#false} is VALID [2022-04-08 06:40:47,501 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#false} assume !true; {35#false} is VALID [2022-04-08 06:40:47,502 INFO L272 TraceCheckUtils]: 8: Hoare triple {35#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {35#false} is VALID [2022-04-08 06:40:47,502 INFO L290 TraceCheckUtils]: 9: Hoare triple {35#false} ~cond := #in~cond; {35#false} is VALID [2022-04-08 06:40:47,503 INFO L290 TraceCheckUtils]: 10: Hoare triple {35#false} assume 0 == ~cond; {35#false} is VALID [2022-04-08 06:40:47,503 INFO L290 TraceCheckUtils]: 11: Hoare triple {35#false} assume !false; {35#false} is VALID [2022-04-08 06:40:47,503 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-08 06:40:47,504 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:40:47,504 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1907186791] [2022-04-08 06:40:47,505 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1907186791] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:47,505 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:47,505 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 06:40:47,508 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:40:47,508 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1268433826] [2022-04-08 06:40:47,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1268433826] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:47,509 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:47,509 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 06:40:47,509 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1731715103] [2022-04-08 06:40:47,512 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:40:47,518 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-08 06:40:47,519 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:40:47,523 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:47,554 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:47,554 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 06:40:47,554 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:47,578 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 06:40:47,579 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 06:40:47,582 INFO L87 Difference]: Start difference. First operand has 31 states, 17 states have (on average 1.5294117647058822) internal successors, (26), 18 states have internal predecessors, (26), 9 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:47,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:47,791 INFO L93 Difference]: Finished difference Result 57 states and 91 transitions. [2022-04-08 06:40:47,791 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 06:40:47,791 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-08 06:40:47,792 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:40:47,793 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:47,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 91 transitions. [2022-04-08 06:40:47,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:47,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 91 transitions. [2022-04-08 06:40:47,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 91 transitions. [2022-04-08 06:40:47,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:47,912 INFO L225 Difference]: With dead ends: 57 [2022-04-08 06:40:47,912 INFO L226 Difference]: Without dead ends: 27 [2022-04-08 06:40:47,915 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 06:40:47,918 INFO L913 BasicCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 23 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 44 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 23 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:40:47,919 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 44 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 23 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:40:47,932 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-08 06:40:47,945 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2022-04-08 06:40:47,946 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:40:47,947 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:47,947 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:47,948 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:47,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:47,952 INFO L93 Difference]: Finished difference Result 27 states and 37 transitions. [2022-04-08 06:40:47,952 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 37 transitions. [2022-04-08 06:40:47,953 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:47,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:47,954 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 27 states. [2022-04-08 06:40:47,954 INFO L87 Difference]: Start difference. First operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 27 states. [2022-04-08 06:40:47,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:47,958 INFO L93 Difference]: Finished difference Result 27 states and 37 transitions. [2022-04-08 06:40:47,958 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 37 transitions. [2022-04-08 06:40:47,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:47,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:47,959 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:40:47,959 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:40:47,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 14 states have (on average 1.4285714285714286) internal successors, (20), 15 states have internal predecessors, (20), 9 states have call successors, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:47,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 36 transitions. [2022-04-08 06:40:47,963 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 36 transitions. Word has length 12 [2022-04-08 06:40:47,964 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:40:47,964 INFO L478 AbstractCegarLoop]: Abstraction has 26 states and 36 transitions. [2022-04-08 06:40:47,964 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 2.6666666666666665) internal successors, (8), 2 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:47,964 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 36 transitions. [2022-04-08 06:40:48,022 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:48,028 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 36 transitions. [2022-04-08 06:40:48,029 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-04-08 06:40:48,029 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:40:48,029 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:40:48,030 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 06:40:48,030 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:40:48,031 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:40:48,031 INFO L85 PathProgramCache]: Analyzing trace with hash -2144676086, now seen corresponding path program 1 times [2022-04-08 06:40:48,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:48,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [522169682] [2022-04-08 06:40:48,033 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:40:48,033 INFO L85 PathProgramCache]: Analyzing trace with hash -2144676086, now seen corresponding path program 2 times [2022-04-08 06:40:48,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:40:48,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [790644850] [2022-04-08 06:40:48,034 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:40:48,034 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:40:48,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:48,152 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:40:48,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:48,177 INFO L290 TraceCheckUtils]: 0: Hoare triple {270#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {262#true} is VALID [2022-04-08 06:40:48,177 INFO L290 TraceCheckUtils]: 1: Hoare triple {262#true} assume true; {262#true} is VALID [2022-04-08 06:40:48,178 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {262#true} {262#true} #92#return; {262#true} is VALID [2022-04-08 06:40:48,178 INFO L272 TraceCheckUtils]: 0: Hoare triple {262#true} call ULTIMATE.init(); {270#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 06:40:48,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {270#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {262#true} is VALID [2022-04-08 06:40:48,179 INFO L290 TraceCheckUtils]: 2: Hoare triple {262#true} assume true; {262#true} is VALID [2022-04-08 06:40:48,179 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {262#true} {262#true} #92#return; {262#true} is VALID [2022-04-08 06:40:48,179 INFO L272 TraceCheckUtils]: 4: Hoare triple {262#true} call #t~ret7 := main(); {262#true} is VALID [2022-04-08 06:40:48,180 INFO L290 TraceCheckUtils]: 5: Hoare triple {262#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {267#(= main_~q~0 0)} is VALID [2022-04-08 06:40:48,180 INFO L290 TraceCheckUtils]: 6: Hoare triple {267#(= main_~q~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {267#(= main_~q~0 0)} is VALID [2022-04-08 06:40:48,181 INFO L290 TraceCheckUtils]: 7: Hoare triple {267#(= main_~q~0 0)} assume !!(#t~post5 < 20);havoc #t~post5; {267#(= main_~q~0 0)} is VALID [2022-04-08 06:40:48,182 INFO L272 TraceCheckUtils]: 8: Hoare triple {267#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {268#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:40:48,182 INFO L290 TraceCheckUtils]: 9: Hoare triple {268#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {269#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:40:48,183 INFO L290 TraceCheckUtils]: 10: Hoare triple {269#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {263#false} is VALID [2022-04-08 06:40:48,183 INFO L290 TraceCheckUtils]: 11: Hoare triple {263#false} assume !false; {263#false} is VALID [2022-04-08 06:40:48,183 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-08 06:40:48,184 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:40:48,184 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [790644850] [2022-04-08 06:40:48,184 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [790644850] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:48,184 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:48,184 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:40:48,185 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:40:48,185 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [522169682] [2022-04-08 06:40:48,185 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [522169682] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:48,185 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:48,185 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:40:48,185 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1659113647] [2022-04-08 06:40:48,186 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:40:48,187 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-08 06:40:48,187 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:40:48,187 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:48,197 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:48,198 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:40:48,198 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:48,199 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:40:48,199 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:40:48,199 INFO L87 Difference]: Start difference. First operand 26 states and 36 transitions. Second operand has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:48,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:48,589 INFO L93 Difference]: Finished difference Result 41 states and 56 transitions. [2022-04-08 06:40:48,589 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 06:40:48,590 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 12 [2022-04-08 06:40:48,590 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:40:48,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:48,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-08 06:40:48,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:48,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-08 06:40:48,611 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 56 transitions. [2022-04-08 06:40:48,668 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:48,671 INFO L225 Difference]: With dead ends: 41 [2022-04-08 06:40:48,671 INFO L226 Difference]: Without dead ends: 39 [2022-04-08 06:40:48,671 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:40:48,672 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 24 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 80 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 93 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 80 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:40:48,673 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 85 Invalid, 93 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 80 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:40:48,674 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-08 06:40:48,680 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 30. [2022-04-08 06:40:48,680 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:40:48,680 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:48,681 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:48,681 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:48,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:48,684 INFO L93 Difference]: Finished difference Result 39 states and 54 transitions. [2022-04-08 06:40:48,684 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 54 transitions. [2022-04-08 06:40:48,685 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:48,685 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:48,686 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 39 states. [2022-04-08 06:40:48,686 INFO L87 Difference]: Start difference. First operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 39 states. [2022-04-08 06:40:48,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:48,689 INFO L93 Difference]: Finished difference Result 39 states and 54 transitions. [2022-04-08 06:40:48,689 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 54 transitions. [2022-04-08 06:40:48,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:48,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:48,690 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:40:48,690 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:40:48,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:48,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-08 06:40:48,692 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 12 [2022-04-08 06:40:48,693 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:40:48,693 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-08 06:40:48,693 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.3333333333333333) internal successors, (8), 4 states have internal predecessors, (8), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:48,693 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 39 transitions. [2022-04-08 06:40:48,740 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:48,740 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-08 06:40:48,745 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-04-08 06:40:48,746 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:40:48,746 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:40:48,746 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-08 06:40:48,746 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:40:48,747 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:40:48,747 INFO L85 PathProgramCache]: Analyzing trace with hash 1842794081, now seen corresponding path program 1 times [2022-04-08 06:40:48,747 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:48,747 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1909471134] [2022-04-08 06:40:48,748 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:40:48,748 INFO L85 PathProgramCache]: Analyzing trace with hash 1842794081, now seen corresponding path program 2 times [2022-04-08 06:40:48,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:40:48,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1091306417] [2022-04-08 06:40:48,749 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:40:48,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:40:48,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:48,792 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:40:48,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:48,806 INFO L290 TraceCheckUtils]: 0: Hoare triple {508#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {506#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:48,806 INFO L290 TraceCheckUtils]: 1: Hoare triple {506#(<= ~counter~0 0)} assume true; {506#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:48,807 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {506#(<= ~counter~0 0)} {501#true} #92#return; {506#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:48,808 INFO L272 TraceCheckUtils]: 0: Hoare triple {501#true} call ULTIMATE.init(); {508#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 06:40:48,808 INFO L290 TraceCheckUtils]: 1: Hoare triple {508#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {506#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:48,809 INFO L290 TraceCheckUtils]: 2: Hoare triple {506#(<= ~counter~0 0)} assume true; {506#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:48,809 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {506#(<= ~counter~0 0)} {501#true} #92#return; {506#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:48,810 INFO L272 TraceCheckUtils]: 4: Hoare triple {506#(<= ~counter~0 0)} call #t~ret7 := main(); {506#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:48,810 INFO L290 TraceCheckUtils]: 5: Hoare triple {506#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {506#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:48,811 INFO L290 TraceCheckUtils]: 6: Hoare triple {506#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {507#(<= |main_#t~post5| 0)} is VALID [2022-04-08 06:40:48,811 INFO L290 TraceCheckUtils]: 7: Hoare triple {507#(<= |main_#t~post5| 0)} assume !(#t~post5 < 20);havoc #t~post5; {502#false} is VALID [2022-04-08 06:40:48,812 INFO L290 TraceCheckUtils]: 8: Hoare triple {502#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {502#false} is VALID [2022-04-08 06:40:48,812 INFO L290 TraceCheckUtils]: 9: Hoare triple {502#false} assume !(#t~post6 < 20);havoc #t~post6; {502#false} is VALID [2022-04-08 06:40:48,812 INFO L272 TraceCheckUtils]: 10: Hoare triple {502#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {502#false} is VALID [2022-04-08 06:40:48,812 INFO L290 TraceCheckUtils]: 11: Hoare triple {502#false} ~cond := #in~cond; {502#false} is VALID [2022-04-08 06:40:48,812 INFO L290 TraceCheckUtils]: 12: Hoare triple {502#false} assume 0 == ~cond; {502#false} is VALID [2022-04-08 06:40:48,813 INFO L290 TraceCheckUtils]: 13: Hoare triple {502#false} assume !false; {502#false} is VALID [2022-04-08 06:40:48,813 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-08 06:40:48,813 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:40:48,813 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1091306417] [2022-04-08 06:40:48,813 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1091306417] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:48,814 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:48,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 06:40:48,814 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:40:48,814 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1909471134] [2022-04-08 06:40:48,814 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1909471134] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:48,814 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:48,814 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 06:40:48,815 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [100555923] [2022-04-08 06:40:48,815 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:40:48,815 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 14 [2022-04-08 06:40:48,815 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:40:48,815 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:48,840 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:48,841 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:40:48,841 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:48,841 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:40:48,841 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 06:40:48,842 INFO L87 Difference]: Start difference. First operand 30 states and 39 transitions. Second operand has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:49,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:49,058 INFO L93 Difference]: Finished difference Result 46 states and 61 transitions. [2022-04-08 06:40:49,058 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 06:40:49,058 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 14 [2022-04-08 06:40:49,059 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:40:49,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:49,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-04-08 06:40:49,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:49,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2022-04-08 06:40:49,065 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2022-04-08 06:40:49,122 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-08 06:40:49,126 INFO L225 Difference]: With dead ends: 46 [2022-04-08 06:40:49,126 INFO L226 Difference]: Without dead ends: 32 [2022-04-08 06:40:49,127 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:40:49,130 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 6 mSDsluCounter, 39 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:40:49,135 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [6 Valid, 73 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:40:49,137 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-08 06:40:49,147 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-08 06:40:49,148 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:40:49,148 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:49,148 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:49,149 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:49,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:49,151 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-08 06:40:49,151 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 06:40:49,152 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:49,152 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:49,152 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 32 states. [2022-04-08 06:40:49,153 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 32 states. [2022-04-08 06:40:49,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:49,155 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-08 06:40:49,155 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 06:40:49,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:49,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:49,156 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:40:49,156 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:40:49,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:49,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-08 06:40:49,158 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 14 [2022-04-08 06:40:49,158 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:40:49,158 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-08 06:40:49,159 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.5) internal successors, (10), 3 states have internal predecessors, (10), 3 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-08 06:40:49,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-08 06:40:49,205 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:49,205 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-08 06:40:49,206 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 06:40:49,206 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:40:49,206 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:40:49,206 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-08 06:40:49,206 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:40:49,207 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:40:49,207 INFO L85 PathProgramCache]: Analyzing trace with hash 311129497, now seen corresponding path program 1 times [2022-04-08 06:40:49,207 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:49,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [718369856] [2022-04-08 06:40:49,208 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:40:49,208 INFO L85 PathProgramCache]: Analyzing trace with hash 311129497, now seen corresponding path program 2 times [2022-04-08 06:40:49,208 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:40:49,208 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [33330218] [2022-04-08 06:40:49,208 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:40:49,209 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:40:49,236 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:49,280 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 06:40:49,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:49,287 INFO L290 TraceCheckUtils]: 0: Hoare triple {745#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {733#true} is VALID [2022-04-08 06:40:49,288 INFO L290 TraceCheckUtils]: 1: Hoare triple {733#true} assume true; {733#true} is VALID [2022-04-08 06:40:49,288 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {733#true} {733#true} #92#return; {733#true} is VALID [2022-04-08 06:40:49,288 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-04-08 06:40:49,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:49,294 INFO L290 TraceCheckUtils]: 0: Hoare triple {733#true} ~cond := #in~cond; {733#true} is VALID [2022-04-08 06:40:49,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {733#true} assume !(0 == ~cond); {733#true} is VALID [2022-04-08 06:40:49,295 INFO L290 TraceCheckUtils]: 2: Hoare triple {733#true} assume true; {733#true} is VALID [2022-04-08 06:40:49,295 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {733#true} {738#(= main_~A~0 main_~r~0)} #78#return; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 06:40:49,296 INFO L272 TraceCheckUtils]: 0: Hoare triple {733#true} call ULTIMATE.init(); {745#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 06:40:49,296 INFO L290 TraceCheckUtils]: 1: Hoare triple {745#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {733#true} is VALID [2022-04-08 06:40:49,297 INFO L290 TraceCheckUtils]: 2: Hoare triple {733#true} assume true; {733#true} is VALID [2022-04-08 06:40:49,297 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {733#true} {733#true} #92#return; {733#true} is VALID [2022-04-08 06:40:49,297 INFO L272 TraceCheckUtils]: 4: Hoare triple {733#true} call #t~ret7 := main(); {733#true} is VALID [2022-04-08 06:40:49,297 INFO L290 TraceCheckUtils]: 5: Hoare triple {733#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 06:40:49,298 INFO L290 TraceCheckUtils]: 6: Hoare triple {738#(= main_~A~0 main_~r~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 06:40:49,298 INFO L290 TraceCheckUtils]: 7: Hoare triple {738#(= main_~A~0 main_~r~0)} assume !!(#t~post5 < 20);havoc #t~post5; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 06:40:49,298 INFO L272 TraceCheckUtils]: 8: Hoare triple {738#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {733#true} is VALID [2022-04-08 06:40:49,299 INFO L290 TraceCheckUtils]: 9: Hoare triple {733#true} ~cond := #in~cond; {733#true} is VALID [2022-04-08 06:40:49,299 INFO L290 TraceCheckUtils]: 10: Hoare triple {733#true} assume !(0 == ~cond); {733#true} is VALID [2022-04-08 06:40:49,299 INFO L290 TraceCheckUtils]: 11: Hoare triple {733#true} assume true; {733#true} is VALID [2022-04-08 06:40:49,300 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {733#true} {738#(= main_~A~0 main_~r~0)} #78#return; {738#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 06:40:49,300 INFO L272 TraceCheckUtils]: 13: Hoare triple {738#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {743#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:40:49,301 INFO L290 TraceCheckUtils]: 14: Hoare triple {743#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {744#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:40:49,301 INFO L290 TraceCheckUtils]: 15: Hoare triple {744#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {734#false} is VALID [2022-04-08 06:40:49,301 INFO L290 TraceCheckUtils]: 16: Hoare triple {734#false} assume !false; {734#false} is VALID [2022-04-08 06:40:49,302 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-08 06:40:49,302 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:40:49,302 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [33330218] [2022-04-08 06:40:49,302 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [33330218] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:49,303 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:49,303 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:40:49,303 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:40:49,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [718369856] [2022-04-08 06:40:49,303 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [718369856] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:49,303 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:49,303 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:40:49,303 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [560688383] [2022-04-08 06:40:49,304 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:40:49,304 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), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 17 [2022-04-08 06:40:49,304 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:40:49,305 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), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 06:40:49,320 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-08 06:40:49,321 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:40:49,321 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:49,321 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:40:49,322 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:40:49,322 INFO L87 Difference]: Start difference. First operand 32 states and 41 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), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 06:40:49,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:49,687 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-08 06:40:49,687 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 06:40:49,688 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), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 17 [2022-04-08 06:40:49,688 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:40:49,689 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), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 06:40:49,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-08 06:40:49,698 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), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 06:40:49,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 56 transitions. [2022-04-08 06:40:49,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 56 transitions. [2022-04-08 06:40:49,746 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:49,748 INFO L225 Difference]: With dead ends: 46 [2022-04-08 06:40:49,748 INFO L226 Difference]: Without dead ends: 44 [2022-04-08 06:40:49,749 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:40:49,749 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 19 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:40:49,750 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 78 Invalid, 106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:40:49,750 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-08 06:40:49,773 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 36. [2022-04-08 06:40:49,773 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:40:49,774 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:49,774 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:49,775 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:49,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:49,778 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-08 06:40:49,778 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-08 06:40:49,778 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:49,778 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:49,779 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-08 06:40:49,779 INFO L87 Difference]: Start difference. First operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-08 06:40:49,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:49,781 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-08 06:40:49,781 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-08 06:40:49,782 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:49,782 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:49,782 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:40:49,782 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:40:49,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 23 states have internal predecessors, (28), 9 states have call successors, (9), 5 states have call predecessors, (9), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 06:40:49,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 44 transitions. [2022-04-08 06:40:49,784 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 44 transitions. Word has length 17 [2022-04-08 06:40:49,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:40:49,785 INFO L478 AbstractCegarLoop]: Abstraction has 36 states and 44 transitions. [2022-04-08 06:40:49,785 INFO L479 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), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-08 06:40:49,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 36 states and 44 transitions. [2022-04-08 06:40:49,826 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:49,827 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 44 transitions. [2022-04-08 06:40:49,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 06:40:49,827 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:40:49,827 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:40:49,828 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-08 06:40:49,828 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:40:49,829 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:40:49,829 INFO L85 PathProgramCache]: Analyzing trace with hash -1912623062, now seen corresponding path program 1 times [2022-04-08 06:40:49,829 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:49,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1048866695] [2022-04-08 06:40:49,830 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:40:49,830 INFO L85 PathProgramCache]: Analyzing trace with hash -1912623062, now seen corresponding path program 2 times [2022-04-08 06:40:49,830 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:40:49,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [972656377] [2022-04-08 06:40:49,830 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:40:49,830 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:40:49,843 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:40:49,843 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1507026196] [2022-04-08 06:40:49,844 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:40:49,844 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:40:49,844 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:40:49,845 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:40:49,846 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 06:40:49,894 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:40:49,895 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:40:49,899 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 06:40:49,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:49,919 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:40:50,150 INFO L272 TraceCheckUtils]: 0: Hoare triple {1008#true} call ULTIMATE.init(); {1008#true} is VALID [2022-04-08 06:40:50,151 INFO L290 TraceCheckUtils]: 1: Hoare triple {1008#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);~counter~0 := 0; {1008#true} is VALID [2022-04-08 06:40:50,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {1008#true} assume true; {1008#true} is VALID [2022-04-08 06:40:50,151 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1008#true} {1008#true} #92#return; {1008#true} is VALID [2022-04-08 06:40:50,152 INFO L272 TraceCheckUtils]: 4: Hoare triple {1008#true} call #t~ret7 := main(); {1008#true} is VALID [2022-04-08 06:40:50,152 INFO L290 TraceCheckUtils]: 5: Hoare triple {1008#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:40:50,153 INFO L290 TraceCheckUtils]: 6: Hoare triple {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:40:50,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:40:50,154 INFO L272 TraceCheckUtils]: 8: Hoare triple {1028#(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)); {1008#true} is VALID [2022-04-08 06:40:50,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {1008#true} ~cond := #in~cond; {1008#true} is VALID [2022-04-08 06:40:50,154 INFO L290 TraceCheckUtils]: 10: Hoare triple {1008#true} assume !(0 == ~cond); {1008#true} is VALID [2022-04-08 06:40:50,154 INFO L290 TraceCheckUtils]: 11: Hoare triple {1008#true} assume true; {1008#true} is VALID [2022-04-08 06:40:50,155 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1008#true} {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:40:50,155 INFO L272 TraceCheckUtils]: 13: Hoare triple {1028#(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)); {1008#true} is VALID [2022-04-08 06:40:50,155 INFO L290 TraceCheckUtils]: 14: Hoare triple {1008#true} ~cond := #in~cond; {1008#true} is VALID [2022-04-08 06:40:50,156 INFO L290 TraceCheckUtils]: 15: Hoare triple {1008#true} assume !(0 == ~cond); {1008#true} is VALID [2022-04-08 06:40:50,156 INFO L290 TraceCheckUtils]: 16: Hoare triple {1008#true} assume true; {1008#true} is VALID [2022-04-08 06:40:50,157 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1008#true} {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1028#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:40:50,157 INFO L272 TraceCheckUtils]: 18: Hoare triple {1028#(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)); {1068#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:40:50,166 INFO L290 TraceCheckUtils]: 19: Hoare triple {1068#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1072#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:40:50,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {1072#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1009#false} is VALID [2022-04-08 06:40:50,167 INFO L290 TraceCheckUtils]: 21: Hoare triple {1009#false} assume !false; {1009#false} is VALID [2022-04-08 06:40:50,168 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-08 06:40:50,168 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 06:40:50,168 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:40:50,168 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [972656377] [2022-04-08 06:40:50,169 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:40:50,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1507026196] [2022-04-08 06:40:50,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1507026196] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:50,169 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:50,169 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:40:50,170 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:40:50,170 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1048866695] [2022-04-08 06:40:50,170 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1048866695] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:50,170 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:50,170 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:40:50,170 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1432681070] [2022-04-08 06:40:50,171 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:40:50,171 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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-08 06:40:50,171 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:40:50,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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-08 06:40:50,192 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:50,192 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:40:50,192 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:50,195 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:40:50,195 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 06:40:50,195 INFO L87 Difference]: Start difference. First operand 36 states and 44 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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-08 06:40:50,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:50,374 INFO L93 Difference]: Finished difference Result 65 states and 87 transitions. [2022-04-08 06:40:50,374 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:40:50,375 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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-08 06:40:50,375 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:40:50,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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-08 06:40:50,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2022-04-08 06:40:50,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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-08 06:40:50,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 81 transitions. [2022-04-08 06:40:50,384 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 81 transitions. [2022-04-08 06:40:50,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:50,450 INFO L225 Difference]: With dead ends: 65 [2022-04-08 06:40:50,450 INFO L226 Difference]: Without dead ends: 50 [2022-04-08 06:40:50,451 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:40:50,453 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 10 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 06:40:50,454 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 121 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 06:40:50,455 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-08 06:40:50,484 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-08 06:40:50,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:40:50,485 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 06:40:50,487 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 06:40:50,487 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 06:40:50,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:50,491 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-08 06:40:50,491 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-08 06:40:50,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:50,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:50,492 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 50 states. [2022-04-08 06:40:50,493 INFO L87 Difference]: Start difference. First operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 50 states. [2022-04-08 06:40:50,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:50,495 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-08 06:40:50,495 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-08 06:40:50,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:50,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:50,496 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:40:50,496 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:40:50,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 29 states have (on average 1.2758620689655173) internal successors, (37), 31 states have internal predecessors, (37), 15 states have call successors, (15), 6 states have call predecessors, (15), 5 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 06:40:50,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-08 06:40:50,499 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 22 [2022-04-08 06:40:50,499 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:40:50,499 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-08 06:40:50,500 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 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-08 06:40:50,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-08 06:40:50,557 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:50,557 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-08 06:40:50,558 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-04-08 06:40:50,558 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:40:50,558 INFO L499 BasicCegarLoop]: 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] [2022-04-08 06:40:50,585 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-08 06:40:50,771 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:40:50,772 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:40:50,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:40:50,772 INFO L85 PathProgramCache]: Analyzing trace with hash 214651490, now seen corresponding path program 1 times [2022-04-08 06:40:50,772 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:50,772 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1166720111] [2022-04-08 06:40:50,773 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:40:50,773 INFO L85 PathProgramCache]: Analyzing trace with hash 214651490, now seen corresponding path program 2 times [2022-04-08 06:40:50,773 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:40:50,773 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1062715502] [2022-04-08 06:40:50,773 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:40:50,774 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:40:50,788 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:40:50,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1845444697] [2022-04-08 06:40:50,789 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:40:50,789 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:40:50,789 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:40:50,797 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:40:50,825 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 06:40:50,844 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:40:50,845 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:40:50,846 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 06:40:50,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:50,858 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:40:51,039 INFO L272 TraceCheckUtils]: 0: Hoare triple {1410#true} call ULTIMATE.init(); {1410#true} is VALID [2022-04-08 06:40:51,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {1410#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);~counter~0 := 0; {1418#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:51,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {1418#(<= ~counter~0 0)} assume true; {1418#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:51,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1418#(<= ~counter~0 0)} {1410#true} #92#return; {1418#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:51,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {1418#(<= ~counter~0 0)} call #t~ret7 := main(); {1418#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:51,042 INFO L290 TraceCheckUtils]: 5: Hoare triple {1418#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1418#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:51,042 INFO L290 TraceCheckUtils]: 6: Hoare triple {1418#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,043 INFO L290 TraceCheckUtils]: 7: Hoare triple {1434#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,043 INFO L272 TraceCheckUtils]: 8: Hoare triple {1434#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {1434#(<= ~counter~0 1)} ~cond := #in~cond; {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,044 INFO L290 TraceCheckUtils]: 10: Hoare triple {1434#(<= ~counter~0 1)} assume !(0 == ~cond); {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {1434#(<= ~counter~0 1)} assume true; {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,045 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1434#(<= ~counter~0 1)} {1434#(<= ~counter~0 1)} #78#return; {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,046 INFO L272 TraceCheckUtils]: 13: Hoare triple {1434#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {1434#(<= ~counter~0 1)} ~cond := #in~cond; {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,047 INFO L290 TraceCheckUtils]: 15: Hoare triple {1434#(<= ~counter~0 1)} assume !(0 == ~cond); {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,047 INFO L290 TraceCheckUtils]: 16: Hoare triple {1434#(<= ~counter~0 1)} assume true; {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,048 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1434#(<= ~counter~0 1)} {1434#(<= ~counter~0 1)} #80#return; {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,048 INFO L272 TraceCheckUtils]: 18: Hoare triple {1434#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,049 INFO L290 TraceCheckUtils]: 19: Hoare triple {1434#(<= ~counter~0 1)} ~cond := #in~cond; {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {1434#(<= ~counter~0 1)} assume !(0 == ~cond); {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,049 INFO L290 TraceCheckUtils]: 21: Hoare triple {1434#(<= ~counter~0 1)} assume true; {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,050 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1434#(<= ~counter~0 1)} {1434#(<= ~counter~0 1)} #82#return; {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {1434#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1434#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:51,051 INFO L290 TraceCheckUtils]: 24: Hoare triple {1434#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1489#(<= |main_#t~post6| 1)} is VALID [2022-04-08 06:40:51,051 INFO L290 TraceCheckUtils]: 25: Hoare triple {1489#(<= |main_#t~post6| 1)} assume !(#t~post6 < 20);havoc #t~post6; {1411#false} is VALID [2022-04-08 06:40:51,052 INFO L272 TraceCheckUtils]: 26: Hoare triple {1411#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {1411#false} is VALID [2022-04-08 06:40:51,052 INFO L290 TraceCheckUtils]: 27: Hoare triple {1411#false} ~cond := #in~cond; {1411#false} is VALID [2022-04-08 06:40:51,052 INFO L290 TraceCheckUtils]: 28: Hoare triple {1411#false} assume 0 == ~cond; {1411#false} is VALID [2022-04-08 06:40:51,052 INFO L290 TraceCheckUtils]: 29: Hoare triple {1411#false} assume !false; {1411#false} is VALID [2022-04-08 06:40:51,053 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-08 06:40:51,053 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 06:40:51,053 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:40:51,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1062715502] [2022-04-08 06:40:51,053 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:40:51,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1845444697] [2022-04-08 06:40:51,053 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1845444697] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:51,054 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:51,054 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:40:51,054 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:40:51,054 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1166720111] [2022-04-08 06:40:51,054 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1166720111] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:51,054 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:51,054 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:40:51,055 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1940899954] [2022-04-08 06:40:51,055 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:40:51,055 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), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-04-08 06:40:51,055 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:40:51,056 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), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:40:51,073 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-08 06:40:51,073 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:40:51,073 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:51,074 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:40:51,074 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-08 06:40:51,074 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:40:51,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:51,190 INFO L93 Difference]: Finished difference Result 70 states and 80 transitions. [2022-04-08 06:40:51,190 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:40:51,191 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), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 30 [2022-04-08 06:40:51,191 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:40:51,191 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), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:40:51,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-08 06:40:51,193 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), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:40:51,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-08 06:40:51,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-08 06:40:51,238 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:51,240 INFO L225 Difference]: With dead ends: 70 [2022-04-08 06:40:51,240 INFO L226 Difference]: Without dead ends: 63 [2022-04-08 06:40:51,240 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-08 06:40:51,241 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 3 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 06:40:51,241 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [3 Valid, 105 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 06:40:51,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-08 06:40:51,267 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 62. [2022-04-08 06:40:51,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:40:51,268 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 06:40:51,269 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 06:40:51,269 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 06:40:51,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:51,271 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2022-04-08 06:40:51,272 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 73 transitions. [2022-04-08 06:40:51,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:51,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:51,272 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 63 states. [2022-04-08 06:40:51,273 INFO L87 Difference]: Start difference. First operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 63 states. [2022-04-08 06:40:51,275 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:51,275 INFO L93 Difference]: Finished difference Result 63 states and 73 transitions. [2022-04-08 06:40:51,276 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 73 transitions. [2022-04-08 06:40:51,276 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:51,276 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:51,276 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:40:51,276 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:40:51,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 40 states have internal predecessors, (45), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 06:40:51,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 72 transitions. [2022-04-08 06:40:51,279 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 72 transitions. Word has length 30 [2022-04-08 06:40:51,279 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:40:51,279 INFO L478 AbstractCegarLoop]: Abstraction has 62 states and 72 transitions. [2022-04-08 06:40:51,280 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 4 states have call successors, (6), 4 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:40:51,280 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 72 transitions. [2022-04-08 06:40:51,346 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:51,346 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 72 transitions. [2022-04-08 06:40:51,347 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-04-08 06:40:51,347 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:40:51,347 INFO L499 BasicCegarLoop]: 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] [2022-04-08 06:40:51,371 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-08 06:40:51,567 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2022-04-08 06:40:51,568 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:40:51,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:40:51,568 INFO L85 PathProgramCache]: Analyzing trace with hash 216379368, now seen corresponding path program 1 times [2022-04-08 06:40:51,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:51,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [288833035] [2022-04-08 06:40:51,569 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 06:40:51,569 INFO L85 PathProgramCache]: Analyzing trace with hash 216379368, now seen corresponding path program 2 times [2022-04-08 06:40:51,569 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:40:51,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [98306475] [2022-04-08 06:40:51,569 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:40:51,570 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:40:51,590 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:40:51,591 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [232422906] [2022-04-08 06:40:51,591 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:40:51,591 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:40:51,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:40:51,604 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:40:51,632 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 06:40:51,654 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:40:51,654 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:40:51,655 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 06:40:51,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:51,675 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:40:51,840 INFO L272 TraceCheckUtils]: 0: Hoare triple {1894#true} call ULTIMATE.init(); {1894#true} is VALID [2022-04-08 06:40:51,840 INFO L290 TraceCheckUtils]: 1: Hoare triple {1894#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);~counter~0 := 0; {1894#true} is VALID [2022-04-08 06:40:51,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {1894#true} assume true; {1894#true} is VALID [2022-04-08 06:40:51,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1894#true} {1894#true} #92#return; {1894#true} is VALID [2022-04-08 06:40:51,847 INFO L272 TraceCheckUtils]: 4: Hoare triple {1894#true} call #t~ret7 := main(); {1894#true} is VALID [2022-04-08 06:40:51,848 INFO L290 TraceCheckUtils]: 5: Hoare triple {1894#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:40:51,849 INFO L290 TraceCheckUtils]: 6: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:40:51,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !!(#t~post5 < 20);havoc #t~post5; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:40:51,857 INFO L272 TraceCheckUtils]: 8: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1894#true} is VALID [2022-04-08 06:40:51,857 INFO L290 TraceCheckUtils]: 9: Hoare triple {1894#true} ~cond := #in~cond; {1894#true} is VALID [2022-04-08 06:40:51,858 INFO L290 TraceCheckUtils]: 10: Hoare triple {1894#true} assume !(0 == ~cond); {1894#true} is VALID [2022-04-08 06:40:51,858 INFO L290 TraceCheckUtils]: 11: Hoare triple {1894#true} assume true; {1894#true} is VALID [2022-04-08 06:40:51,858 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1894#true} {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #78#return; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:40:51,858 INFO L272 TraceCheckUtils]: 13: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1894#true} is VALID [2022-04-08 06:40:51,859 INFO L290 TraceCheckUtils]: 14: Hoare triple {1894#true} ~cond := #in~cond; {1894#true} is VALID [2022-04-08 06:40:51,859 INFO L290 TraceCheckUtils]: 15: Hoare triple {1894#true} assume !(0 == ~cond); {1894#true} is VALID [2022-04-08 06:40:51,859 INFO L290 TraceCheckUtils]: 16: Hoare triple {1894#true} assume true; {1894#true} is VALID [2022-04-08 06:40:51,859 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1894#true} {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #80#return; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:40:51,859 INFO L272 TraceCheckUtils]: 18: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1894#true} is VALID [2022-04-08 06:40:51,860 INFO L290 TraceCheckUtils]: 19: Hoare triple {1894#true} ~cond := #in~cond; {1894#true} is VALID [2022-04-08 06:40:51,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {1894#true} assume !(0 == ~cond); {1894#true} is VALID [2022-04-08 06:40:51,860 INFO L290 TraceCheckUtils]: 21: Hoare triple {1894#true} assume true; {1894#true} is VALID [2022-04-08 06:40:51,860 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1894#true} {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #82#return; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:40:51,861 INFO L290 TraceCheckUtils]: 23: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:40:51,861 INFO L290 TraceCheckUtils]: 24: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:40:51,862 INFO L290 TraceCheckUtils]: 25: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-08 06:40:51,863 INFO L272 TraceCheckUtils]: 26: Hoare triple {1914#(and (= main_~A~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1978#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:40:51,863 INFO L290 TraceCheckUtils]: 27: Hoare triple {1978#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1982#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:40:51,863 INFO L290 TraceCheckUtils]: 28: Hoare triple {1982#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1895#false} is VALID [2022-04-08 06:40:51,864 INFO L290 TraceCheckUtils]: 29: Hoare triple {1895#false} assume !false; {1895#false} is VALID [2022-04-08 06:40:51,864 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-08 06:40:51,864 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 06:40:51,864 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:40:51,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [98306475] [2022-04-08 06:40:51,864 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:40:51,864 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [232422906] [2022-04-08 06:40:51,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [232422906] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:51,865 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:51,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:40:51,865 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:40:51,865 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [288833035] [2022-04-08 06:40:51,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [288833035] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:51,865 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:51,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:40:51,866 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [404194422] [2022-04-08 06:40:51,866 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:40:51,866 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 30 [2022-04-08 06:40:51,866 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:40:51,866 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-08 06:40:51,884 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-08 06:40:51,884 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:40:51,885 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:51,885 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:40:51,885 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 06:40:51,885 INFO L87 Difference]: Start difference. First operand 62 states and 72 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-08 06:40:52,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:52,115 INFO L93 Difference]: Finished difference Result 76 states and 91 transitions. [2022-04-08 06:40:52,115 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:40:52,115 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 30 [2022-04-08 06:40:52,115 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:40:52,116 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-08 06:40:52,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 06:40:52,117 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-08 06:40:52,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-08 06:40:52,118 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-08 06:40:52,165 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:52,167 INFO L225 Difference]: With dead ends: 76 [2022-04-08 06:40:52,167 INFO L226 Difference]: Without dead ends: 64 [2022-04-08 06:40:52,167 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:40:52,168 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 11 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 95 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-08 06:40:52,168 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 95 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 06:40:52,169 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-08 06:40:52,208 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 63. [2022-04-08 06:40:52,208 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:40:52,209 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 06:40:52,209 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 06:40:52,210 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 06:40:52,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:52,212 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-08 06:40:52,212 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-08 06:40:52,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:52,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:52,213 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 64 states. [2022-04-08 06:40:52,214 INFO L87 Difference]: Start difference. First operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 64 states. [2022-04-08 06:40:52,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:52,216 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2022-04-08 06:40:52,216 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-08 06:40:52,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:52,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:52,217 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:40:52,217 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:40:52,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 39 states have (on average 1.2307692307692308) internal successors, (48), 41 states have internal predecessors, (48), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 06:40:52,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 76 transitions. [2022-04-08 06:40:52,220 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 76 transitions. Word has length 30 [2022-04-08 06:40:52,220 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:40:52,220 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 76 transitions. [2022-04-08 06:40:52,220 INFO L479 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-08 06:40:52,220 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 76 transitions. [2022-04-08 06:40:52,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:52,292 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2022-04-08 06:40:52,292 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-08 06:40:52,293 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:40:52,293 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:40:52,317 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 06:40:52,517 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:40:52,517 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:40:52,518 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:40:52,518 INFO L85 PathProgramCache]: Analyzing trace with hash -1255015940, now seen corresponding path program 1 times [2022-04-08 06:40:52,518 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:52,518 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [14956865] [2022-04-08 06:40:56,700 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:40:56,700 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:40:56,700 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:40:56,700 INFO L85 PathProgramCache]: Analyzing trace with hash -1255015940, now seen corresponding path program 2 times [2022-04-08 06:40:56,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:40:56,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1410802764] [2022-04-08 06:40:56,701 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:40:56,701 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:40:56,735 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:40:56,736 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1321599762] [2022-04-08 06:40:56,736 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:40:56,736 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:40:56,736 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:40:56,740 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:40:56,750 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 06:40:56,787 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:40:56,787 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:40:56,788 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 06:40:56,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:40:56,806 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:40:56,983 INFO L272 TraceCheckUtils]: 0: Hoare triple {2396#true} call ULTIMATE.init(); {2396#true} is VALID [2022-04-08 06:40:56,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {2396#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);~counter~0 := 0; {2404#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:56,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {2404#(<= ~counter~0 0)} assume true; {2404#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:56,985 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2404#(<= ~counter~0 0)} {2396#true} #92#return; {2404#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:56,985 INFO L272 TraceCheckUtils]: 4: Hoare triple {2404#(<= ~counter~0 0)} call #t~ret7 := main(); {2404#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:56,985 INFO L290 TraceCheckUtils]: 5: Hoare triple {2404#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2404#(<= ~counter~0 0)} is VALID [2022-04-08 06:40:56,986 INFO L290 TraceCheckUtils]: 6: Hoare triple {2404#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,986 INFO L290 TraceCheckUtils]: 7: Hoare triple {2420#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,987 INFO L272 TraceCheckUtils]: 8: Hoare triple {2420#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,987 INFO L290 TraceCheckUtils]: 9: Hoare triple {2420#(<= ~counter~0 1)} ~cond := #in~cond; {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,988 INFO L290 TraceCheckUtils]: 10: Hoare triple {2420#(<= ~counter~0 1)} assume !(0 == ~cond); {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,988 INFO L290 TraceCheckUtils]: 11: Hoare triple {2420#(<= ~counter~0 1)} assume true; {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,989 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2420#(<= ~counter~0 1)} {2420#(<= ~counter~0 1)} #78#return; {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,989 INFO L272 TraceCheckUtils]: 13: Hoare triple {2420#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,990 INFO L290 TraceCheckUtils]: 14: Hoare triple {2420#(<= ~counter~0 1)} ~cond := #in~cond; {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,990 INFO L290 TraceCheckUtils]: 15: Hoare triple {2420#(<= ~counter~0 1)} assume !(0 == ~cond); {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,990 INFO L290 TraceCheckUtils]: 16: Hoare triple {2420#(<= ~counter~0 1)} assume true; {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,991 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2420#(<= ~counter~0 1)} {2420#(<= ~counter~0 1)} #80#return; {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,992 INFO L272 TraceCheckUtils]: 18: Hoare triple {2420#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,992 INFO L290 TraceCheckUtils]: 19: Hoare triple {2420#(<= ~counter~0 1)} ~cond := #in~cond; {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,992 INFO L290 TraceCheckUtils]: 20: Hoare triple {2420#(<= ~counter~0 1)} assume !(0 == ~cond); {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,993 INFO L290 TraceCheckUtils]: 21: Hoare triple {2420#(<= ~counter~0 1)} assume true; {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,993 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2420#(<= ~counter~0 1)} {2420#(<= ~counter~0 1)} #82#return; {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,994 INFO L290 TraceCheckUtils]: 23: Hoare triple {2420#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2420#(<= ~counter~0 1)} is VALID [2022-04-08 06:40:56,994 INFO L290 TraceCheckUtils]: 24: Hoare triple {2420#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2475#(<= |main_#t~post5| 1)} is VALID [2022-04-08 06:40:56,995 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#(<= |main_#t~post5| 1)} assume !(#t~post5 < 20);havoc #t~post5; {2397#false} is VALID [2022-04-08 06:40:56,996 INFO L290 TraceCheckUtils]: 26: Hoare triple {2397#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2397#false} is VALID [2022-04-08 06:40:56,996 INFO L290 TraceCheckUtils]: 27: Hoare triple {2397#false} assume !(#t~post6 < 20);havoc #t~post6; {2397#false} is VALID [2022-04-08 06:40:56,997 INFO L272 TraceCheckUtils]: 28: Hoare triple {2397#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2397#false} is VALID [2022-04-08 06:40:56,998 INFO L290 TraceCheckUtils]: 29: Hoare triple {2397#false} ~cond := #in~cond; {2397#false} is VALID [2022-04-08 06:40:56,998 INFO L290 TraceCheckUtils]: 30: Hoare triple {2397#false} assume !(0 == ~cond); {2397#false} is VALID [2022-04-08 06:40:57,000 INFO L290 TraceCheckUtils]: 31: Hoare triple {2397#false} assume true; {2397#false} is VALID [2022-04-08 06:40:57,001 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2397#false} {2397#false} #88#return; {2397#false} is VALID [2022-04-08 06:40:57,001 INFO L272 TraceCheckUtils]: 33: Hoare triple {2397#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {2397#false} is VALID [2022-04-08 06:40:57,001 INFO L290 TraceCheckUtils]: 34: Hoare triple {2397#false} ~cond := #in~cond; {2397#false} is VALID [2022-04-08 06:40:57,001 INFO L290 TraceCheckUtils]: 35: Hoare triple {2397#false} assume 0 == ~cond; {2397#false} is VALID [2022-04-08 06:40:57,002 INFO L290 TraceCheckUtils]: 36: Hoare triple {2397#false} assume !false; {2397#false} is VALID [2022-04-08 06:40:57,002 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 18 proven. 2 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-04-08 06:40:57,002 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:40:57,205 INFO L290 TraceCheckUtils]: 36: Hoare triple {2397#false} assume !false; {2397#false} is VALID [2022-04-08 06:40:57,205 INFO L290 TraceCheckUtils]: 35: Hoare triple {2397#false} assume 0 == ~cond; {2397#false} is VALID [2022-04-08 06:40:57,205 INFO L290 TraceCheckUtils]: 34: Hoare triple {2397#false} ~cond := #in~cond; {2397#false} is VALID [2022-04-08 06:40:57,206 INFO L272 TraceCheckUtils]: 33: Hoare triple {2397#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {2397#false} is VALID [2022-04-08 06:40:57,206 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2396#true} {2397#false} #88#return; {2397#false} is VALID [2022-04-08 06:40:57,206 INFO L290 TraceCheckUtils]: 31: Hoare triple {2396#true} assume true; {2396#true} is VALID [2022-04-08 06:40:57,206 INFO L290 TraceCheckUtils]: 30: Hoare triple {2396#true} assume !(0 == ~cond); {2396#true} is VALID [2022-04-08 06:40:57,206 INFO L290 TraceCheckUtils]: 29: Hoare triple {2396#true} ~cond := #in~cond; {2396#true} is VALID [2022-04-08 06:40:57,206 INFO L272 TraceCheckUtils]: 28: Hoare triple {2397#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2396#true} is VALID [2022-04-08 06:40:57,207 INFO L290 TraceCheckUtils]: 27: Hoare triple {2397#false} assume !(#t~post6 < 20);havoc #t~post6; {2397#false} is VALID [2022-04-08 06:40:57,207 INFO L290 TraceCheckUtils]: 26: Hoare triple {2397#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2397#false} is VALID [2022-04-08 06:40:57,211 INFO L290 TraceCheckUtils]: 25: Hoare triple {2545#(< |main_#t~post5| 20)} assume !(#t~post5 < 20);havoc #t~post5; {2397#false} is VALID [2022-04-08 06:40:57,211 INFO L290 TraceCheckUtils]: 24: Hoare triple {2549#(< ~counter~0 20)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2545#(< |main_#t~post5| 20)} is VALID [2022-04-08 06:40:57,212 INFO L290 TraceCheckUtils]: 23: Hoare triple {2549#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2549#(< ~counter~0 20)} is VALID [2022-04-08 06:40:57,213 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2396#true} {2549#(< ~counter~0 20)} #82#return; {2549#(< ~counter~0 20)} is VALID [2022-04-08 06:40:57,213 INFO L290 TraceCheckUtils]: 21: Hoare triple {2396#true} assume true; {2396#true} is VALID [2022-04-08 06:40:57,213 INFO L290 TraceCheckUtils]: 20: Hoare triple {2396#true} assume !(0 == ~cond); {2396#true} is VALID [2022-04-08 06:40:57,213 INFO L290 TraceCheckUtils]: 19: Hoare triple {2396#true} ~cond := #in~cond; {2396#true} is VALID [2022-04-08 06:40:57,213 INFO L272 TraceCheckUtils]: 18: Hoare triple {2549#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2396#true} is VALID [2022-04-08 06:40:57,214 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2396#true} {2549#(< ~counter~0 20)} #80#return; {2549#(< ~counter~0 20)} is VALID [2022-04-08 06:40:57,214 INFO L290 TraceCheckUtils]: 16: Hoare triple {2396#true} assume true; {2396#true} is VALID [2022-04-08 06:40:57,214 INFO L290 TraceCheckUtils]: 15: Hoare triple {2396#true} assume !(0 == ~cond); {2396#true} is VALID [2022-04-08 06:40:57,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {2396#true} ~cond := #in~cond; {2396#true} is VALID [2022-04-08 06:40:57,214 INFO L272 TraceCheckUtils]: 13: Hoare triple {2549#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2396#true} is VALID [2022-04-08 06:40:57,215 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2396#true} {2549#(< ~counter~0 20)} #78#return; {2549#(< ~counter~0 20)} is VALID [2022-04-08 06:40:57,215 INFO L290 TraceCheckUtils]: 11: Hoare triple {2396#true} assume true; {2396#true} is VALID [2022-04-08 06:40:57,215 INFO L290 TraceCheckUtils]: 10: Hoare triple {2396#true} assume !(0 == ~cond); {2396#true} is VALID [2022-04-08 06:40:57,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {2396#true} ~cond := #in~cond; {2396#true} is VALID [2022-04-08 06:40:57,215 INFO L272 TraceCheckUtils]: 8: Hoare triple {2549#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2396#true} is VALID [2022-04-08 06:40:57,216 INFO L290 TraceCheckUtils]: 7: Hoare triple {2549#(< ~counter~0 20)} assume !!(#t~post5 < 20);havoc #t~post5; {2549#(< ~counter~0 20)} is VALID [2022-04-08 06:40:57,216 INFO L290 TraceCheckUtils]: 6: Hoare triple {2604#(< ~counter~0 19)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {2549#(< ~counter~0 20)} is VALID [2022-04-08 06:40:57,217 INFO L290 TraceCheckUtils]: 5: Hoare triple {2604#(< ~counter~0 19)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2604#(< ~counter~0 19)} is VALID [2022-04-08 06:40:57,218 INFO L272 TraceCheckUtils]: 4: Hoare triple {2604#(< ~counter~0 19)} call #t~ret7 := main(); {2604#(< ~counter~0 19)} is VALID [2022-04-08 06:40:57,218 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2604#(< ~counter~0 19)} {2396#true} #92#return; {2604#(< ~counter~0 19)} is VALID [2022-04-08 06:40:57,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {2604#(< ~counter~0 19)} assume true; {2604#(< ~counter~0 19)} is VALID [2022-04-08 06:40:57,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {2396#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);~counter~0 := 0; {2604#(< ~counter~0 19)} is VALID [2022-04-08 06:40:57,219 INFO L272 TraceCheckUtils]: 0: Hoare triple {2396#true} call ULTIMATE.init(); {2396#true} is VALID [2022-04-08 06:40:57,220 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-08 06:40:57,220 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:40:57,220 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1410802764] [2022-04-08 06:40:57,220 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:40:57,220 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1321599762] [2022-04-08 06:40:57,220 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1321599762] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:40:57,220 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:40:57,220 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-08 06:40:57,221 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:40:57,221 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [14956865] [2022-04-08 06:40:57,221 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [14956865] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:40:57,221 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:40:57,221 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:40:57,221 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1583295586] [2022-04-08 06:40:57,221 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:40:57,222 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 37 [2022-04-08 06:40:57,222 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:40:57,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 06:40:57,244 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:57,245 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:40:57,245 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:57,245 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:40:57,245 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-08 06:40:57,246 INFO L87 Difference]: Start difference. First operand 63 states and 76 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 06:40:57,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:57,410 INFO L93 Difference]: Finished difference Result 90 states and 114 transitions. [2022-04-08 06:40:57,410 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 06:40:57,410 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 37 [2022-04-08 06:40:57,411 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:40:57,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 06:40:57,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-08 06:40:57,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 06:40:57,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2022-04-08 06:40:57,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2022-04-08 06:40:57,473 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:40:57,474 INFO L225 Difference]: With dead ends: 90 [2022-04-08 06:40:57,475 INFO L226 Difference]: Without dead ends: 65 [2022-04-08 06:40:57,478 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-08 06:40:57,479 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 2 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 06:40:57,479 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [2 Valid, 126 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 06:40:57,479 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-08 06:40:57,531 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 65. [2022-04-08 06:40:57,531 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:40:57,532 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 06:40:57,533 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 06:40:57,541 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 06:40:57,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:57,543 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2022-04-08 06:40:57,543 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-04-08 06:40:57,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:57,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:57,546 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 65 states. [2022-04-08 06:40:57,546 INFO L87 Difference]: Start difference. First operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 65 states. [2022-04-08 06:40:57,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:40:57,549 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2022-04-08 06:40:57,549 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-04-08 06:40:57,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:40:57,549 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:40:57,550 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:40:57,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:40:57,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 43 states have internal predecessors, (50), 15 states have call successors, (15), 9 states have call predecessors, (15), 8 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-08 06:40:57,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 78 transitions. [2022-04-08 06:40:57,553 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 78 transitions. Word has length 37 [2022-04-08 06:40:57,554 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:40:57,554 INFO L478 AbstractCegarLoop]: Abstraction has 65 states and 78 transitions. [2022-04-08 06:40:57,555 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-08 06:40:57,555 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 78 transitions. [2022-04-08 06:40:57,636 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-08 06:40:57,637 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-04-08 06:40:57,637 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-08 06:40:57,637 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:40:57,637 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:40:57,667 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-08 06:40:57,862 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:40:57,862 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:40:57,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:40:57,863 INFO L85 PathProgramCache]: Analyzing trace with hash -1057559728, now seen corresponding path program 1 times [2022-04-08 06:40:57,863 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:40:57,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1238406208] [2022-04-08 06:41:00,022 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:41:00,023 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:41:00,023 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:41:00,023 INFO L85 PathProgramCache]: Analyzing trace with hash -1057559728, now seen corresponding path program 2 times [2022-04-08 06:41:00,023 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:41:00,023 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [398373033] [2022-04-08 06:41:00,023 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:41:00,023 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:41:00,033 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:41:00,034 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1763431446] [2022-04-08 06:41:00,034 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:41:00,034 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:41:00,034 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:41:00,043 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:41:00,044 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 06:41:00,084 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:41:00,084 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:41:00,085 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 06:41:00,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:41:00,095 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:41:00,330 INFO L272 TraceCheckUtils]: 0: Hoare triple {3067#true} call ULTIMATE.init(); {3067#true} is VALID [2022-04-08 06:41:00,330 INFO L290 TraceCheckUtils]: 1: Hoare triple {3067#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);~counter~0 := 0; {3067#true} is VALID [2022-04-08 06:41:00,331 INFO L290 TraceCheckUtils]: 2: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-08 06:41:00,331 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3067#true} {3067#true} #92#return; {3067#true} is VALID [2022-04-08 06:41:00,331 INFO L272 TraceCheckUtils]: 4: Hoare triple {3067#true} call #t~ret7 := main(); {3067#true} is VALID [2022-04-08 06:41:00,332 INFO L290 TraceCheckUtils]: 5: Hoare triple {3067#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:41:00,332 INFO L290 TraceCheckUtils]: 6: Hoare triple {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:41:00,333 INFO L290 TraceCheckUtils]: 7: Hoare triple {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:41:00,333 INFO L272 TraceCheckUtils]: 8: Hoare triple {3087#(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)); {3067#true} is VALID [2022-04-08 06:41:00,333 INFO L290 TraceCheckUtils]: 9: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-08 06:41:00,333 INFO L290 TraceCheckUtils]: 10: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-08 06:41:00,333 INFO L290 TraceCheckUtils]: 11: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-08 06:41:00,334 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3067#true} {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #78#return; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:41:00,334 INFO L272 TraceCheckUtils]: 13: Hoare triple {3087#(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)); {3067#true} is VALID [2022-04-08 06:41:00,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-08 06:41:00,335 INFO L290 TraceCheckUtils]: 15: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-08 06:41:00,335 INFO L290 TraceCheckUtils]: 16: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-08 06:41:00,336 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3067#true} {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:41:00,336 INFO L272 TraceCheckUtils]: 18: Hoare triple {3087#(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)); {3067#true} is VALID [2022-04-08 06:41:00,336 INFO L290 TraceCheckUtils]: 19: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-08 06:41:00,336 INFO L290 TraceCheckUtils]: 20: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-08 06:41:00,336 INFO L290 TraceCheckUtils]: 21: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-08 06:41:00,337 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3067#true} {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {3087#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:41:00,337 INFO L290 TraceCheckUtils]: 23: Hoare triple {3087#(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; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:41:00,338 INFO L290 TraceCheckUtils]: 24: Hoare triple {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:41:00,348 INFO L290 TraceCheckUtils]: 25: Hoare triple {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:41:00,349 INFO L272 TraceCheckUtils]: 26: Hoare triple {3142#(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)); {3067#true} is VALID [2022-04-08 06:41:00,350 INFO L290 TraceCheckUtils]: 27: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-08 06:41:00,350 INFO L290 TraceCheckUtils]: 28: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-08 06:41:00,350 INFO L290 TraceCheckUtils]: 29: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-08 06:41:00,351 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3067#true} {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #78#return; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:41:00,351 INFO L272 TraceCheckUtils]: 31: Hoare triple {3142#(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)); {3067#true} is VALID [2022-04-08 06:41:00,351 INFO L290 TraceCheckUtils]: 32: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-08 06:41:00,351 INFO L290 TraceCheckUtils]: 33: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-08 06:41:00,351 INFO L290 TraceCheckUtils]: 34: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-08 06:41:00,352 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3067#true} {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {3142#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-08 06:41:00,352 INFO L272 TraceCheckUtils]: 36: Hoare triple {3142#(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)); {3182#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:41:00,353 INFO L290 TraceCheckUtils]: 37: Hoare triple {3182#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3186#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:41:00,353 INFO L290 TraceCheckUtils]: 38: Hoare triple {3186#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3068#false} is VALID [2022-04-08 06:41:00,353 INFO L290 TraceCheckUtils]: 39: Hoare triple {3068#false} assume !false; {3068#false} is VALID [2022-04-08 06:41:00,353 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-08 06:41:00,353 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:41:00,545 INFO L290 TraceCheckUtils]: 39: Hoare triple {3068#false} assume !false; {3068#false} is VALID [2022-04-08 06:41:00,545 INFO L290 TraceCheckUtils]: 38: Hoare triple {3186#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3068#false} is VALID [2022-04-08 06:41:00,546 INFO L290 TraceCheckUtils]: 37: Hoare triple {3182#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3186#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:41:00,546 INFO L272 TraceCheckUtils]: 36: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3182#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:41:00,547 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:41:00,547 INFO L290 TraceCheckUtils]: 34: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-08 06:41:00,547 INFO L290 TraceCheckUtils]: 33: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-08 06:41:00,548 INFO L290 TraceCheckUtils]: 32: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-08 06:41:00,548 INFO L272 TraceCheckUtils]: 31: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3067#true} is VALID [2022-04-08 06:41:00,548 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #78#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:41:00,548 INFO L290 TraceCheckUtils]: 29: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-08 06:41:00,549 INFO L290 TraceCheckUtils]: 28: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-08 06:41:00,549 INFO L290 TraceCheckUtils]: 27: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-08 06:41:00,549 INFO L272 TraceCheckUtils]: 26: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3067#true} is VALID [2022-04-08 06:41:00,549 INFO L290 TraceCheckUtils]: 25: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(#t~post5 < 20);havoc #t~post5; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:41:00,550 INFO L290 TraceCheckUtils]: 24: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:41:00,553 INFO L290 TraceCheckUtils]: 23: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:41:00,554 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:41:00,554 INFO L290 TraceCheckUtils]: 21: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-08 06:41:00,554 INFO L290 TraceCheckUtils]: 20: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-08 06:41:00,554 INFO L290 TraceCheckUtils]: 19: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-08 06:41:00,554 INFO L272 TraceCheckUtils]: 18: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3067#true} is VALID [2022-04-08 06:41:00,555 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:41:00,555 INFO L290 TraceCheckUtils]: 16: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-08 06:41:00,555 INFO L290 TraceCheckUtils]: 15: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-08 06:41:00,555 INFO L290 TraceCheckUtils]: 14: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-08 06:41:00,556 INFO L272 TraceCheckUtils]: 13: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3067#true} is VALID [2022-04-08 06:41:00,556 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3067#true} {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #78#return; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:41:00,556 INFO L290 TraceCheckUtils]: 11: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-08 06:41:00,556 INFO L290 TraceCheckUtils]: 10: Hoare triple {3067#true} assume !(0 == ~cond); {3067#true} is VALID [2022-04-08 06:41:00,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {3067#true} ~cond := #in~cond; {3067#true} is VALID [2022-04-08 06:41:00,557 INFO L272 TraceCheckUtils]: 8: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3067#true} is VALID [2022-04-08 06:41:00,557 INFO L290 TraceCheckUtils]: 7: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(#t~post5 < 20);havoc #t~post5; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:41:00,558 INFO L290 TraceCheckUtils]: 6: Hoare triple {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:41:00,558 INFO L290 TraceCheckUtils]: 5: Hoare triple {3067#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3202#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-08 06:41:00,558 INFO L272 TraceCheckUtils]: 4: Hoare triple {3067#true} call #t~ret7 := main(); {3067#true} is VALID [2022-04-08 06:41:00,558 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3067#true} {3067#true} #92#return; {3067#true} is VALID [2022-04-08 06:41:00,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {3067#true} assume true; {3067#true} is VALID [2022-04-08 06:41:00,559 INFO L290 TraceCheckUtils]: 1: Hoare triple {3067#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);~counter~0 := 0; {3067#true} is VALID [2022-04-08 06:41:00,559 INFO L272 TraceCheckUtils]: 0: Hoare triple {3067#true} call ULTIMATE.init(); {3067#true} is VALID [2022-04-08 06:41:00,559 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-08 06:41:00,559 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:41:00,559 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [398373033] [2022-04-08 06:41:00,560 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:41:00,560 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1763431446] [2022-04-08 06:41:00,560 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1763431446] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 06:41:00,560 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 06:41:00,560 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-08 06:41:00,560 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:41:00,560 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1238406208] [2022-04-08 06:41:00,560 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1238406208] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:41:00,561 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:41:00,561 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 06:41:00,561 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [23321639] [2022-04-08 06:41:00,561 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:41:00,561 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-08 06:41:00,562 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:41:00,562 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:41:00,580 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:00,581 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 06:41:00,581 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:41:00,581 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 06:41:00,581 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 06:41:00,581 INFO L87 Difference]: Start difference. First operand 65 states and 78 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:41:02,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:02,035 INFO L93 Difference]: Finished difference Result 78 states and 95 transitions. [2022-04-08 06:41:02,035 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 06:41:02,035 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 40 [2022-04-08 06:41:02,035 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:41:02,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:41:02,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 06:41:02,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:41:02,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-08 06:41:02,038 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-08 06:41:02,082 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:02,084 INFO L225 Difference]: With dead ends: 78 [2022-04-08 06:41:02,084 INFO L226 Difference]: Without dead ends: 76 [2022-04-08 06:41:02,085 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 72 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-08 06:41:02,085 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 11 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:41:02,085 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 103 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:41:02,086 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-08 06:41:02,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 73. [2022-04-08 06:41:02,139 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:41:02,139 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 06:41:02,140 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 06:41:02,140 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 06:41:02,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:02,142 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2022-04-08 06:41:02,143 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-08 06:41:02,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:41:02,143 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:41:02,143 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 76 states. [2022-04-08 06:41:02,144 INFO L87 Difference]: Start difference. First operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) Second operand 76 states. [2022-04-08 06:41:02,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:02,146 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2022-04-08 06:41:02,146 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2022-04-08 06:41:02,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:41:02,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:41:02,147 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:41:02,147 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:41:02,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 46 states have (on average 1.2173913043478262) internal successors, (56), 49 states have internal predecessors, (56), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 13 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-08 06:41:02,150 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 88 transitions. [2022-04-08 06:41:02,150 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 88 transitions. Word has length 40 [2022-04-08 06:41:02,150 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:41:02,151 INFO L478 AbstractCegarLoop]: Abstraction has 73 states and 88 transitions. [2022-04-08 06:41:02,151 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 06:41:02,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 73 states and 88 transitions. [2022-04-08 06:41:02,245 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:02,246 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 88 transitions. [2022-04-08 06:41:02,248 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-08 06:41:02,248 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:41:02,248 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:41:02,274 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-08 06:41:02,459 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:41:02,460 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:41:02,460 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:41:02,460 INFO L85 PathProgramCache]: Analyzing trace with hash 529029787, now seen corresponding path program 1 times [2022-04-08 06:41:02,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:41:02,460 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [174401335] [2022-04-08 06:41:05,486 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:41:05,487 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:41:05,487 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:41:05,487 INFO L85 PathProgramCache]: Analyzing trace with hash 529029787, now seen corresponding path program 2 times [2022-04-08 06:41:05,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:41:05,487 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1052758558] [2022-04-08 06:41:05,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:41:05,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:41:05,497 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:41:05,498 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [879616423] [2022-04-08 06:41:05,498 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:41:05,498 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:41:05,498 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:41:05,500 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:41:05,523 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 06:41:05,556 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:41:05,556 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:41:05,557 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 06:41:05,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:41:05,580 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:41:05,845 INFO L272 TraceCheckUtils]: 0: Hoare triple {3769#true} call ULTIMATE.init(); {3769#true} is VALID [2022-04-08 06:41:05,846 INFO L290 TraceCheckUtils]: 1: Hoare triple {3769#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);~counter~0 := 0; {3777#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:05,846 INFO L290 TraceCheckUtils]: 2: Hoare triple {3777#(<= ~counter~0 0)} assume true; {3777#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:05,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3777#(<= ~counter~0 0)} {3769#true} #92#return; {3777#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:05,847 INFO L272 TraceCheckUtils]: 4: Hoare triple {3777#(<= ~counter~0 0)} call #t~ret7 := main(); {3777#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:05,847 INFO L290 TraceCheckUtils]: 5: Hoare triple {3777#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3777#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:05,848 INFO L290 TraceCheckUtils]: 6: Hoare triple {3777#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,848 INFO L290 TraceCheckUtils]: 7: Hoare triple {3793#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,851 INFO L272 TraceCheckUtils]: 8: Hoare triple {3793#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,852 INFO L290 TraceCheckUtils]: 9: Hoare triple {3793#(<= ~counter~0 1)} ~cond := #in~cond; {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,852 INFO L290 TraceCheckUtils]: 10: Hoare triple {3793#(<= ~counter~0 1)} assume !(0 == ~cond); {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,852 INFO L290 TraceCheckUtils]: 11: Hoare triple {3793#(<= ~counter~0 1)} assume true; {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,853 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3793#(<= ~counter~0 1)} {3793#(<= ~counter~0 1)} #78#return; {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,853 INFO L272 TraceCheckUtils]: 13: Hoare triple {3793#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,854 INFO L290 TraceCheckUtils]: 14: Hoare triple {3793#(<= ~counter~0 1)} ~cond := #in~cond; {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,854 INFO L290 TraceCheckUtils]: 15: Hoare triple {3793#(<= ~counter~0 1)} assume !(0 == ~cond); {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,854 INFO L290 TraceCheckUtils]: 16: Hoare triple {3793#(<= ~counter~0 1)} assume true; {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,855 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3793#(<= ~counter~0 1)} {3793#(<= ~counter~0 1)} #80#return; {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,855 INFO L272 TraceCheckUtils]: 18: Hoare triple {3793#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,856 INFO L290 TraceCheckUtils]: 19: Hoare triple {3793#(<= ~counter~0 1)} ~cond := #in~cond; {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,856 INFO L290 TraceCheckUtils]: 20: Hoare triple {3793#(<= ~counter~0 1)} assume !(0 == ~cond); {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,857 INFO L290 TraceCheckUtils]: 21: Hoare triple {3793#(<= ~counter~0 1)} assume true; {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,857 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3793#(<= ~counter~0 1)} {3793#(<= ~counter~0 1)} #82#return; {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,858 INFO L290 TraceCheckUtils]: 23: Hoare triple {3793#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3793#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:05,858 INFO L290 TraceCheckUtils]: 24: Hoare triple {3793#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,858 INFO L290 TraceCheckUtils]: 25: Hoare triple {3848#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,859 INFO L272 TraceCheckUtils]: 26: Hoare triple {3848#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,859 INFO L290 TraceCheckUtils]: 27: Hoare triple {3848#(<= ~counter~0 2)} ~cond := #in~cond; {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,860 INFO L290 TraceCheckUtils]: 28: Hoare triple {3848#(<= ~counter~0 2)} assume !(0 == ~cond); {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,860 INFO L290 TraceCheckUtils]: 29: Hoare triple {3848#(<= ~counter~0 2)} assume true; {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,860 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3848#(<= ~counter~0 2)} {3848#(<= ~counter~0 2)} #78#return; {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,861 INFO L272 TraceCheckUtils]: 31: Hoare triple {3848#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,861 INFO L290 TraceCheckUtils]: 32: Hoare triple {3848#(<= ~counter~0 2)} ~cond := #in~cond; {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,870 INFO L290 TraceCheckUtils]: 33: Hoare triple {3848#(<= ~counter~0 2)} assume !(0 == ~cond); {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,871 INFO L290 TraceCheckUtils]: 34: Hoare triple {3848#(<= ~counter~0 2)} assume true; {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,872 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3848#(<= ~counter~0 2)} {3848#(<= ~counter~0 2)} #80#return; {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,872 INFO L272 TraceCheckUtils]: 36: Hoare triple {3848#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,873 INFO L290 TraceCheckUtils]: 37: Hoare triple {3848#(<= ~counter~0 2)} ~cond := #in~cond; {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,873 INFO L290 TraceCheckUtils]: 38: Hoare triple {3848#(<= ~counter~0 2)} assume !(0 == ~cond); {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,873 INFO L290 TraceCheckUtils]: 39: Hoare triple {3848#(<= ~counter~0 2)} assume true; {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,878 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3848#(<= ~counter~0 2)} {3848#(<= ~counter~0 2)} #82#return; {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,879 INFO L290 TraceCheckUtils]: 41: Hoare triple {3848#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {3848#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:05,879 INFO L290 TraceCheckUtils]: 42: Hoare triple {3848#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3903#(<= |main_#t~post6| 2)} is VALID [2022-04-08 06:41:05,880 INFO L290 TraceCheckUtils]: 43: Hoare triple {3903#(<= |main_#t~post6| 2)} assume !(#t~post6 < 20);havoc #t~post6; {3770#false} is VALID [2022-04-08 06:41:05,880 INFO L272 TraceCheckUtils]: 44: Hoare triple {3770#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3770#false} is VALID [2022-04-08 06:41:05,880 INFO L290 TraceCheckUtils]: 45: Hoare triple {3770#false} ~cond := #in~cond; {3770#false} is VALID [2022-04-08 06:41:05,880 INFO L290 TraceCheckUtils]: 46: Hoare triple {3770#false} assume !(0 == ~cond); {3770#false} is VALID [2022-04-08 06:41:05,880 INFO L290 TraceCheckUtils]: 47: Hoare triple {3770#false} assume true; {3770#false} is VALID [2022-04-08 06:41:05,880 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3770#false} {3770#false} #88#return; {3770#false} is VALID [2022-04-08 06:41:05,880 INFO L272 TraceCheckUtils]: 49: Hoare triple {3770#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {3770#false} is VALID [2022-04-08 06:41:05,881 INFO L290 TraceCheckUtils]: 50: Hoare triple {3770#false} ~cond := #in~cond; {3770#false} is VALID [2022-04-08 06:41:05,881 INFO L290 TraceCheckUtils]: 51: Hoare triple {3770#false} assume 0 == ~cond; {3770#false} is VALID [2022-04-08 06:41:05,881 INFO L290 TraceCheckUtils]: 52: Hoare triple {3770#false} assume !false; {3770#false} is VALID [2022-04-08 06:41:05,881 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 36 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-08 06:41:05,881 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:41:06,156 INFO L290 TraceCheckUtils]: 52: Hoare triple {3770#false} assume !false; {3770#false} is VALID [2022-04-08 06:41:06,157 INFO L290 TraceCheckUtils]: 51: Hoare triple {3770#false} assume 0 == ~cond; {3770#false} is VALID [2022-04-08 06:41:06,157 INFO L290 TraceCheckUtils]: 50: Hoare triple {3770#false} ~cond := #in~cond; {3770#false} is VALID [2022-04-08 06:41:06,157 INFO L272 TraceCheckUtils]: 49: Hoare triple {3770#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {3770#false} is VALID [2022-04-08 06:41:06,157 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {3769#true} {3770#false} #88#return; {3770#false} is VALID [2022-04-08 06:41:06,158 INFO L290 TraceCheckUtils]: 47: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-08 06:41:06,158 INFO L290 TraceCheckUtils]: 46: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-08 06:41:06,158 INFO L290 TraceCheckUtils]: 45: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-08 06:41:06,158 INFO L272 TraceCheckUtils]: 44: Hoare triple {3770#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3769#true} is VALID [2022-04-08 06:41:06,159 INFO L290 TraceCheckUtils]: 43: Hoare triple {3961#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {3770#false} is VALID [2022-04-08 06:41:06,159 INFO L290 TraceCheckUtils]: 42: Hoare triple {3965#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3961#(< |main_#t~post6| 20)} is VALID [2022-04-08 06:41:06,160 INFO L290 TraceCheckUtils]: 41: Hoare triple {3965#(< ~counter~0 20)} assume !(~r~0 >= ~d~0); {3965#(< ~counter~0 20)} is VALID [2022-04-08 06:41:06,160 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3769#true} {3965#(< ~counter~0 20)} #82#return; {3965#(< ~counter~0 20)} is VALID [2022-04-08 06:41:06,161 INFO L290 TraceCheckUtils]: 39: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-08 06:41:06,163 INFO L290 TraceCheckUtils]: 38: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-08 06:41:06,164 INFO L290 TraceCheckUtils]: 37: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-08 06:41:06,173 INFO L272 TraceCheckUtils]: 36: Hoare triple {3965#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3769#true} is VALID [2022-04-08 06:41:06,174 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {3769#true} {3965#(< ~counter~0 20)} #80#return; {3965#(< ~counter~0 20)} is VALID [2022-04-08 06:41:06,174 INFO L290 TraceCheckUtils]: 34: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-08 06:41:06,175 INFO L290 TraceCheckUtils]: 33: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-08 06:41:06,175 INFO L290 TraceCheckUtils]: 32: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-08 06:41:06,175 INFO L272 TraceCheckUtils]: 31: Hoare triple {3965#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3769#true} is VALID [2022-04-08 06:41:06,177 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {3769#true} {3965#(< ~counter~0 20)} #78#return; {3965#(< ~counter~0 20)} is VALID [2022-04-08 06:41:06,177 INFO L290 TraceCheckUtils]: 29: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-08 06:41:06,177 INFO L290 TraceCheckUtils]: 28: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-08 06:41:06,178 INFO L290 TraceCheckUtils]: 27: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-08 06:41:06,178 INFO L272 TraceCheckUtils]: 26: Hoare triple {3965#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3769#true} is VALID [2022-04-08 06:41:06,181 INFO L290 TraceCheckUtils]: 25: Hoare triple {3965#(< ~counter~0 20)} assume !!(#t~post5 < 20);havoc #t~post5; {3965#(< ~counter~0 20)} is VALID [2022-04-08 06:41:06,182 INFO L290 TraceCheckUtils]: 24: Hoare triple {4020#(< ~counter~0 19)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {3965#(< ~counter~0 20)} is VALID [2022-04-08 06:41:06,183 INFO L290 TraceCheckUtils]: 23: Hoare triple {4020#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4020#(< ~counter~0 19)} is VALID [2022-04-08 06:41:06,183 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3769#true} {4020#(< ~counter~0 19)} #82#return; {4020#(< ~counter~0 19)} is VALID [2022-04-08 06:41:06,183 INFO L290 TraceCheckUtils]: 21: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-08 06:41:06,183 INFO L290 TraceCheckUtils]: 20: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-08 06:41:06,184 INFO L290 TraceCheckUtils]: 19: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-08 06:41:06,184 INFO L272 TraceCheckUtils]: 18: Hoare triple {4020#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3769#true} is VALID [2022-04-08 06:41:06,184 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3769#true} {4020#(< ~counter~0 19)} #80#return; {4020#(< ~counter~0 19)} is VALID [2022-04-08 06:41:06,184 INFO L290 TraceCheckUtils]: 16: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-08 06:41:06,185 INFO L290 TraceCheckUtils]: 15: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-08 06:41:06,185 INFO L290 TraceCheckUtils]: 14: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-08 06:41:06,185 INFO L272 TraceCheckUtils]: 13: Hoare triple {4020#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3769#true} is VALID [2022-04-08 06:41:06,185 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3769#true} {4020#(< ~counter~0 19)} #78#return; {4020#(< ~counter~0 19)} is VALID [2022-04-08 06:41:06,185 INFO L290 TraceCheckUtils]: 11: Hoare triple {3769#true} assume true; {3769#true} is VALID [2022-04-08 06:41:06,186 INFO L290 TraceCheckUtils]: 10: Hoare triple {3769#true} assume !(0 == ~cond); {3769#true} is VALID [2022-04-08 06:41:06,186 INFO L290 TraceCheckUtils]: 9: Hoare triple {3769#true} ~cond := #in~cond; {3769#true} is VALID [2022-04-08 06:41:06,186 INFO L272 TraceCheckUtils]: 8: Hoare triple {4020#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3769#true} is VALID [2022-04-08 06:41:06,186 INFO L290 TraceCheckUtils]: 7: Hoare triple {4020#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {4020#(< ~counter~0 19)} is VALID [2022-04-08 06:41:06,187 INFO L290 TraceCheckUtils]: 6: Hoare triple {4075#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4020#(< ~counter~0 19)} is VALID [2022-04-08 06:41:06,187 INFO L290 TraceCheckUtils]: 5: Hoare triple {4075#(< ~counter~0 18)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4075#(< ~counter~0 18)} is VALID [2022-04-08 06:41:06,188 INFO L272 TraceCheckUtils]: 4: Hoare triple {4075#(< ~counter~0 18)} call #t~ret7 := main(); {4075#(< ~counter~0 18)} is VALID [2022-04-08 06:41:06,188 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4075#(< ~counter~0 18)} {3769#true} #92#return; {4075#(< ~counter~0 18)} is VALID [2022-04-08 06:41:06,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {4075#(< ~counter~0 18)} assume true; {4075#(< ~counter~0 18)} is VALID [2022-04-08 06:41:06,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {3769#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);~counter~0 := 0; {4075#(< ~counter~0 18)} is VALID [2022-04-08 06:41:06,189 INFO L272 TraceCheckUtils]: 0: Hoare triple {3769#true} call ULTIMATE.init(); {3769#true} is VALID [2022-04-08 06:41:06,190 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-08 06:41:06,190 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:41:06,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1052758558] [2022-04-08 06:41:06,190 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:41:06,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [879616423] [2022-04-08 06:41:06,190 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [879616423] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:41:06,190 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:41:06,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-08 06:41:06,191 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:41:06,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [174401335] [2022-04-08 06:41:06,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [174401335] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:41:06,191 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:41:06,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:41:06,191 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2058296823] [2022-04-08 06:41:06,192 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:41:06,193 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 53 [2022-04-08 06:41:06,194 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:41:06,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 06:41:06,227 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:06,227 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:41:06,227 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:41:06,228 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:41:06,228 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:41:06,228 INFO L87 Difference]: Start difference. First operand 73 states and 88 transitions. Second operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 06:41:06,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:06,436 INFO L93 Difference]: Finished difference Result 104 states and 120 transitions. [2022-04-08 06:41:06,436 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 06:41:06,436 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 53 [2022-04-08 06:41:06,436 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:41:06,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 06:41:06,439 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2022-04-08 06:41:06,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 06:41:06,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2022-04-08 06:41:06,441 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2022-04-08 06:41:06,507 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:06,511 INFO L225 Difference]: With dead ends: 104 [2022-04-08 06:41:06,512 INFO L226 Difference]: Without dead ends: 92 [2022-04-08 06:41:06,512 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 97 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:41:06,513 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 4 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 06:41:06,514 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 155 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 06:41:06,514 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-08 06:41:06,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 91. [2022-04-08 06:41:06,585 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:41:06,585 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:41:06,586 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:41:06,586 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:41:06,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:06,589 INFO L93 Difference]: Finished difference Result 92 states and 108 transitions. [2022-04-08 06:41:06,589 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 108 transitions. [2022-04-08 06:41:06,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:41:06,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:41:06,589 INFO L74 IsIncluded]: Start isIncluded. First operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 92 states. [2022-04-08 06:41:06,590 INFO L87 Difference]: Start difference. First operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 92 states. [2022-04-08 06:41:06,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:06,592 INFO L93 Difference]: Finished difference Result 92 states and 108 transitions. [2022-04-08 06:41:06,592 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 108 transitions. [2022-04-08 06:41:06,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:41:06,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:41:06,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:41:06,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:41:06,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 91 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 61 states have internal predecessors, (69), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:41:06,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 107 transitions. [2022-04-08 06:41:06,596 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 107 transitions. Word has length 53 [2022-04-08 06:41:06,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:41:06,596 INFO L478 AbstractCegarLoop]: Abstraction has 91 states and 107 transitions. [2022-04-08 06:41:06,596 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.6666666666666665) internal successors, (22), 5 states have internal predecessors, (22), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 06:41:06,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 91 states and 107 transitions. [2022-04-08 06:41:06,694 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:06,694 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 107 transitions. [2022-04-08 06:41:06,695 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-08 06:41:06,695 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:41:06,695 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:41:06,714 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 06:41:06,899 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:41:06,900 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:41:06,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:41:06,900 INFO L85 PathProgramCache]: Analyzing trace with hash 1864650262, now seen corresponding path program 3 times [2022-04-08 06:41:06,900 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:41:06,900 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [950149609] [2022-04-08 06:41:09,304 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:41:09,305 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:41:09,305 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:41:09,305 INFO L85 PathProgramCache]: Analyzing trace with hash 1864650262, now seen corresponding path program 4 times [2022-04-08 06:41:09,305 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:41:09,305 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [418280088] [2022-04-08 06:41:09,305 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:41:09,306 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:41:09,316 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:41:09,316 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [103457623] [2022-04-08 06:41:09,316 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:41:09,316 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:41:09,316 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:41:09,324 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:41:09,331 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 06:41:09,369 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:41:09,369 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:41:09,370 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 06:41:09,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:41:09,384 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:41:09,633 INFO L272 TraceCheckUtils]: 0: Hoare triple {4670#true} call ULTIMATE.init(); {4670#true} is VALID [2022-04-08 06:41:09,634 INFO L290 TraceCheckUtils]: 1: Hoare triple {4670#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);~counter~0 := 0; {4678#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:09,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {4678#(<= ~counter~0 0)} assume true; {4678#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:09,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4678#(<= ~counter~0 0)} {4670#true} #92#return; {4678#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:09,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {4678#(<= ~counter~0 0)} call #t~ret7 := main(); {4678#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:09,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {4678#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4678#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:09,636 INFO L290 TraceCheckUtils]: 6: Hoare triple {4678#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,636 INFO L290 TraceCheckUtils]: 7: Hoare triple {4694#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,637 INFO L272 TraceCheckUtils]: 8: Hoare triple {4694#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,637 INFO L290 TraceCheckUtils]: 9: Hoare triple {4694#(<= ~counter~0 1)} ~cond := #in~cond; {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,637 INFO L290 TraceCheckUtils]: 10: Hoare triple {4694#(<= ~counter~0 1)} assume !(0 == ~cond); {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,637 INFO L290 TraceCheckUtils]: 11: Hoare triple {4694#(<= ~counter~0 1)} assume true; {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,638 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4694#(<= ~counter~0 1)} {4694#(<= ~counter~0 1)} #78#return; {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,638 INFO L272 TraceCheckUtils]: 13: Hoare triple {4694#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,639 INFO L290 TraceCheckUtils]: 14: Hoare triple {4694#(<= ~counter~0 1)} ~cond := #in~cond; {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,643 INFO L290 TraceCheckUtils]: 15: Hoare triple {4694#(<= ~counter~0 1)} assume !(0 == ~cond); {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,644 INFO L290 TraceCheckUtils]: 16: Hoare triple {4694#(<= ~counter~0 1)} assume true; {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,644 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4694#(<= ~counter~0 1)} {4694#(<= ~counter~0 1)} #80#return; {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,645 INFO L272 TraceCheckUtils]: 18: Hoare triple {4694#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,645 INFO L290 TraceCheckUtils]: 19: Hoare triple {4694#(<= ~counter~0 1)} ~cond := #in~cond; {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,646 INFO L290 TraceCheckUtils]: 20: Hoare triple {4694#(<= ~counter~0 1)} assume !(0 == ~cond); {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,646 INFO L290 TraceCheckUtils]: 21: Hoare triple {4694#(<= ~counter~0 1)} assume true; {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,647 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4694#(<= ~counter~0 1)} {4694#(<= ~counter~0 1)} #82#return; {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,647 INFO L290 TraceCheckUtils]: 23: Hoare triple {4694#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4694#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:09,648 INFO L290 TraceCheckUtils]: 24: Hoare triple {4694#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,648 INFO L290 TraceCheckUtils]: 25: Hoare triple {4749#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,649 INFO L272 TraceCheckUtils]: 26: Hoare triple {4749#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,649 INFO L290 TraceCheckUtils]: 27: Hoare triple {4749#(<= ~counter~0 2)} ~cond := #in~cond; {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,649 INFO L290 TraceCheckUtils]: 28: Hoare triple {4749#(<= ~counter~0 2)} assume !(0 == ~cond); {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,650 INFO L290 TraceCheckUtils]: 29: Hoare triple {4749#(<= ~counter~0 2)} assume true; {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,650 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {4749#(<= ~counter~0 2)} {4749#(<= ~counter~0 2)} #78#return; {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,651 INFO L272 TraceCheckUtils]: 31: Hoare triple {4749#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,651 INFO L290 TraceCheckUtils]: 32: Hoare triple {4749#(<= ~counter~0 2)} ~cond := #in~cond; {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,651 INFO L290 TraceCheckUtils]: 33: Hoare triple {4749#(<= ~counter~0 2)} assume !(0 == ~cond); {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,652 INFO L290 TraceCheckUtils]: 34: Hoare triple {4749#(<= ~counter~0 2)} assume true; {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,652 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4749#(<= ~counter~0 2)} {4749#(<= ~counter~0 2)} #80#return; {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,653 INFO L272 TraceCheckUtils]: 36: Hoare triple {4749#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,653 INFO L290 TraceCheckUtils]: 37: Hoare triple {4749#(<= ~counter~0 2)} ~cond := #in~cond; {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,654 INFO L290 TraceCheckUtils]: 38: Hoare triple {4749#(<= ~counter~0 2)} assume !(0 == ~cond); {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,654 INFO L290 TraceCheckUtils]: 39: Hoare triple {4749#(<= ~counter~0 2)} assume true; {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,655 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4749#(<= ~counter~0 2)} {4749#(<= ~counter~0 2)} #82#return; {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,655 INFO L290 TraceCheckUtils]: 41: Hoare triple {4749#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4749#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:09,656 INFO L290 TraceCheckUtils]: 42: Hoare triple {4749#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4804#(<= |main_#t~post5| 2)} is VALID [2022-04-08 06:41:09,656 INFO L290 TraceCheckUtils]: 43: Hoare triple {4804#(<= |main_#t~post5| 2)} assume !(#t~post5 < 20);havoc #t~post5; {4671#false} is VALID [2022-04-08 06:41:09,656 INFO L290 TraceCheckUtils]: 44: Hoare triple {4671#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4671#false} is VALID [2022-04-08 06:41:09,656 INFO L290 TraceCheckUtils]: 45: Hoare triple {4671#false} assume !(#t~post6 < 20);havoc #t~post6; {4671#false} is VALID [2022-04-08 06:41:09,656 INFO L272 TraceCheckUtils]: 46: Hoare triple {4671#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4671#false} is VALID [2022-04-08 06:41:09,656 INFO L290 TraceCheckUtils]: 47: Hoare triple {4671#false} ~cond := #in~cond; {4671#false} is VALID [2022-04-08 06:41:09,657 INFO L290 TraceCheckUtils]: 48: Hoare triple {4671#false} assume !(0 == ~cond); {4671#false} is VALID [2022-04-08 06:41:09,657 INFO L290 TraceCheckUtils]: 49: Hoare triple {4671#false} assume true; {4671#false} is VALID [2022-04-08 06:41:09,657 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4671#false} {4671#false} #88#return; {4671#false} is VALID [2022-04-08 06:41:09,657 INFO L272 TraceCheckUtils]: 51: Hoare triple {4671#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {4671#false} is VALID [2022-04-08 06:41:09,657 INFO L290 TraceCheckUtils]: 52: Hoare triple {4671#false} ~cond := #in~cond; {4671#false} is VALID [2022-04-08 06:41:09,657 INFO L290 TraceCheckUtils]: 53: Hoare triple {4671#false} assume 0 == ~cond; {4671#false} is VALID [2022-04-08 06:41:09,657 INFO L290 TraceCheckUtils]: 54: Hoare triple {4671#false} assume !false; {4671#false} is VALID [2022-04-08 06:41:09,658 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 36 proven. 46 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-08 06:41:09,658 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:41:09,921 INFO L290 TraceCheckUtils]: 54: Hoare triple {4671#false} assume !false; {4671#false} is VALID [2022-04-08 06:41:09,921 INFO L290 TraceCheckUtils]: 53: Hoare triple {4671#false} assume 0 == ~cond; {4671#false} is VALID [2022-04-08 06:41:09,921 INFO L290 TraceCheckUtils]: 52: Hoare triple {4671#false} ~cond := #in~cond; {4671#false} is VALID [2022-04-08 06:41:09,921 INFO L272 TraceCheckUtils]: 51: Hoare triple {4671#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {4671#false} is VALID [2022-04-08 06:41:09,921 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4670#true} {4671#false} #88#return; {4671#false} is VALID [2022-04-08 06:41:09,921 INFO L290 TraceCheckUtils]: 49: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-08 06:41:09,921 INFO L290 TraceCheckUtils]: 48: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-08 06:41:09,921 INFO L290 TraceCheckUtils]: 47: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-08 06:41:09,922 INFO L272 TraceCheckUtils]: 46: Hoare triple {4671#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4670#true} is VALID [2022-04-08 06:41:09,922 INFO L290 TraceCheckUtils]: 45: Hoare triple {4671#false} assume !(#t~post6 < 20);havoc #t~post6; {4671#false} is VALID [2022-04-08 06:41:09,922 INFO L290 TraceCheckUtils]: 44: Hoare triple {4671#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4671#false} is VALID [2022-04-08 06:41:09,922 INFO L290 TraceCheckUtils]: 43: Hoare triple {4874#(< |main_#t~post5| 20)} assume !(#t~post5 < 20);havoc #t~post5; {4671#false} is VALID [2022-04-08 06:41:09,922 INFO L290 TraceCheckUtils]: 42: Hoare triple {4878#(< ~counter~0 20)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4874#(< |main_#t~post5| 20)} is VALID [2022-04-08 06:41:09,923 INFO L290 TraceCheckUtils]: 41: Hoare triple {4878#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4878#(< ~counter~0 20)} is VALID [2022-04-08 06:41:09,923 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4670#true} {4878#(< ~counter~0 20)} #82#return; {4878#(< ~counter~0 20)} is VALID [2022-04-08 06:41:09,923 INFO L290 TraceCheckUtils]: 39: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-08 06:41:09,923 INFO L290 TraceCheckUtils]: 38: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-08 06:41:09,923 INFO L290 TraceCheckUtils]: 37: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-08 06:41:09,924 INFO L272 TraceCheckUtils]: 36: Hoare triple {4878#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4670#true} is VALID [2022-04-08 06:41:09,924 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4670#true} {4878#(< ~counter~0 20)} #80#return; {4878#(< ~counter~0 20)} is VALID [2022-04-08 06:41:09,924 INFO L290 TraceCheckUtils]: 34: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-08 06:41:09,924 INFO L290 TraceCheckUtils]: 33: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-08 06:41:09,924 INFO L290 TraceCheckUtils]: 32: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-08 06:41:09,924 INFO L272 TraceCheckUtils]: 31: Hoare triple {4878#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4670#true} is VALID [2022-04-08 06:41:09,925 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {4670#true} {4878#(< ~counter~0 20)} #78#return; {4878#(< ~counter~0 20)} is VALID [2022-04-08 06:41:09,925 INFO L290 TraceCheckUtils]: 29: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-08 06:41:09,925 INFO L290 TraceCheckUtils]: 28: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-08 06:41:09,925 INFO L290 TraceCheckUtils]: 27: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-08 06:41:09,925 INFO L272 TraceCheckUtils]: 26: Hoare triple {4878#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4670#true} is VALID [2022-04-08 06:41:09,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {4878#(< ~counter~0 20)} assume !!(#t~post5 < 20);havoc #t~post5; {4878#(< ~counter~0 20)} is VALID [2022-04-08 06:41:09,926 INFO L290 TraceCheckUtils]: 24: Hoare triple {4933#(< ~counter~0 19)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4878#(< ~counter~0 20)} is VALID [2022-04-08 06:41:09,926 INFO L290 TraceCheckUtils]: 23: Hoare triple {4933#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4933#(< ~counter~0 19)} is VALID [2022-04-08 06:41:09,927 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4670#true} {4933#(< ~counter~0 19)} #82#return; {4933#(< ~counter~0 19)} is VALID [2022-04-08 06:41:09,927 INFO L290 TraceCheckUtils]: 21: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-08 06:41:09,927 INFO L290 TraceCheckUtils]: 20: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-08 06:41:09,927 INFO L290 TraceCheckUtils]: 19: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-08 06:41:09,927 INFO L272 TraceCheckUtils]: 18: Hoare triple {4933#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4670#true} is VALID [2022-04-08 06:41:09,929 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4670#true} {4933#(< ~counter~0 19)} #80#return; {4933#(< ~counter~0 19)} is VALID [2022-04-08 06:41:09,929 INFO L290 TraceCheckUtils]: 16: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-08 06:41:09,929 INFO L290 TraceCheckUtils]: 15: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-08 06:41:09,929 INFO L290 TraceCheckUtils]: 14: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-08 06:41:09,929 INFO L272 TraceCheckUtils]: 13: Hoare triple {4933#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4670#true} is VALID [2022-04-08 06:41:09,930 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {4670#true} {4933#(< ~counter~0 19)} #78#return; {4933#(< ~counter~0 19)} is VALID [2022-04-08 06:41:09,930 INFO L290 TraceCheckUtils]: 11: Hoare triple {4670#true} assume true; {4670#true} is VALID [2022-04-08 06:41:09,930 INFO L290 TraceCheckUtils]: 10: Hoare triple {4670#true} assume !(0 == ~cond); {4670#true} is VALID [2022-04-08 06:41:09,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {4670#true} ~cond := #in~cond; {4670#true} is VALID [2022-04-08 06:41:09,930 INFO L272 TraceCheckUtils]: 8: Hoare triple {4933#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4670#true} is VALID [2022-04-08 06:41:09,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {4933#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {4933#(< ~counter~0 19)} is VALID [2022-04-08 06:41:09,939 INFO L290 TraceCheckUtils]: 6: Hoare triple {4988#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {4933#(< ~counter~0 19)} is VALID [2022-04-08 06:41:09,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {4988#(< ~counter~0 18)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4988#(< ~counter~0 18)} is VALID [2022-04-08 06:41:09,940 INFO L272 TraceCheckUtils]: 4: Hoare triple {4988#(< ~counter~0 18)} call #t~ret7 := main(); {4988#(< ~counter~0 18)} is VALID [2022-04-08 06:41:09,940 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4988#(< ~counter~0 18)} {4670#true} #92#return; {4988#(< ~counter~0 18)} is VALID [2022-04-08 06:41:09,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {4988#(< ~counter~0 18)} assume true; {4988#(< ~counter~0 18)} is VALID [2022-04-08 06:41:09,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {4670#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);~counter~0 := 0; {4988#(< ~counter~0 18)} is VALID [2022-04-08 06:41:09,941 INFO L272 TraceCheckUtils]: 0: Hoare triple {4670#true} call ULTIMATE.init(); {4670#true} is VALID [2022-04-08 06:41:09,941 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 14 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-08 06:41:09,941 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:41:09,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [418280088] [2022-04-08 06:41:09,942 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:41:09,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [103457623] [2022-04-08 06:41:09,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [103457623] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:41:09,942 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:41:09,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-08 06:41:09,942 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:41:09,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [950149609] [2022-04-08 06:41:09,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [950149609] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:41:09,943 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:41:09,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 06:41:09,943 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1181810705] [2022-04-08 06:41:09,943 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:41:09,943 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 55 [2022-04-08 06:41:09,943 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:41:09,944 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 06:41:09,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:09,981 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 06:41:09,981 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:41:09,982 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 06:41:09,982 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:41:09,982 INFO L87 Difference]: Start difference. First operand 91 states and 107 transitions. Second operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 06:41:10,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:10,200 INFO L93 Difference]: Finished difference Result 126 states and 155 transitions. [2022-04-08 06:41:10,200 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 06:41:10,200 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 55 [2022-04-08 06:41:10,200 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:41:10,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 06:41:10,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 84 transitions. [2022-04-08 06:41:10,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 06:41:10,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 84 transitions. [2022-04-08 06:41:10,203 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 84 transitions. [2022-04-08 06:41:10,266 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:10,268 INFO L225 Difference]: With dead ends: 126 [2022-04-08 06:41:10,268 INFO L226 Difference]: Without dead ends: 93 [2022-04-08 06:41:10,269 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 101 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-08 06:41:10,269 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 5 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 35 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 06:41:10,270 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 115 Invalid, 35 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 06:41:10,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-04-08 06:41:10,333 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 93. [2022-04-08 06:41:10,334 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:41:10,334 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:41:10,334 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:41:10,334 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:41:10,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:10,336 INFO L93 Difference]: Finished difference Result 93 states and 109 transitions. [2022-04-08 06:41:10,337 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 109 transitions. [2022-04-08 06:41:10,337 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:41:10,337 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:41:10,337 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 93 states. [2022-04-08 06:41:10,338 INFO L87 Difference]: Start difference. First operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 93 states. [2022-04-08 06:41:10,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:10,340 INFO L93 Difference]: Finished difference Result 93 states and 109 transitions. [2022-04-08 06:41:10,340 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 109 transitions. [2022-04-08 06:41:10,340 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:41:10,340 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:41:10,340 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:41:10,340 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:41:10,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 63 states have internal predecessors, (71), 20 states have call successors, (20), 13 states have call predecessors, (20), 12 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-08 06:41:10,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 109 transitions. [2022-04-08 06:41:10,343 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 109 transitions. Word has length 55 [2022-04-08 06:41:10,343 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:41:10,343 INFO L478 AbstractCegarLoop]: Abstraction has 93 states and 109 transitions. [2022-04-08 06:41:10,343 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.0) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 06:41:10,343 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 109 transitions. [2022-04-08 06:41:10,445 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:10,445 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 109 transitions. [2022-04-08 06:41:10,446 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-08 06:41:10,446 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:41:10,446 INFO L499 BasicCegarLoop]: 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] [2022-04-08 06:41:10,463 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-08 06:41:10,646 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:41:10,647 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:41:10,647 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:41:10,647 INFO L85 PathProgramCache]: Analyzing trace with hash -43330764, now seen corresponding path program 1 times [2022-04-08 06:41:10,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:41:10,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [868956197] [2022-04-08 06:41:14,781 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:41:14,782 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:41:14,782 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:41:14,782 INFO L85 PathProgramCache]: Analyzing trace with hash -43330764, now seen corresponding path program 2 times [2022-04-08 06:41:14,782 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:41:14,782 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2073685110] [2022-04-08 06:41:14,782 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:41:14,782 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:41:14,793 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:41:14,793 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1309888948] [2022-04-08 06:41:14,793 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:41:14,794 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:41:14,794 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:41:14,796 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-08 06:41:14,799 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-08 06:41:14,844 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:41:14,845 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:41:14,846 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 06:41:14,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:41:14,859 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:41:15,159 INFO L272 TraceCheckUtils]: 0: Hoare triple {5637#true} call ULTIMATE.init(); {5637#true} is VALID [2022-04-08 06:41:15,160 INFO L290 TraceCheckUtils]: 1: Hoare triple {5637#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);~counter~0 := 0; {5645#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:15,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {5645#(<= ~counter~0 0)} assume true; {5645#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:15,161 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5645#(<= ~counter~0 0)} {5637#true} #92#return; {5645#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:15,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {5645#(<= ~counter~0 0)} call #t~ret7 := main(); {5645#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:15,162 INFO L290 TraceCheckUtils]: 5: Hoare triple {5645#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5645#(<= ~counter~0 0)} is VALID [2022-04-08 06:41:15,163 INFO L290 TraceCheckUtils]: 6: Hoare triple {5645#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,163 INFO L290 TraceCheckUtils]: 7: Hoare triple {5661#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,164 INFO L272 TraceCheckUtils]: 8: Hoare triple {5661#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,164 INFO L290 TraceCheckUtils]: 9: Hoare triple {5661#(<= ~counter~0 1)} ~cond := #in~cond; {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,164 INFO L290 TraceCheckUtils]: 10: Hoare triple {5661#(<= ~counter~0 1)} assume !(0 == ~cond); {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,164 INFO L290 TraceCheckUtils]: 11: Hoare triple {5661#(<= ~counter~0 1)} assume true; {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,165 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5661#(<= ~counter~0 1)} {5661#(<= ~counter~0 1)} #78#return; {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,165 INFO L272 TraceCheckUtils]: 13: Hoare triple {5661#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,166 INFO L290 TraceCheckUtils]: 14: Hoare triple {5661#(<= ~counter~0 1)} ~cond := #in~cond; {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,166 INFO L290 TraceCheckUtils]: 15: Hoare triple {5661#(<= ~counter~0 1)} assume !(0 == ~cond); {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,166 INFO L290 TraceCheckUtils]: 16: Hoare triple {5661#(<= ~counter~0 1)} assume true; {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,167 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5661#(<= ~counter~0 1)} {5661#(<= ~counter~0 1)} #80#return; {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,167 INFO L272 TraceCheckUtils]: 18: Hoare triple {5661#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,167 INFO L290 TraceCheckUtils]: 19: Hoare triple {5661#(<= ~counter~0 1)} ~cond := #in~cond; {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,168 INFO L290 TraceCheckUtils]: 20: Hoare triple {5661#(<= ~counter~0 1)} assume !(0 == ~cond); {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,168 INFO L290 TraceCheckUtils]: 21: Hoare triple {5661#(<= ~counter~0 1)} assume true; {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,168 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5661#(<= ~counter~0 1)} {5661#(<= ~counter~0 1)} #82#return; {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,169 INFO L290 TraceCheckUtils]: 23: Hoare triple {5661#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5661#(<= ~counter~0 1)} is VALID [2022-04-08 06:41:15,169 INFO L290 TraceCheckUtils]: 24: Hoare triple {5661#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,169 INFO L290 TraceCheckUtils]: 25: Hoare triple {5716#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,170 INFO L272 TraceCheckUtils]: 26: Hoare triple {5716#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,170 INFO L290 TraceCheckUtils]: 27: Hoare triple {5716#(<= ~counter~0 2)} ~cond := #in~cond; {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,170 INFO L290 TraceCheckUtils]: 28: Hoare triple {5716#(<= ~counter~0 2)} assume !(0 == ~cond); {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,171 INFO L290 TraceCheckUtils]: 29: Hoare triple {5716#(<= ~counter~0 2)} assume true; {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,171 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {5716#(<= ~counter~0 2)} {5716#(<= ~counter~0 2)} #78#return; {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,172 INFO L272 TraceCheckUtils]: 31: Hoare triple {5716#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,172 INFO L290 TraceCheckUtils]: 32: Hoare triple {5716#(<= ~counter~0 2)} ~cond := #in~cond; {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,172 INFO L290 TraceCheckUtils]: 33: Hoare triple {5716#(<= ~counter~0 2)} assume !(0 == ~cond); {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,172 INFO L290 TraceCheckUtils]: 34: Hoare triple {5716#(<= ~counter~0 2)} assume true; {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,173 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5716#(<= ~counter~0 2)} {5716#(<= ~counter~0 2)} #80#return; {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,173 INFO L272 TraceCheckUtils]: 36: Hoare triple {5716#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,174 INFO L290 TraceCheckUtils]: 37: Hoare triple {5716#(<= ~counter~0 2)} ~cond := #in~cond; {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,174 INFO L290 TraceCheckUtils]: 38: Hoare triple {5716#(<= ~counter~0 2)} assume !(0 == ~cond); {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,174 INFO L290 TraceCheckUtils]: 39: Hoare triple {5716#(<= ~counter~0 2)} assume true; {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,175 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5716#(<= ~counter~0 2)} {5716#(<= ~counter~0 2)} #82#return; {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,175 INFO L290 TraceCheckUtils]: 41: Hoare triple {5716#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {5716#(<= ~counter~0 2)} is VALID [2022-04-08 06:41:15,175 INFO L290 TraceCheckUtils]: 42: Hoare triple {5716#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,176 INFO L290 TraceCheckUtils]: 43: Hoare triple {5771#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,176 INFO L272 TraceCheckUtils]: 44: Hoare triple {5771#(<= ~counter~0 3)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,177 INFO L290 TraceCheckUtils]: 45: Hoare triple {5771#(<= ~counter~0 3)} ~cond := #in~cond; {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,177 INFO L290 TraceCheckUtils]: 46: Hoare triple {5771#(<= ~counter~0 3)} assume !(0 == ~cond); {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,178 INFO L290 TraceCheckUtils]: 47: Hoare triple {5771#(<= ~counter~0 3)} assume true; {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,178 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5771#(<= ~counter~0 3)} {5771#(<= ~counter~0 3)} #84#return; {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,179 INFO L272 TraceCheckUtils]: 49: Hoare triple {5771#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,179 INFO L290 TraceCheckUtils]: 50: Hoare triple {5771#(<= ~counter~0 3)} ~cond := #in~cond; {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,179 INFO L290 TraceCheckUtils]: 51: Hoare triple {5771#(<= ~counter~0 3)} assume !(0 == ~cond); {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,180 INFO L290 TraceCheckUtils]: 52: Hoare triple {5771#(<= ~counter~0 3)} assume true; {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,180 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5771#(<= ~counter~0 3)} {5771#(<= ~counter~0 3)} #86#return; {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,180 INFO L290 TraceCheckUtils]: 54: Hoare triple {5771#(<= ~counter~0 3)} 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); {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,182 INFO L290 TraceCheckUtils]: 55: Hoare triple {5771#(<= ~counter~0 3)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5771#(<= ~counter~0 3)} is VALID [2022-04-08 06:41:15,182 INFO L290 TraceCheckUtils]: 56: Hoare triple {5771#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5814#(<= |main_#t~post6| 3)} is VALID [2022-04-08 06:41:15,183 INFO L290 TraceCheckUtils]: 57: Hoare triple {5814#(<= |main_#t~post6| 3)} assume !(#t~post6 < 20);havoc #t~post6; {5638#false} is VALID [2022-04-08 06:41:15,183 INFO L272 TraceCheckUtils]: 58: Hoare triple {5638#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5638#false} is VALID [2022-04-08 06:41:15,183 INFO L290 TraceCheckUtils]: 59: Hoare triple {5638#false} ~cond := #in~cond; {5638#false} is VALID [2022-04-08 06:41:15,183 INFO L290 TraceCheckUtils]: 60: Hoare triple {5638#false} assume 0 == ~cond; {5638#false} is VALID [2022-04-08 06:41:15,183 INFO L290 TraceCheckUtils]: 61: Hoare triple {5638#false} assume !false; {5638#false} is VALID [2022-04-08 06:41:15,184 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 92 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-08 06:41:15,184 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:41:15,479 INFO L290 TraceCheckUtils]: 61: Hoare triple {5638#false} assume !false; {5638#false} is VALID [2022-04-08 06:41:15,479 INFO L290 TraceCheckUtils]: 60: Hoare triple {5638#false} assume 0 == ~cond; {5638#false} is VALID [2022-04-08 06:41:15,479 INFO L290 TraceCheckUtils]: 59: Hoare triple {5638#false} ~cond := #in~cond; {5638#false} is VALID [2022-04-08 06:41:15,479 INFO L272 TraceCheckUtils]: 58: Hoare triple {5638#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {5638#false} is VALID [2022-04-08 06:41:15,480 INFO L290 TraceCheckUtils]: 57: Hoare triple {5842#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {5638#false} is VALID [2022-04-08 06:41:15,480 INFO L290 TraceCheckUtils]: 56: Hoare triple {5846#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5842#(< |main_#t~post6| 20)} is VALID [2022-04-08 06:41:15,480 INFO L290 TraceCheckUtils]: 55: Hoare triple {5846#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5846#(< ~counter~0 20)} is VALID [2022-04-08 06:41:15,481 INFO L290 TraceCheckUtils]: 54: Hoare triple {5846#(< ~counter~0 20)} 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); {5846#(< ~counter~0 20)} is VALID [2022-04-08 06:41:15,481 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {5637#true} {5846#(< ~counter~0 20)} #86#return; {5846#(< ~counter~0 20)} is VALID [2022-04-08 06:41:15,481 INFO L290 TraceCheckUtils]: 52: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-08 06:41:15,481 INFO L290 TraceCheckUtils]: 51: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-08 06:41:15,481 INFO L290 TraceCheckUtils]: 50: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-08 06:41:15,481 INFO L272 TraceCheckUtils]: 49: Hoare triple {5846#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5637#true} is VALID [2022-04-08 06:41:15,482 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {5637#true} {5846#(< ~counter~0 20)} #84#return; {5846#(< ~counter~0 20)} is VALID [2022-04-08 06:41:15,482 INFO L290 TraceCheckUtils]: 47: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-08 06:41:15,482 INFO L290 TraceCheckUtils]: 46: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-08 06:41:15,482 INFO L290 TraceCheckUtils]: 45: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-08 06:41:15,482 INFO L272 TraceCheckUtils]: 44: Hoare triple {5846#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {5637#true} is VALID [2022-04-08 06:41:15,483 INFO L290 TraceCheckUtils]: 43: Hoare triple {5846#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {5846#(< ~counter~0 20)} is VALID [2022-04-08 06:41:15,483 INFO L290 TraceCheckUtils]: 42: Hoare triple {5889#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5846#(< ~counter~0 20)} is VALID [2022-04-08 06:41:15,483 INFO L290 TraceCheckUtils]: 41: Hoare triple {5889#(< ~counter~0 19)} assume !(~r~0 >= ~d~0); {5889#(< ~counter~0 19)} is VALID [2022-04-08 06:41:15,484 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5637#true} {5889#(< ~counter~0 19)} #82#return; {5889#(< ~counter~0 19)} is VALID [2022-04-08 06:41:15,484 INFO L290 TraceCheckUtils]: 39: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-08 06:41:15,484 INFO L290 TraceCheckUtils]: 38: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-08 06:41:15,484 INFO L290 TraceCheckUtils]: 37: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-08 06:41:15,484 INFO L272 TraceCheckUtils]: 36: Hoare triple {5889#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5637#true} is VALID [2022-04-08 06:41:15,485 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {5637#true} {5889#(< ~counter~0 19)} #80#return; {5889#(< ~counter~0 19)} is VALID [2022-04-08 06:41:15,485 INFO L290 TraceCheckUtils]: 34: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-08 06:41:15,485 INFO L290 TraceCheckUtils]: 33: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-08 06:41:15,485 INFO L290 TraceCheckUtils]: 32: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-08 06:41:15,485 INFO L272 TraceCheckUtils]: 31: Hoare triple {5889#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5637#true} is VALID [2022-04-08 06:41:15,485 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {5637#true} {5889#(< ~counter~0 19)} #78#return; {5889#(< ~counter~0 19)} is VALID [2022-04-08 06:41:15,486 INFO L290 TraceCheckUtils]: 29: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-08 06:41:15,486 INFO L290 TraceCheckUtils]: 28: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-08 06:41:15,486 INFO L290 TraceCheckUtils]: 27: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-08 06:41:15,486 INFO L272 TraceCheckUtils]: 26: Hoare triple {5889#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5637#true} is VALID [2022-04-08 06:41:15,487 INFO L290 TraceCheckUtils]: 25: Hoare triple {5889#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {5889#(< ~counter~0 19)} is VALID [2022-04-08 06:41:15,488 INFO L290 TraceCheckUtils]: 24: Hoare triple {5944#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5889#(< ~counter~0 19)} is VALID [2022-04-08 06:41:15,488 INFO L290 TraceCheckUtils]: 23: Hoare triple {5944#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5944#(< ~counter~0 18)} is VALID [2022-04-08 06:41:15,489 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5637#true} {5944#(< ~counter~0 18)} #82#return; {5944#(< ~counter~0 18)} is VALID [2022-04-08 06:41:15,489 INFO L290 TraceCheckUtils]: 21: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-08 06:41:15,489 INFO L290 TraceCheckUtils]: 20: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-08 06:41:15,489 INFO L290 TraceCheckUtils]: 19: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-08 06:41:15,489 INFO L272 TraceCheckUtils]: 18: Hoare triple {5944#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {5637#true} is VALID [2022-04-08 06:41:15,489 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {5637#true} {5944#(< ~counter~0 18)} #80#return; {5944#(< ~counter~0 18)} is VALID [2022-04-08 06:41:15,489 INFO L290 TraceCheckUtils]: 16: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-08 06:41:15,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-08 06:41:15,490 INFO L290 TraceCheckUtils]: 14: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-08 06:41:15,490 INFO L272 TraceCheckUtils]: 13: Hoare triple {5944#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {5637#true} is VALID [2022-04-08 06:41:15,490 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {5637#true} {5944#(< ~counter~0 18)} #78#return; {5944#(< ~counter~0 18)} is VALID [2022-04-08 06:41:15,490 INFO L290 TraceCheckUtils]: 11: Hoare triple {5637#true} assume true; {5637#true} is VALID [2022-04-08 06:41:15,490 INFO L290 TraceCheckUtils]: 10: Hoare triple {5637#true} assume !(0 == ~cond); {5637#true} is VALID [2022-04-08 06:41:15,490 INFO L290 TraceCheckUtils]: 9: Hoare triple {5637#true} ~cond := #in~cond; {5637#true} is VALID [2022-04-08 06:41:15,490 INFO L272 TraceCheckUtils]: 8: Hoare triple {5944#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5637#true} is VALID [2022-04-08 06:41:15,491 INFO L290 TraceCheckUtils]: 7: Hoare triple {5944#(< ~counter~0 18)} assume !!(#t~post5 < 20);havoc #t~post5; {5944#(< ~counter~0 18)} is VALID [2022-04-08 06:41:15,491 INFO L290 TraceCheckUtils]: 6: Hoare triple {5999#(< ~counter~0 17)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {5944#(< ~counter~0 18)} is VALID [2022-04-08 06:41:15,491 INFO L290 TraceCheckUtils]: 5: Hoare triple {5999#(< ~counter~0 17)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {5999#(< ~counter~0 17)} is VALID [2022-04-08 06:41:15,492 INFO L272 TraceCheckUtils]: 4: Hoare triple {5999#(< ~counter~0 17)} call #t~ret7 := main(); {5999#(< ~counter~0 17)} is VALID [2022-04-08 06:41:15,492 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5999#(< ~counter~0 17)} {5637#true} #92#return; {5999#(< ~counter~0 17)} is VALID [2022-04-08 06:41:15,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {5999#(< ~counter~0 17)} assume true; {5999#(< ~counter~0 17)} is VALID [2022-04-08 06:41:15,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {5637#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);~counter~0 := 0; {5999#(< ~counter~0 17)} is VALID [2022-04-08 06:41:15,493 INFO L272 TraceCheckUtils]: 0: Hoare triple {5637#true} call ULTIMATE.init(); {5637#true} is VALID [2022-04-08 06:41:15,493 INFO L134 CoverageAnalysis]: Checked inductivity of 136 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 06:41:15,493 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:41:15,493 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2073685110] [2022-04-08 06:41:15,493 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:41:15,494 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1309888948] [2022-04-08 06:41:15,494 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1309888948] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:41:15,494 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:41:15,494 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 06:41:15,494 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:41:15,494 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [868956197] [2022-04-08 06:41:15,494 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [868956197] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:41:15,494 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:41:15,494 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 06:41:15,494 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1034865603] [2022-04-08 06:41:15,495 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:41:15,495 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 62 [2022-04-08 06:41:15,495 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:41:15,495 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 06:41:15,530 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:15,530 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 06:41:15,530 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:41:15,531 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 06:41:15,531 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-08 06:41:15,531 INFO L87 Difference]: Start difference. First operand 93 states and 109 transitions. Second operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 06:41:15,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:15,920 INFO L93 Difference]: Finished difference Result 145 states and 168 transitions. [2022-04-08 06:41:15,920 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 06:41:15,920 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 62 [2022-04-08 06:41:15,920 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:41:15,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 06:41:15,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 101 transitions. [2022-04-08 06:41:15,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 06:41:15,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 101 transitions. [2022-04-08 06:41:15,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 101 transitions. [2022-04-08 06:41:16,006 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:16,008 INFO L225 Difference]: With dead ends: 145 [2022-04-08 06:41:16,009 INFO L226 Difference]: Without dead ends: 130 [2022-04-08 06:41:16,009 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2022-04-08 06:41:16,010 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 23 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 67 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 67 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:41:16,010 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 190 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 67 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:41:16,010 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-04-08 06:41:16,128 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 127. [2022-04-08 06:41:16,129 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:41:16,129 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 06:41:16,130 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 06:41:16,130 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 06:41:16,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:16,135 INFO L93 Difference]: Finished difference Result 130 states and 150 transitions. [2022-04-08 06:41:16,135 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 150 transitions. [2022-04-08 06:41:16,136 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:41:16,136 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:41:16,136 INFO L74 IsIncluded]: Start isIncluded. First operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 130 states. [2022-04-08 06:41:16,137 INFO L87 Difference]: Start difference. First operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 130 states. [2022-04-08 06:41:16,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:16,141 INFO L93 Difference]: Finished difference Result 130 states and 150 transitions. [2022-04-08 06:41:16,141 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 150 transitions. [2022-04-08 06:41:16,141 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:41:16,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:41:16,141 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:41:16,141 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:41:16,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 127 states, 83 states have (on average 1.1686746987951808) internal successors, (97), 86 states have internal predecessors, (97), 27 states have call successors, (27), 18 states have call predecessors, (27), 16 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 06:41:16,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 127 states to 127 states and 148 transitions. [2022-04-08 06:41:16,145 INFO L78 Accepts]: Start accepts. Automaton has 127 states and 148 transitions. Word has length 62 [2022-04-08 06:41:16,145 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:41:16,145 INFO L478 AbstractCegarLoop]: Abstraction has 127 states and 148 transitions. [2022-04-08 06:41:16,146 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 6 states have internal predecessors, (27), 6 states have call successors, (11), 6 states have call predecessors, (11), 4 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 06:41:16,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 127 states and 148 transitions. [2022-04-08 06:41:16,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:16,284 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 148 transitions. [2022-04-08 06:41:16,285 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-08 06:41:16,285 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:41:16,285 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 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] [2022-04-08 06:41:16,303 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-08 06:41:16,487 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 06:41:16,487 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:41:16,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:41:16,488 INFO L85 PathProgramCache]: Analyzing trace with hash -41602886, now seen corresponding path program 1 times [2022-04-08 06:41:16,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:41:16,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [696760751] [2022-04-08 06:41:19,428 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:41:19,429 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:41:19,429 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:41:19,429 INFO L85 PathProgramCache]: Analyzing trace with hash -41602886, now seen corresponding path program 2 times [2022-04-08 06:41:19,429 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:41:19,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [805972633] [2022-04-08 06:41:19,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:41:19,430 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:41:19,441 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:41:19,441 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1660115010] [2022-04-08 06:41:19,441 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:41:19,441 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:41:19,441 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:41:19,445 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-08 06:41:19,479 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-08 06:41:19,503 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:41:19,503 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:41:19,505 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-08 06:41:19,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:41:19,521 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:41:20,058 INFO L272 TraceCheckUtils]: 0: Hoare triple {6826#true} call ULTIMATE.init(); {6826#true} is VALID [2022-04-08 06:41:20,059 INFO L290 TraceCheckUtils]: 1: Hoare triple {6826#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);~counter~0 := 0; {6826#true} is VALID [2022-04-08 06:41:20,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:20,059 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6826#true} {6826#true} #92#return; {6826#true} is VALID [2022-04-08 06:41:20,059 INFO L272 TraceCheckUtils]: 4: Hoare triple {6826#true} call #t~ret7 := main(); {6826#true} is VALID [2022-04-08 06:41:20,059 INFO L290 TraceCheckUtils]: 5: Hoare triple {6826#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {6846#(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-08 06:41:20,060 INFO L290 TraceCheckUtils]: 6: Hoare triple {6846#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {6846#(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-08 06:41:20,060 INFO L290 TraceCheckUtils]: 7: Hoare triple {6846#(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 !!(#t~post5 < 20);havoc #t~post5; {6846#(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-08 06:41:20,060 INFO L272 TraceCheckUtils]: 8: Hoare triple {6846#(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)); {6826#true} is VALID [2022-04-08 06:41:20,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:20,061 INFO L290 TraceCheckUtils]: 10: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:20,061 INFO L290 TraceCheckUtils]: 11: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:20,061 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6826#true} {6846#(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))} #78#return; {6846#(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-08 06:41:20,061 INFO L272 TraceCheckUtils]: 13: Hoare triple {6846#(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)); {6826#true} is VALID [2022-04-08 06:41:20,061 INFO L290 TraceCheckUtils]: 14: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:20,061 INFO L290 TraceCheckUtils]: 15: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:20,062 INFO L290 TraceCheckUtils]: 16: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:20,068 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6826#true} {6846#(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; {6846#(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-08 06:41:20,068 INFO L272 TraceCheckUtils]: 18: Hoare triple {6846#(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)); {6826#true} is VALID [2022-04-08 06:41:20,068 INFO L290 TraceCheckUtils]: 19: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:20,068 INFO L290 TraceCheckUtils]: 20: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:20,068 INFO L290 TraceCheckUtils]: 21: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:20,069 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6826#true} {6846#(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; {6846#(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-08 06:41:20,070 INFO L290 TraceCheckUtils]: 23: Hoare triple {6846#(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; {6901#(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-08 06:41:20,070 INFO L290 TraceCheckUtils]: 24: Hoare triple {6901#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {6901#(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-08 06:41:20,070 INFO L290 TraceCheckUtils]: 25: Hoare triple {6901#(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 !!(#t~post5 < 20);havoc #t~post5; {6901#(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-08 06:41:20,070 INFO L272 TraceCheckUtils]: 26: Hoare triple {6901#(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)); {6826#true} is VALID [2022-04-08 06:41:20,071 INFO L290 TraceCheckUtils]: 27: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:20,071 INFO L290 TraceCheckUtils]: 28: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:20,071 INFO L290 TraceCheckUtils]: 29: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:20,071 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6826#true} {6901#(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))} #78#return; {6901#(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-08 06:41:20,071 INFO L272 TraceCheckUtils]: 31: Hoare triple {6901#(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)); {6826#true} is VALID [2022-04-08 06:41:20,071 INFO L290 TraceCheckUtils]: 32: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:20,072 INFO L290 TraceCheckUtils]: 33: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:20,072 INFO L290 TraceCheckUtils]: 34: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:20,072 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6826#true} {6901#(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; {6901#(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-08 06:41:20,072 INFO L272 TraceCheckUtils]: 36: Hoare triple {6901#(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)); {6826#true} is VALID [2022-04-08 06:41:20,072 INFO L290 TraceCheckUtils]: 37: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:20,072 INFO L290 TraceCheckUtils]: 38: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:20,072 INFO L290 TraceCheckUtils]: 39: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:20,073 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6826#true} {6901#(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; {6901#(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-08 06:41:20,073 INFO L290 TraceCheckUtils]: 41: Hoare triple {6901#(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); {6901#(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-08 06:41:20,074 INFO L290 TraceCheckUtils]: 42: Hoare triple {6901#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6901#(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-08 06:41:20,074 INFO L290 TraceCheckUtils]: 43: Hoare triple {6901#(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 !!(#t~post6 < 20);havoc #t~post6; {6901#(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-08 06:41:20,074 INFO L272 TraceCheckUtils]: 44: Hoare triple {6901#(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)); {6826#true} is VALID [2022-04-08 06:41:20,074 INFO L290 TraceCheckUtils]: 45: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:20,075 INFO L290 TraceCheckUtils]: 46: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:20,075 INFO L290 TraceCheckUtils]: 47: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:20,075 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6826#true} {6901#(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; {6901#(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-08 06:41:20,075 INFO L272 TraceCheckUtils]: 49: Hoare triple {6901#(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)); {6826#true} is VALID [2022-04-08 06:41:20,075 INFO L290 TraceCheckUtils]: 50: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:20,076 INFO L290 TraceCheckUtils]: 51: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:20,076 INFO L290 TraceCheckUtils]: 52: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:20,080 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {6826#true} {6901#(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; {6901#(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-08 06:41:20,081 INFO L290 TraceCheckUtils]: 54: Hoare triple {6901#(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); {6846#(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-08 06:41:20,081 INFO L290 TraceCheckUtils]: 55: Hoare triple {6846#(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; {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-08 06:41:20,082 INFO L290 TraceCheckUtils]: 56: Hoare triple {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-08 06:41:20,082 INFO L290 TraceCheckUtils]: 57: Hoare triple {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {6998#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-08 06:41:20,083 INFO L272 TraceCheckUtils]: 58: Hoare triple {6998#(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)); {7008#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:41:20,084 INFO L290 TraceCheckUtils]: 59: Hoare triple {7008#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7012#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:41:20,084 INFO L290 TraceCheckUtils]: 60: Hoare triple {7012#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6827#false} is VALID [2022-04-08 06:41:20,084 INFO L290 TraceCheckUtils]: 61: Hoare triple {6827#false} assume !false; {6827#false} is VALID [2022-04-08 06:41:20,085 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 06:41:20,085 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:41:21,420 INFO L290 TraceCheckUtils]: 61: Hoare triple {6827#false} assume !false; {6827#false} is VALID [2022-04-08 06:41:21,420 INFO L290 TraceCheckUtils]: 60: Hoare triple {7012#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6827#false} is VALID [2022-04-08 06:41:21,421 INFO L290 TraceCheckUtils]: 59: Hoare triple {7008#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7012#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:41:21,421 INFO L272 TraceCheckUtils]: 58: Hoare triple {7028#(= (+ (* 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)); {7008#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:41:21,422 INFO L290 TraceCheckUtils]: 57: Hoare triple {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post6 < 20);havoc #t~post6; {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:41:21,422 INFO L290 TraceCheckUtils]: 56: Hoare triple {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:41:21,447 INFO L290 TraceCheckUtils]: 55: Hoare triple {7038#(= 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; {7028#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:41:21,468 INFO L290 TraceCheckUtils]: 54: Hoare triple {7042#(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); {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 06:41:21,470 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {6826#true} {7042#(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; {7042#(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-08 06:41:21,470 INFO L290 TraceCheckUtils]: 52: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:21,470 INFO L290 TraceCheckUtils]: 51: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:21,471 INFO L290 TraceCheckUtils]: 50: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:21,471 INFO L272 TraceCheckUtils]: 49: Hoare triple {7042#(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)); {6826#true} is VALID [2022-04-08 06:41:21,471 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {6826#true} {7042#(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; {7042#(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-08 06:41:21,472 INFO L290 TraceCheckUtils]: 47: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:21,472 INFO L290 TraceCheckUtils]: 46: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:21,472 INFO L290 TraceCheckUtils]: 45: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:21,472 INFO L272 TraceCheckUtils]: 44: Hoare triple {7042#(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)); {6826#true} is VALID [2022-04-08 06:41:21,473 INFO L290 TraceCheckUtils]: 43: Hoare triple {7042#(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 !!(#t~post6 < 20);havoc #t~post6; {7042#(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-08 06:41:21,474 INFO L290 TraceCheckUtils]: 42: Hoare triple {7042#(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))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7042#(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-08 06:41:21,476 INFO L290 TraceCheckUtils]: 41: Hoare triple {7042#(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); {7042#(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-08 06:41:21,476 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6826#true} {7042#(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; {7042#(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-08 06:41:21,476 INFO L290 TraceCheckUtils]: 39: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:21,477 INFO L290 TraceCheckUtils]: 38: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:21,477 INFO L290 TraceCheckUtils]: 37: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:21,477 INFO L272 TraceCheckUtils]: 36: Hoare triple {7042#(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)); {6826#true} is VALID [2022-04-08 06:41:21,477 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {6826#true} {7042#(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; {7042#(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-08 06:41:21,478 INFO L290 TraceCheckUtils]: 34: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:21,478 INFO L290 TraceCheckUtils]: 33: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:21,478 INFO L290 TraceCheckUtils]: 32: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:21,478 INFO L272 TraceCheckUtils]: 31: Hoare triple {7042#(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)); {6826#true} is VALID [2022-04-08 06:41:21,479 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {6826#true} {7042#(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))))))))} #78#return; {7042#(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-08 06:41:21,479 INFO L290 TraceCheckUtils]: 29: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:21,479 INFO L290 TraceCheckUtils]: 28: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:21,479 INFO L290 TraceCheckUtils]: 27: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:21,479 INFO L272 TraceCheckUtils]: 26: Hoare triple {7042#(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)); {6826#true} is VALID [2022-04-08 06:41:21,480 INFO L290 TraceCheckUtils]: 25: Hoare triple {7042#(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 !!(#t~post5 < 20);havoc #t~post5; {7042#(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-08 06:41:21,482 INFO L290 TraceCheckUtils]: 24: Hoare triple {7042#(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))))))))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {7042#(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-08 06:41:21,490 INFO L290 TraceCheckUtils]: 23: Hoare triple {7038#(= 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; {7042#(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-08 06:41:21,491 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6826#true} {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #82#return; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 06:41:21,492 INFO L290 TraceCheckUtils]: 21: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:21,492 INFO L290 TraceCheckUtils]: 20: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:21,492 INFO L290 TraceCheckUtils]: 19: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:21,492 INFO L272 TraceCheckUtils]: 18: Hoare triple {7038#(= 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)); {6826#true} is VALID [2022-04-08 06:41:21,493 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {6826#true} {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #80#return; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 06:41:21,493 INFO L290 TraceCheckUtils]: 16: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:21,493 INFO L290 TraceCheckUtils]: 15: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:21,493 INFO L290 TraceCheckUtils]: 14: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:21,493 INFO L272 TraceCheckUtils]: 13: Hoare triple {7038#(= 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)); {6826#true} is VALID [2022-04-08 06:41:21,494 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {6826#true} {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #78#return; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 06:41:21,494 INFO L290 TraceCheckUtils]: 11: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:21,494 INFO L290 TraceCheckUtils]: 10: Hoare triple {6826#true} assume !(0 == ~cond); {6826#true} is VALID [2022-04-08 06:41:21,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {6826#true} ~cond := #in~cond; {6826#true} is VALID [2022-04-08 06:41:21,494 INFO L272 TraceCheckUtils]: 8: Hoare triple {7038#(= 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)); {6826#true} is VALID [2022-04-08 06:41:21,495 INFO L290 TraceCheckUtils]: 7: Hoare triple {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !!(#t~post5 < 20);havoc #t~post5; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 06:41:21,495 INFO L290 TraceCheckUtils]: 6: Hoare triple {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 06:41:21,496 INFO L290 TraceCheckUtils]: 5: Hoare triple {6826#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {7038#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 06:41:21,496 INFO L272 TraceCheckUtils]: 4: Hoare triple {6826#true} call #t~ret7 := main(); {6826#true} is VALID [2022-04-08 06:41:21,496 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6826#true} {6826#true} #92#return; {6826#true} is VALID [2022-04-08 06:41:21,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {6826#true} assume true; {6826#true} is VALID [2022-04-08 06:41:21,496 INFO L290 TraceCheckUtils]: 1: Hoare triple {6826#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);~counter~0 := 0; {6826#true} is VALID [2022-04-08 06:41:21,496 INFO L272 TraceCheckUtils]: 0: Hoare triple {6826#true} call ULTIMATE.init(); {6826#true} is VALID [2022-04-08 06:41:21,497 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 16 proven. 9 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-08 06:41:21,497 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:41:21,497 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [805972633] [2022-04-08 06:41:21,497 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:41:21,497 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1660115010] [2022-04-08 06:41:21,497 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1660115010] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:41:21,497 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:41:21,498 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-08 06:41:21,498 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:41:21,498 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [696760751] [2022-04-08 06:41:21,498 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [696760751] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:41:21,498 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:41:21,498 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 06:41:21,498 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1762250311] [2022-04-08 06:41:21,498 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:41:21,500 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 62 [2022-04-08 06:41:21,500 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:41:21,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 06:41:21,536 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:21,537 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 06:41:21,537 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:41:21,537 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 06:41:21,537 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 06:41:21,537 INFO L87 Difference]: Start difference. First operand 127 states and 148 transitions. Second operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 06:41:22,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:22,220 INFO L93 Difference]: Finished difference Result 181 states and 219 transitions. [2022-04-08 06:41:22,220 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 06:41:22,221 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 62 [2022-04-08 06:41:22,221 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:41:22,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 06:41:22,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 113 transitions. [2022-04-08 06:41:22,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 06:41:22,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 113 transitions. [2022-04-08 06:41:22,225 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 113 transitions. [2022-04-08 06:41:22,330 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:22,333 INFO L225 Difference]: With dead ends: 181 [2022-04-08 06:41:22,333 INFO L226 Difference]: Without dead ends: 137 [2022-04-08 06:41:22,334 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 124 GetRequests, 112 SyntacticMatches, 3 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-08 06:41:22,334 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 13 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 209 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 187 SdHoareTripleChecker+Invalid, 223 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 209 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 06:41:22,335 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 187 Invalid, 223 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 209 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 06:41:22,335 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-08 06:41:22,434 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 135. [2022-04-08 06:41:22,434 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:41:22,434 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:41:22,435 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:41:22,436 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:41:22,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:22,439 INFO L93 Difference]: Finished difference Result 137 states and 159 transitions. [2022-04-08 06:41:22,439 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 159 transitions. [2022-04-08 06:41:22,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:41:22,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:41:22,441 INFO L74 IsIncluded]: Start isIncluded. First operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 137 states. [2022-04-08 06:41:22,441 INFO L87 Difference]: Start difference. First operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 137 states. [2022-04-08 06:41:22,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:41:22,444 INFO L93 Difference]: Finished difference Result 137 states and 159 transitions. [2022-04-08 06:41:22,444 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 159 transitions. [2022-04-08 06:41:22,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:41:22,446 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:41:22,446 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:41:22,446 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:41:22,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 135 states, 89 states have (on average 1.1685393258426966) internal successors, (104), 92 states have internal predecessors, (104), 27 states have call successors, (27), 19 states have call predecessors, (27), 18 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-08 06:41:22,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 135 states to 135 states and 156 transitions. [2022-04-08 06:41:22,450 INFO L78 Accepts]: Start accepts. Automaton has 135 states and 156 transitions. Word has length 62 [2022-04-08 06:41:22,451 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:41:22,451 INFO L478 AbstractCegarLoop]: Abstraction has 135 states and 156 transitions. [2022-04-08 06:41:22,451 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-08 06:41:22,451 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 135 states and 156 transitions. [2022-04-08 06:41:22,623 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:41:22,623 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 156 transitions. [2022-04-08 06:41:22,623 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-08 06:41:22,624 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:41:22,624 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 2, 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] [2022-04-08 06:41:22,644 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-08 06:41:22,835 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 06:41:22,836 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:41:22,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:41:22,836 INFO L85 PathProgramCache]: Analyzing trace with hash -378736343, now seen corresponding path program 3 times [2022-04-08 06:41:22,836 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:41:22,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2022498000] [2022-04-08 06:41:26,977 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:41:26,977 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:41:26,978 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:41:26,978 INFO L85 PathProgramCache]: Analyzing trace with hash -378736343, now seen corresponding path program 4 times [2022-04-08 06:41:26,978 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:41:26,978 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [800454551] [2022-04-08 06:41:26,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:41:26,978 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:41:26,988 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:41:26,988 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1794364310] [2022-04-08 06:41:26,988 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:41:26,988 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:41:26,988 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:41:26,992 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:41:27,024 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 06:41:27,055 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:41:27,055 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:41:27,056 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 06:41:27,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:41:27,077 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:41:30,772 INFO L272 TraceCheckUtils]: 0: Hoare triple {8115#true} call ULTIMATE.init(); {8115#true} is VALID [2022-04-08 06:41:30,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {8115#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);~counter~0 := 0; {8115#true} is VALID [2022-04-08 06:41:30,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-08 06:41:30,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8115#true} {8115#true} #92#return; {8115#true} is VALID [2022-04-08 06:41:30,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {8115#true} call #t~ret7 := main(); {8115#true} is VALID [2022-04-08 06:41:30,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {8115#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {8115#true} is VALID [2022-04-08 06:41:30,773 INFO L290 TraceCheckUtils]: 6: Hoare triple {8115#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {8115#true} is VALID [2022-04-08 06:41:30,773 INFO L290 TraceCheckUtils]: 7: Hoare triple {8115#true} assume !!(#t~post5 < 20);havoc #t~post5; {8115#true} is VALID [2022-04-08 06:41:30,773 INFO L272 TraceCheckUtils]: 8: Hoare triple {8115#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8115#true} is VALID [2022-04-08 06:41:30,773 INFO L290 TraceCheckUtils]: 9: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-08 06:41:30,773 INFO L290 TraceCheckUtils]: 10: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-08 06:41:30,773 INFO L290 TraceCheckUtils]: 11: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-08 06:41:30,773 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {8115#true} {8115#true} #78#return; {8115#true} is VALID [2022-04-08 06:41:30,773 INFO L272 TraceCheckUtils]: 13: Hoare triple {8115#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8115#true} is VALID [2022-04-08 06:41:30,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {8115#true} ~cond := #in~cond; {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:41:30,788 INFO L290 TraceCheckUtils]: 15: Hoare triple {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:41:30,788 INFO L290 TraceCheckUtils]: 16: Hoare triple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:41:30,789 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} {8115#true} #80#return; {8173#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 06:41:30,789 INFO L272 TraceCheckUtils]: 18: Hoare triple {8173#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8115#true} is VALID [2022-04-08 06:41:30,789 INFO L290 TraceCheckUtils]: 19: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-08 06:41:30,789 INFO L290 TraceCheckUtils]: 20: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-08 06:41:30,790 INFO L290 TraceCheckUtils]: 21: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-08 06:41:30,790 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8115#true} {8173#(= main_~A~0 main_~r~0)} #82#return; {8173#(= main_~A~0 main_~r~0)} is VALID [2022-04-08 06:41:30,791 INFO L290 TraceCheckUtils]: 23: Hoare triple {8173#(= main_~A~0 main_~r~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 06:41:30,792 INFO L290 TraceCheckUtils]: 24: Hoare triple {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 06:41:30,792 INFO L290 TraceCheckUtils]: 25: Hoare triple {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} assume !!(#t~post5 < 20);havoc #t~post5; {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-08 06:41:30,792 INFO L272 TraceCheckUtils]: 26: Hoare triple {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8115#true} is VALID [2022-04-08 06:41:30,793 INFO L290 TraceCheckUtils]: 27: Hoare triple {8115#true} ~cond := #in~cond; {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:41:30,793 INFO L290 TraceCheckUtils]: 28: Hoare triple {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:41:30,793 INFO L290 TraceCheckUtils]: 29: Hoare triple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:41:30,794 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} {8192#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0))} #78#return; {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:41:30,794 INFO L272 TraceCheckUtils]: 31: Hoare triple {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {8115#true} is VALID [2022-04-08 06:41:30,794 INFO L290 TraceCheckUtils]: 32: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-08 06:41:30,794 INFO L290 TraceCheckUtils]: 33: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-08 06:41:30,795 INFO L290 TraceCheckUtils]: 34: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-08 06:41:30,795 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {8115#true} {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #80#return; {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:41:30,795 INFO L272 TraceCheckUtils]: 36: Hoare triple {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8115#true} is VALID [2022-04-08 06:41:30,795 INFO L290 TraceCheckUtils]: 37: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-08 06:41:30,795 INFO L290 TraceCheckUtils]: 38: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-08 06:41:30,796 INFO L290 TraceCheckUtils]: 39: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-08 06:41:30,796 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8115#true} {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #82#return; {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:41:30,797 INFO L290 TraceCheckUtils]: 41: Hoare triple {8214#(and (= main_~A~0 main_~r~0) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:41:30,797 INFO L290 TraceCheckUtils]: 42: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:41:30,798 INFO L290 TraceCheckUtils]: 43: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:41:30,798 INFO L272 TraceCheckUtils]: 44: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8115#true} is VALID [2022-04-08 06:41:30,798 INFO L290 TraceCheckUtils]: 45: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-08 06:41:30,798 INFO L290 TraceCheckUtils]: 46: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-08 06:41:30,798 INFO L290 TraceCheckUtils]: 47: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-08 06:41:30,799 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {8115#true} {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #84#return; {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:41:30,799 INFO L272 TraceCheckUtils]: 49: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8115#true} is VALID [2022-04-08 06:41:30,799 INFO L290 TraceCheckUtils]: 50: Hoare triple {8115#true} ~cond := #in~cond; {8115#true} is VALID [2022-04-08 06:41:30,799 INFO L290 TraceCheckUtils]: 51: Hoare triple {8115#true} assume !(0 == ~cond); {8115#true} is VALID [2022-04-08 06:41:30,799 INFO L290 TraceCheckUtils]: 52: Hoare triple {8115#true} assume true; {8115#true} is VALID [2022-04-08 06:41:30,800 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {8115#true} {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} #86#return; {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} is VALID [2022-04-08 06:41:30,801 INFO L290 TraceCheckUtils]: 54: Hoare triple {8248#(and (= main_~A~0 main_~r~0) (not (<= main_~d~0 main_~r~0)) (<= (div main_~d~0 2) main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8288#(and (= main_~A~0 main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 0))} is VALID [2022-04-08 06:41:30,802 INFO L290 TraceCheckUtils]: 55: Hoare triple {8288#(and (= main_~A~0 main_~r~0) (< main_~d~0 (+ main_~r~0 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 06:41:30,803 INFO L290 TraceCheckUtils]: 56: Hoare triple {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 06:41:30,804 INFO L290 TraceCheckUtils]: 57: Hoare triple {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} is VALID [2022-04-08 06:41:30,804 INFO L272 TraceCheckUtils]: 58: Hoare triple {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {8115#true} is VALID [2022-04-08 06:41:30,804 INFO L290 TraceCheckUtils]: 59: Hoare triple {8115#true} ~cond := #in~cond; {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:41:30,804 INFO L290 TraceCheckUtils]: 60: Hoare triple {8162#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:41:30,805 INFO L290 TraceCheckUtils]: 61: Hoare triple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:41:30,808 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8166#(not (= |__VERIFIER_assert_#in~cond| 0))} {8292#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~A~0)) (- 2)) (+ main_~d~0 1)) (< main_~d~0 (+ main_~A~0 1)) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)))} #84#return; {8314#(exists ((aux_div_main_~A~0_41 Int) (aux_mod_main_~A~0_41 Int)) (and (< aux_div_main_~A~0_41 (+ main_~d~0 1)) (< (+ main_~d~0 aux_mod_main_~A~0_41) (* 2 aux_div_main_~A~0_41)) (= (+ (- 1) (* (- 1) main_~d~0) (* 2 aux_div_main_~A~0_41) (* (- 1) aux_mod_main_~A~0_41)) (+ (- 1) (* (- 1) main_~B~0 main_~p~0) (* 2 aux_div_main_~A~0_41) (* (- 1) aux_mod_main_~A~0_41))) (<= 0 aux_mod_main_~A~0_41) (< aux_mod_main_~A~0_41 2)))} is VALID [2022-04-08 06:41:30,809 INFO L272 TraceCheckUtils]: 63: Hoare triple {8314#(exists ((aux_div_main_~A~0_41 Int) (aux_mod_main_~A~0_41 Int)) (and (< aux_div_main_~A~0_41 (+ main_~d~0 1)) (< (+ main_~d~0 aux_mod_main_~A~0_41) (* 2 aux_div_main_~A~0_41)) (= (+ (- 1) (* (- 1) main_~d~0) (* 2 aux_div_main_~A~0_41) (* (- 1) aux_mod_main_~A~0_41)) (+ (- 1) (* (- 1) main_~B~0 main_~p~0) (* 2 aux_div_main_~A~0_41) (* (- 1) aux_mod_main_~A~0_41))) (<= 0 aux_mod_main_~A~0_41) (< aux_mod_main_~A~0_41 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {8318#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:41:30,810 INFO L290 TraceCheckUtils]: 64: Hoare triple {8318#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8322#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:41:30,810 INFO L290 TraceCheckUtils]: 65: Hoare triple {8322#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8116#false} is VALID [2022-04-08 06:41:30,810 INFO L290 TraceCheckUtils]: 66: Hoare triple {8116#false} assume !false; {8116#false} is VALID [2022-04-08 06:41:30,811 INFO L134 CoverageAnalysis]: Checked inductivity of 172 backedges. 48 proven. 34 refuted. 0 times theorem prover too weak. 90 trivial. 0 not checked. [2022-04-08 06:41:30,811 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:41:47,432 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 06:42:03,992 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:42:03,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [800454551] [2022-04-08 06:42:03,993 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:42:03,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1794364310] [2022-04-08 06:42:03,993 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1794364310] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 06:42:03,993 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 06:42:03,993 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-08 06:42:03,993 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:42:03,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2022498000] [2022-04-08 06:42:03,993 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2022498000] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:42:03,993 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:42:03,993 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 06:42:03,993 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1204893497] [2022-04-08 06:42:03,993 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:42:03,994 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) Word has length 67 [2022-04-08 06:42:03,994 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:42:03,994 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 06:42:04,051 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:42:04,052 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 06:42:04,052 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:42:04,052 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 06:42:04,052 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=173, Unknown=0, NotChecked=0, Total=210 [2022-04-08 06:42:04,053 INFO L87 Difference]: Start difference. First operand 135 states and 156 transitions. Second operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 06:42:05,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:42:05,377 INFO L93 Difference]: Finished difference Result 188 states and 232 transitions. [2022-04-08 06:42:05,377 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 06:42:05,377 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) Word has length 67 [2022-04-08 06:42:05,378 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:42:05,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 06:42:05,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 122 transitions. [2022-04-08 06:42:05,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 06:42:05,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 122 transitions. [2022-04-08 06:42:05,383 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 122 transitions. [2022-04-08 06:42:05,514 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:42:05,518 INFO L225 Difference]: With dead ends: 188 [2022-04-08 06:42:05,518 INFO L226 Difference]: Without dead ends: 163 [2022-04-08 06:42:05,518 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-04-08 06:42:05,519 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 50 mSDsluCounter, 170 mSDsCounter, 0 mSdLazyCounter, 273 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 363 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 273 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 56 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 06:42:05,519 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [61 Valid, 214 Invalid, 363 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 273 Invalid, 0 Unknown, 56 Unchecked, 0.5s Time] [2022-04-08 06:42:05,520 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2022-04-08 06:42:05,683 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 157. [2022-04-08 06:42:05,683 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:42:05,684 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 06:42:05,684 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 06:42:05,684 INFO L87 Difference]: Start difference. First operand 163 states. Second operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 06:42:05,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:42:05,688 INFO L93 Difference]: Finished difference Result 163 states and 195 transitions. [2022-04-08 06:42:05,688 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 195 transitions. [2022-04-08 06:42:05,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:42:05,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:42:05,690 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 163 states. [2022-04-08 06:42:05,690 INFO L87 Difference]: Start difference. First operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 163 states. [2022-04-08 06:42:05,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:42:05,694 INFO L93 Difference]: Finished difference Result 163 states and 195 transitions. [2022-04-08 06:42:05,694 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 195 transitions. [2022-04-08 06:42:05,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:42:05,695 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:42:05,695 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:42:05,695 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:42:05,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 102 states have (on average 1.1862745098039216) internal successors, (121), 107 states have internal predecessors, (121), 34 states have call successors, (34), 21 states have call predecessors, (34), 20 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 06:42:05,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 187 transitions. [2022-04-08 06:42:05,699 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 187 transitions. Word has length 67 [2022-04-08 06:42:05,700 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:42:05,700 INFO L478 AbstractCegarLoop]: Abstraction has 157 states and 187 transitions. [2022-04-08 06:42:05,700 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 9 states have internal predecessors, (24), 7 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 6 states have call successors, (10) [2022-04-08 06:42:05,700 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 187 transitions. [2022-04-08 06:42:05,932 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 187 edges. 187 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:42:05,933 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 187 transitions. [2022-04-08 06:42:05,933 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-08 06:42:05,933 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:42:05,933 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 2, 2, 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] [2022-04-08 06:42:05,952 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 06:42:06,139 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 06:42:06,140 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:42:06,140 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:42:06,140 INFO L85 PathProgramCache]: Analyzing trace with hash 73149133, now seen corresponding path program 1 times [2022-04-08 06:42:06,140 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:42:06,141 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1664717815] [2022-04-08 06:42:10,251 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:42:10,252 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:42:10,252 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:42:10,252 INFO L85 PathProgramCache]: Analyzing trace with hash 73149133, now seen corresponding path program 2 times [2022-04-08 06:42:10,252 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:42:10,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [565615314] [2022-04-08 06:42:10,252 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:42:10,252 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:42:10,276 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:42:10,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1160714838] [2022-04-08 06:42:10,277 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:42:10,277 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:42:10,277 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:42:10,278 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:42:10,303 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 06:42:10,345 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:42:10,345 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:42:10,347 INFO L263 TraceCheckSpWp]: Trace formula consists of 198 conjuncts, 41 conjunts are in the unsatisfiable core [2022-04-08 06:42:10,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:42:10,366 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:42:11,089 INFO L272 TraceCheckUtils]: 0: Hoare triple {9367#true} call ULTIMATE.init(); {9367#true} is VALID [2022-04-08 06:42:11,089 INFO L290 TraceCheckUtils]: 1: Hoare triple {9367#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);~counter~0 := 0; {9367#true} is VALID [2022-04-08 06:42:11,089 INFO L290 TraceCheckUtils]: 2: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:11,089 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9367#true} {9367#true} #92#return; {9367#true} is VALID [2022-04-08 06:42:11,089 INFO L272 TraceCheckUtils]: 4: Hoare triple {9367#true} call #t~ret7 := main(); {9367#true} is VALID [2022-04-08 06:42:11,090 INFO L290 TraceCheckUtils]: 5: Hoare triple {9367#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {9387#(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-08 06:42:11,090 INFO L290 TraceCheckUtils]: 6: Hoare triple {9387#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {9387#(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-08 06:42:11,091 INFO L290 TraceCheckUtils]: 7: Hoare triple {9387#(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 !!(#t~post5 < 20);havoc #t~post5; {9387#(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-08 06:42:11,091 INFO L272 TraceCheckUtils]: 8: Hoare triple {9387#(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)); {9367#true} is VALID [2022-04-08 06:42:11,091 INFO L290 TraceCheckUtils]: 9: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:11,091 INFO L290 TraceCheckUtils]: 10: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:11,091 INFO L290 TraceCheckUtils]: 11: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:11,092 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9367#true} {9387#(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))} #78#return; {9387#(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-08 06:42:11,092 INFO L272 TraceCheckUtils]: 13: Hoare triple {9387#(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)); {9367#true} is VALID [2022-04-08 06:42:11,092 INFO L290 TraceCheckUtils]: 14: Hoare triple {9367#true} ~cond := #in~cond; {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:42:11,092 INFO L290 TraceCheckUtils]: 15: Hoare triple {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:42:11,093 INFO L290 TraceCheckUtils]: 16: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:42:11,093 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9387#(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; {9387#(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-08 06:42:11,094 INFO L272 TraceCheckUtils]: 18: Hoare triple {9387#(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)); {9367#true} is VALID [2022-04-08 06:42:11,094 INFO L290 TraceCheckUtils]: 19: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:11,094 INFO L290 TraceCheckUtils]: 20: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:11,094 INFO L290 TraceCheckUtils]: 21: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:11,094 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9367#true} {9387#(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; {9387#(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-08 06:42:11,095 INFO L290 TraceCheckUtils]: 23: Hoare triple {9387#(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; {9444#(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-08 06:42:11,095 INFO L290 TraceCheckUtils]: 24: Hoare triple {9444#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {9444#(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-08 06:42:11,096 INFO L290 TraceCheckUtils]: 25: Hoare triple {9444#(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 !!(#t~post5 < 20);havoc #t~post5; {9444#(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-08 06:42:11,096 INFO L272 TraceCheckUtils]: 26: Hoare triple {9444#(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)); {9367#true} is VALID [2022-04-08 06:42:11,096 INFO L290 TraceCheckUtils]: 27: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:11,096 INFO L290 TraceCheckUtils]: 28: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:11,096 INFO L290 TraceCheckUtils]: 29: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:11,097 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {9367#true} {9444#(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))} #78#return; {9444#(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-08 06:42:11,097 INFO L272 TraceCheckUtils]: 31: Hoare triple {9444#(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)); {9367#true} is VALID [2022-04-08 06:42:11,097 INFO L290 TraceCheckUtils]: 32: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:11,097 INFO L290 TraceCheckUtils]: 33: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:11,097 INFO L290 TraceCheckUtils]: 34: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:11,097 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {9367#true} {9444#(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; {9444#(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-08 06:42:11,098 INFO L272 TraceCheckUtils]: 36: Hoare triple {9444#(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)); {9367#true} is VALID [2022-04-08 06:42:11,098 INFO L290 TraceCheckUtils]: 37: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:11,098 INFO L290 TraceCheckUtils]: 38: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:11,098 INFO L290 TraceCheckUtils]: 39: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:11,098 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9367#true} {9444#(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; {9444#(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-08 06:42:11,099 INFO L290 TraceCheckUtils]: 41: Hoare triple {9444#(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); {9444#(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-08 06:42:11,099 INFO L290 TraceCheckUtils]: 42: Hoare triple {9444#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9444#(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-08 06:42:11,100 INFO L290 TraceCheckUtils]: 43: Hoare triple {9444#(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 !!(#t~post6 < 20);havoc #t~post6; {9444#(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-08 06:42:11,100 INFO L272 TraceCheckUtils]: 44: Hoare triple {9444#(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)); {9367#true} is VALID [2022-04-08 06:42:11,100 INFO L290 TraceCheckUtils]: 45: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:11,100 INFO L290 TraceCheckUtils]: 46: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:11,100 INFO L290 TraceCheckUtils]: 47: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:11,101 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {9367#true} {9444#(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; {9444#(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-08 06:42:11,101 INFO L272 TraceCheckUtils]: 49: Hoare triple {9444#(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)); {9367#true} is VALID [2022-04-08 06:42:11,101 INFO L290 TraceCheckUtils]: 50: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:11,101 INFO L290 TraceCheckUtils]: 51: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:11,101 INFO L290 TraceCheckUtils]: 52: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:11,101 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {9367#true} {9444#(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; {9444#(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-08 06:42:11,102 INFO L290 TraceCheckUtils]: 54: Hoare triple {9444#(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); {9387#(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-08 06:42:11,102 INFO L290 TraceCheckUtils]: 55: Hoare triple {9387#(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; {9541#(and (<= main_~p~0 main_~q~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-08 06:42:11,103 INFO L290 TraceCheckUtils]: 56: Hoare triple {9541#(and (<= main_~p~0 main_~q~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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9541#(and (<= main_~p~0 main_~q~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-08 06:42:11,103 INFO L290 TraceCheckUtils]: 57: Hoare triple {9541#(and (<= main_~p~0 main_~q~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 !!(#t~post6 < 20);havoc #t~post6; {9541#(and (<= main_~p~0 main_~q~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-08 06:42:11,103 INFO L272 TraceCheckUtils]: 58: Hoare triple {9541#(and (<= main_~p~0 main_~q~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)); {9367#true} is VALID [2022-04-08 06:42:11,104 INFO L290 TraceCheckUtils]: 59: Hoare triple {9367#true} ~cond := #in~cond; {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:42:11,104 INFO L290 TraceCheckUtils]: 60: Hoare triple {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:42:11,105 INFO L290 TraceCheckUtils]: 61: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:42:11,106 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9541#(and (<= main_~p~0 main_~q~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))} #84#return; {9563#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-08 06:42:11,106 INFO L272 TraceCheckUtils]: 63: Hoare triple {9563#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~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)); {9367#true} is VALID [2022-04-08 06:42:11,106 INFO L290 TraceCheckUtils]: 64: Hoare triple {9367#true} ~cond := #in~cond; {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:42:11,107 INFO L290 TraceCheckUtils]: 65: Hoare triple {9415#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:42:11,108 INFO L290 TraceCheckUtils]: 66: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:42:11,109 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9563#(and (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1) (= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #86#return; {9579#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} is VALID [2022-04-08 06:42:11,110 INFO L290 TraceCheckUtils]: 68: Hoare triple {9579#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} assume !(1 != ~p~0); {9583#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0))} is VALID [2022-04-08 06:42:11,110 INFO L272 TraceCheckUtils]: 69: Hoare triple {9583#(and (= main_~A~0 (+ main_~q~0 main_~r~0)) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {9587#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:42:11,111 INFO L290 TraceCheckUtils]: 70: Hoare triple {9587#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9591#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:42:11,111 INFO L290 TraceCheckUtils]: 71: Hoare triple {9591#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9368#false} is VALID [2022-04-08 06:42:11,111 INFO L290 TraceCheckUtils]: 72: Hoare triple {9368#false} assume !false; {9368#false} is VALID [2022-04-08 06:42:11,111 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 62 proven. 32 refuted. 0 times theorem prover too weak. 117 trivial. 0 not checked. [2022-04-08 06:42:11,112 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:42:22,133 INFO L290 TraceCheckUtils]: 72: Hoare triple {9368#false} assume !false; {9368#false} is VALID [2022-04-08 06:42:22,134 INFO L290 TraceCheckUtils]: 71: Hoare triple {9591#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9368#false} is VALID [2022-04-08 06:42:22,135 INFO L290 TraceCheckUtils]: 70: Hoare triple {9587#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9591#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:42:22,136 INFO L272 TraceCheckUtils]: 69: Hoare triple {9607#(= (+ (* 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)); {9587#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:42:22,136 INFO L290 TraceCheckUtils]: 68: Hoare triple {9611#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {9607#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:42:22,137 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9615#(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)))} #86#return; {9611#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-08 06:42:22,137 INFO L290 TraceCheckUtils]: 66: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:42:22,138 INFO L290 TraceCheckUtils]: 65: Hoare triple {9625#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:42:22,138 INFO L290 TraceCheckUtils]: 64: Hoare triple {9367#true} ~cond := #in~cond; {9625#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:42:22,138 INFO L272 TraceCheckUtils]: 63: Hoare triple {9615#(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)); {9367#true} is VALID [2022-04-08 06:42:22,155 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} {9367#true} #84#return; {9615#(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-08 06:42:22,156 INFO L290 TraceCheckUtils]: 61: Hoare triple {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:42:22,157 INFO L290 TraceCheckUtils]: 60: Hoare triple {9625#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9419#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:42:22,157 INFO L290 TraceCheckUtils]: 59: Hoare triple {9367#true} ~cond := #in~cond; {9625#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:42:22,157 INFO L272 TraceCheckUtils]: 58: Hoare triple {9367#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9367#true} is VALID [2022-04-08 06:42:22,157 INFO L290 TraceCheckUtils]: 57: Hoare triple {9367#true} assume !!(#t~post6 < 20);havoc #t~post6; {9367#true} is VALID [2022-04-08 06:42:22,157 INFO L290 TraceCheckUtils]: 56: Hoare triple {9367#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9367#true} is VALID [2022-04-08 06:42:22,157 INFO L290 TraceCheckUtils]: 55: Hoare triple {9367#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9367#true} is VALID [2022-04-08 06:42:22,157 INFO L290 TraceCheckUtils]: 54: Hoare triple {9367#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); {9367#true} is VALID [2022-04-08 06:42:22,158 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {9367#true} {9367#true} #86#return; {9367#true} is VALID [2022-04-08 06:42:22,158 INFO L290 TraceCheckUtils]: 52: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:22,158 INFO L290 TraceCheckUtils]: 51: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:22,158 INFO L290 TraceCheckUtils]: 50: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:22,158 INFO L272 TraceCheckUtils]: 49: Hoare triple {9367#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-08 06:42:22,158 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {9367#true} {9367#true} #84#return; {9367#true} is VALID [2022-04-08 06:42:22,158 INFO L290 TraceCheckUtils]: 47: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:22,158 INFO L290 TraceCheckUtils]: 46: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:22,158 INFO L290 TraceCheckUtils]: 45: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:22,158 INFO L272 TraceCheckUtils]: 44: Hoare triple {9367#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {9367#true} is VALID [2022-04-08 06:42:22,159 INFO L290 TraceCheckUtils]: 43: Hoare triple {9367#true} assume !!(#t~post6 < 20);havoc #t~post6; {9367#true} is VALID [2022-04-08 06:42:22,159 INFO L290 TraceCheckUtils]: 42: Hoare triple {9367#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9367#true} is VALID [2022-04-08 06:42:22,159 INFO L290 TraceCheckUtils]: 41: Hoare triple {9367#true} assume !(~r~0 >= ~d~0); {9367#true} is VALID [2022-04-08 06:42:22,159 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9367#true} {9367#true} #82#return; {9367#true} is VALID [2022-04-08 06:42:22,159 INFO L290 TraceCheckUtils]: 39: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:22,159 INFO L290 TraceCheckUtils]: 38: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:22,159 INFO L290 TraceCheckUtils]: 37: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:22,159 INFO L272 TraceCheckUtils]: 36: Hoare triple {9367#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-08 06:42:22,159 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {9367#true} {9367#true} #80#return; {9367#true} is VALID [2022-04-08 06:42:22,159 INFO L290 TraceCheckUtils]: 34: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:22,159 INFO L290 TraceCheckUtils]: 33: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:22,160 INFO L290 TraceCheckUtils]: 32: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:22,160 INFO L272 TraceCheckUtils]: 31: Hoare triple {9367#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9367#true} is VALID [2022-04-08 06:42:22,160 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {9367#true} {9367#true} #78#return; {9367#true} is VALID [2022-04-08 06:42:22,161 INFO L290 TraceCheckUtils]: 29: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:22,161 INFO L290 TraceCheckUtils]: 28: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:22,161 INFO L290 TraceCheckUtils]: 27: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:22,161 INFO L272 TraceCheckUtils]: 26: Hoare triple {9367#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9367#true} is VALID [2022-04-08 06:42:22,161 INFO L290 TraceCheckUtils]: 25: Hoare triple {9367#true} assume !!(#t~post5 < 20);havoc #t~post5; {9367#true} is VALID [2022-04-08 06:42:22,161 INFO L290 TraceCheckUtils]: 24: Hoare triple {9367#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {9367#true} is VALID [2022-04-08 06:42:22,161 INFO L290 TraceCheckUtils]: 23: Hoare triple {9367#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9367#true} is VALID [2022-04-08 06:42:22,162 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9367#true} {9367#true} #82#return; {9367#true} is VALID [2022-04-08 06:42:22,162 INFO L290 TraceCheckUtils]: 21: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:22,162 INFO L290 TraceCheckUtils]: 20: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:22,162 INFO L290 TraceCheckUtils]: 19: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:22,162 INFO L272 TraceCheckUtils]: 18: Hoare triple {9367#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {9367#true} is VALID [2022-04-08 06:42:22,162 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {9367#true} {9367#true} #80#return; {9367#true} is VALID [2022-04-08 06:42:22,162 INFO L290 TraceCheckUtils]: 16: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:22,162 INFO L290 TraceCheckUtils]: 15: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:22,163 INFO L290 TraceCheckUtils]: 14: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:22,163 INFO L272 TraceCheckUtils]: 13: Hoare triple {9367#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {9367#true} is VALID [2022-04-08 06:42:22,163 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {9367#true} {9367#true} #78#return; {9367#true} is VALID [2022-04-08 06:42:22,163 INFO L290 TraceCheckUtils]: 11: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:22,163 INFO L290 TraceCheckUtils]: 10: Hoare triple {9367#true} assume !(0 == ~cond); {9367#true} is VALID [2022-04-08 06:42:22,163 INFO L290 TraceCheckUtils]: 9: Hoare triple {9367#true} ~cond := #in~cond; {9367#true} is VALID [2022-04-08 06:42:22,163 INFO L272 TraceCheckUtils]: 8: Hoare triple {9367#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9367#true} is VALID [2022-04-08 06:42:22,163 INFO L290 TraceCheckUtils]: 7: Hoare triple {9367#true} assume !!(#t~post5 < 20);havoc #t~post5; {9367#true} is VALID [2022-04-08 06:42:22,163 INFO L290 TraceCheckUtils]: 6: Hoare triple {9367#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {9367#true} is VALID [2022-04-08 06:42:22,164 INFO L290 TraceCheckUtils]: 5: Hoare triple {9367#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {9367#true} is VALID [2022-04-08 06:42:22,164 INFO L272 TraceCheckUtils]: 4: Hoare triple {9367#true} call #t~ret7 := main(); {9367#true} is VALID [2022-04-08 06:42:22,164 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9367#true} {9367#true} #92#return; {9367#true} is VALID [2022-04-08 06:42:22,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {9367#true} assume true; {9367#true} is VALID [2022-04-08 06:42:22,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {9367#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);~counter~0 := 0; {9367#true} is VALID [2022-04-08 06:42:22,164 INFO L272 TraceCheckUtils]: 0: Hoare triple {9367#true} call ULTIMATE.init(); {9367#true} is VALID [2022-04-08 06:42:22,164 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 141 trivial. 0 not checked. [2022-04-08 06:42:22,165 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:42:22,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [565615314] [2022-04-08 06:42:22,165 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:42:22,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1160714838] [2022-04-08 06:42:22,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1160714838] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:42:22,165 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:42:22,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-08 06:42:22,165 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:42:22,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1664717815] [2022-04-08 06:42:22,166 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1664717815] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:42:22,166 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:42:22,166 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 06:42:22,166 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1979963772] [2022-04-08 06:42:22,166 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:42:22,166 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-08 06:42:22,167 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:42:22,167 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 06:42:22,233 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:42:22,234 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 06:42:22,234 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:42:22,234 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 06:42:22,234 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-08 06:42:22,235 INFO L87 Difference]: Start difference. First operand 157 states and 187 transitions. Second operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 06:42:23,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:42:23,389 INFO L93 Difference]: Finished difference Result 186 states and 221 transitions. [2022-04-08 06:42:23,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 06:42:23,389 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-08 06:42:23,390 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:42:23,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 06:42:23,391 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 06:42:23,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 06:42:23,393 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 06:42:23,393 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-08 06:42:23,494 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:42:23,496 INFO L225 Difference]: With dead ends: 186 [2022-04-08 06:42:23,497 INFO L226 Difference]: Without dead ends: 129 [2022-04-08 06:42:23,497 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 129 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-08 06:42:23,498 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 17 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 350 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 368 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 350 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 06:42:23,498 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 180 Invalid, 368 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 350 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 06:42:23,498 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-08 06:42:23,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-04-08 06:42:23,622 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:42:23,623 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 06:42:23,623 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 06:42:23,623 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 06:42:23,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:42:23,626 INFO L93 Difference]: Finished difference Result 129 states and 152 transitions. [2022-04-08 06:42:23,626 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 152 transitions. [2022-04-08 06:42:23,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:42:23,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:42:23,627 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 129 states. [2022-04-08 06:42:23,628 INFO L87 Difference]: Start difference. First operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 129 states. [2022-04-08 06:42:23,630 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:42:23,631 INFO L93 Difference]: Finished difference Result 129 states and 152 transitions. [2022-04-08 06:42:23,631 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 152 transitions. [2022-04-08 06:42:23,631 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:42:23,631 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:42:23,631 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:42:23,631 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:42:23,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 83 states have (on average 1.180722891566265) internal successors, (98), 87 states have internal predecessors, (98), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 06:42:23,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 152 transitions. [2022-04-08 06:42:23,635 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 152 transitions. Word has length 73 [2022-04-08 06:42:23,635 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:42:23,635 INFO L478 AbstractCegarLoop]: Abstraction has 129 states and 152 transitions. [2022-04-08 06:42:23,635 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 06:42:23,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 152 transitions. [2022-04-08 06:42:23,813 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:42:23,814 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 152 transitions. [2022-04-08 06:42:23,814 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-08 06:42:23,814 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:42:23,814 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:42:23,832 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 06:42:24,015 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-08 06:42:24,015 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:42:24,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:42:24,016 INFO L85 PathProgramCache]: Analyzing trace with hash 469209008, now seen corresponding path program 5 times [2022-04-08 06:42:24,016 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:42:24,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1824506064] [2022-04-08 06:42:28,102 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:42:28,102 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:42:28,102 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:42:28,102 INFO L85 PathProgramCache]: Analyzing trace with hash 469209008, now seen corresponding path program 6 times [2022-04-08 06:42:28,102 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:42:28,102 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2084634633] [2022-04-08 06:42:28,103 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:42:28,103 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:42:28,113 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:42:28,113 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1148640314] [2022-04-08 06:42:28,113 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 06:42:28,113 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:42:28,113 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:42:28,115 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:42:28,126 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 06:42:28,168 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-08 06:42:28,169 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:42:28,169 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 06:42:28,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:42:28,184 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:42:28,477 INFO L272 TraceCheckUtils]: 0: Hoare triple {10712#true} call ULTIMATE.init(); {10712#true} is VALID [2022-04-08 06:42:28,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {10712#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);~counter~0 := 0; {10720#(<= ~counter~0 0)} is VALID [2022-04-08 06:42:28,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {10720#(<= ~counter~0 0)} assume true; {10720#(<= ~counter~0 0)} is VALID [2022-04-08 06:42:28,479 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10720#(<= ~counter~0 0)} {10712#true} #92#return; {10720#(<= ~counter~0 0)} is VALID [2022-04-08 06:42:28,479 INFO L272 TraceCheckUtils]: 4: Hoare triple {10720#(<= ~counter~0 0)} call #t~ret7 := main(); {10720#(<= ~counter~0 0)} is VALID [2022-04-08 06:42:28,479 INFO L290 TraceCheckUtils]: 5: Hoare triple {10720#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {10720#(<= ~counter~0 0)} is VALID [2022-04-08 06:42:28,480 INFO L290 TraceCheckUtils]: 6: Hoare triple {10720#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,481 INFO L290 TraceCheckUtils]: 7: Hoare triple {10736#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,481 INFO L272 TraceCheckUtils]: 8: Hoare triple {10736#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {10736#(<= ~counter~0 1)} ~cond := #in~cond; {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,482 INFO L290 TraceCheckUtils]: 10: Hoare triple {10736#(<= ~counter~0 1)} assume !(0 == ~cond); {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,482 INFO L290 TraceCheckUtils]: 11: Hoare triple {10736#(<= ~counter~0 1)} assume true; {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,483 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10736#(<= ~counter~0 1)} {10736#(<= ~counter~0 1)} #78#return; {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,483 INFO L272 TraceCheckUtils]: 13: Hoare triple {10736#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,483 INFO L290 TraceCheckUtils]: 14: Hoare triple {10736#(<= ~counter~0 1)} ~cond := #in~cond; {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {10736#(<= ~counter~0 1)} assume !(0 == ~cond); {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,484 INFO L290 TraceCheckUtils]: 16: Hoare triple {10736#(<= ~counter~0 1)} assume true; {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,485 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {10736#(<= ~counter~0 1)} {10736#(<= ~counter~0 1)} #80#return; {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,485 INFO L272 TraceCheckUtils]: 18: Hoare triple {10736#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,486 INFO L290 TraceCheckUtils]: 19: Hoare triple {10736#(<= ~counter~0 1)} ~cond := #in~cond; {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,486 INFO L290 TraceCheckUtils]: 20: Hoare triple {10736#(<= ~counter~0 1)} assume !(0 == ~cond); {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,486 INFO L290 TraceCheckUtils]: 21: Hoare triple {10736#(<= ~counter~0 1)} assume true; {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,487 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10736#(<= ~counter~0 1)} {10736#(<= ~counter~0 1)} #82#return; {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,487 INFO L290 TraceCheckUtils]: 23: Hoare triple {10736#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10736#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:28,488 INFO L290 TraceCheckUtils]: 24: Hoare triple {10736#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,488 INFO L290 TraceCheckUtils]: 25: Hoare triple {10791#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,489 INFO L272 TraceCheckUtils]: 26: Hoare triple {10791#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,489 INFO L290 TraceCheckUtils]: 27: Hoare triple {10791#(<= ~counter~0 2)} ~cond := #in~cond; {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,490 INFO L290 TraceCheckUtils]: 28: Hoare triple {10791#(<= ~counter~0 2)} assume !(0 == ~cond); {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,490 INFO L290 TraceCheckUtils]: 29: Hoare triple {10791#(<= ~counter~0 2)} assume true; {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,491 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {10791#(<= ~counter~0 2)} {10791#(<= ~counter~0 2)} #78#return; {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,491 INFO L272 TraceCheckUtils]: 31: Hoare triple {10791#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,491 INFO L290 TraceCheckUtils]: 32: Hoare triple {10791#(<= ~counter~0 2)} ~cond := #in~cond; {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,492 INFO L290 TraceCheckUtils]: 33: Hoare triple {10791#(<= ~counter~0 2)} assume !(0 == ~cond); {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,492 INFO L290 TraceCheckUtils]: 34: Hoare triple {10791#(<= ~counter~0 2)} assume true; {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,493 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {10791#(<= ~counter~0 2)} {10791#(<= ~counter~0 2)} #80#return; {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,494 INFO L272 TraceCheckUtils]: 36: Hoare triple {10791#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,494 INFO L290 TraceCheckUtils]: 37: Hoare triple {10791#(<= ~counter~0 2)} ~cond := #in~cond; {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,494 INFO L290 TraceCheckUtils]: 38: Hoare triple {10791#(<= ~counter~0 2)} assume !(0 == ~cond); {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,495 INFO L290 TraceCheckUtils]: 39: Hoare triple {10791#(<= ~counter~0 2)} assume true; {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,496 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {10791#(<= ~counter~0 2)} {10791#(<= ~counter~0 2)} #82#return; {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,496 INFO L290 TraceCheckUtils]: 41: Hoare triple {10791#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10791#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:28,497 INFO L290 TraceCheckUtils]: 42: Hoare triple {10791#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,497 INFO L290 TraceCheckUtils]: 43: Hoare triple {10846#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,498 INFO L272 TraceCheckUtils]: 44: Hoare triple {10846#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,498 INFO L290 TraceCheckUtils]: 45: Hoare triple {10846#(<= ~counter~0 3)} ~cond := #in~cond; {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,499 INFO L290 TraceCheckUtils]: 46: Hoare triple {10846#(<= ~counter~0 3)} assume !(0 == ~cond); {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,499 INFO L290 TraceCheckUtils]: 47: Hoare triple {10846#(<= ~counter~0 3)} assume true; {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,500 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {10846#(<= ~counter~0 3)} {10846#(<= ~counter~0 3)} #78#return; {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,500 INFO L272 TraceCheckUtils]: 49: Hoare triple {10846#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,501 INFO L290 TraceCheckUtils]: 50: Hoare triple {10846#(<= ~counter~0 3)} ~cond := #in~cond; {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,501 INFO L290 TraceCheckUtils]: 51: Hoare triple {10846#(<= ~counter~0 3)} assume !(0 == ~cond); {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,501 INFO L290 TraceCheckUtils]: 52: Hoare triple {10846#(<= ~counter~0 3)} assume true; {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,502 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {10846#(<= ~counter~0 3)} {10846#(<= ~counter~0 3)} #80#return; {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,503 INFO L272 TraceCheckUtils]: 54: Hoare triple {10846#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,503 INFO L290 TraceCheckUtils]: 55: Hoare triple {10846#(<= ~counter~0 3)} ~cond := #in~cond; {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,504 INFO L290 TraceCheckUtils]: 56: Hoare triple {10846#(<= ~counter~0 3)} assume !(0 == ~cond); {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,504 INFO L290 TraceCheckUtils]: 57: Hoare triple {10846#(<= ~counter~0 3)} assume true; {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,505 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10846#(<= ~counter~0 3)} {10846#(<= ~counter~0 3)} #82#return; {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,505 INFO L290 TraceCheckUtils]: 59: Hoare triple {10846#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10846#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:28,505 INFO L290 TraceCheckUtils]: 60: Hoare triple {10846#(<= ~counter~0 3)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10901#(<= |main_#t~post5| 3)} is VALID [2022-04-08 06:42:28,506 INFO L290 TraceCheckUtils]: 61: Hoare triple {10901#(<= |main_#t~post5| 3)} assume !(#t~post5 < 20);havoc #t~post5; {10713#false} is VALID [2022-04-08 06:42:28,506 INFO L290 TraceCheckUtils]: 62: Hoare triple {10713#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10713#false} is VALID [2022-04-08 06:42:28,506 INFO L290 TraceCheckUtils]: 63: Hoare triple {10713#false} assume !(#t~post6 < 20);havoc #t~post6; {10713#false} is VALID [2022-04-08 06:42:28,506 INFO L272 TraceCheckUtils]: 64: Hoare triple {10713#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10713#false} is VALID [2022-04-08 06:42:28,506 INFO L290 TraceCheckUtils]: 65: Hoare triple {10713#false} ~cond := #in~cond; {10713#false} is VALID [2022-04-08 06:42:28,506 INFO L290 TraceCheckUtils]: 66: Hoare triple {10713#false} assume !(0 == ~cond); {10713#false} is VALID [2022-04-08 06:42:28,507 INFO L290 TraceCheckUtils]: 67: Hoare triple {10713#false} assume true; {10713#false} is VALID [2022-04-08 06:42:28,507 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10713#false} {10713#false} #88#return; {10713#false} is VALID [2022-04-08 06:42:28,507 INFO L272 TraceCheckUtils]: 69: Hoare triple {10713#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {10713#false} is VALID [2022-04-08 06:42:28,507 INFO L290 TraceCheckUtils]: 70: Hoare triple {10713#false} ~cond := #in~cond; {10713#false} is VALID [2022-04-08 06:42:28,507 INFO L290 TraceCheckUtils]: 71: Hoare triple {10713#false} assume 0 == ~cond; {10713#false} is VALID [2022-04-08 06:42:28,507 INFO L290 TraceCheckUtils]: 72: Hoare triple {10713#false} assume !false; {10713#false} is VALID [2022-04-08 06:42:28,507 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 54 proven. 132 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-08 06:42:28,508 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:42:28,825 INFO L290 TraceCheckUtils]: 72: Hoare triple {10713#false} assume !false; {10713#false} is VALID [2022-04-08 06:42:28,825 INFO L290 TraceCheckUtils]: 71: Hoare triple {10713#false} assume 0 == ~cond; {10713#false} is VALID [2022-04-08 06:42:28,825 INFO L290 TraceCheckUtils]: 70: Hoare triple {10713#false} ~cond := #in~cond; {10713#false} is VALID [2022-04-08 06:42:28,825 INFO L272 TraceCheckUtils]: 69: Hoare triple {10713#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {10713#false} is VALID [2022-04-08 06:42:28,825 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10712#true} {10713#false} #88#return; {10713#false} is VALID [2022-04-08 06:42:28,825 INFO L290 TraceCheckUtils]: 67: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-08 06:42:28,825 INFO L290 TraceCheckUtils]: 66: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-08 06:42:28,825 INFO L290 TraceCheckUtils]: 65: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-08 06:42:28,825 INFO L272 TraceCheckUtils]: 64: Hoare triple {10713#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10712#true} is VALID [2022-04-08 06:42:28,826 INFO L290 TraceCheckUtils]: 63: Hoare triple {10713#false} assume !(#t~post6 < 20);havoc #t~post6; {10713#false} is VALID [2022-04-08 06:42:28,826 INFO L290 TraceCheckUtils]: 62: Hoare triple {10713#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10713#false} is VALID [2022-04-08 06:42:28,826 INFO L290 TraceCheckUtils]: 61: Hoare triple {10971#(< |main_#t~post5| 20)} assume !(#t~post5 < 20);havoc #t~post5; {10713#false} is VALID [2022-04-08 06:42:28,826 INFO L290 TraceCheckUtils]: 60: Hoare triple {10975#(< ~counter~0 20)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10971#(< |main_#t~post5| 20)} is VALID [2022-04-08 06:42:28,827 INFO L290 TraceCheckUtils]: 59: Hoare triple {10975#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10975#(< ~counter~0 20)} is VALID [2022-04-08 06:42:28,827 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10712#true} {10975#(< ~counter~0 20)} #82#return; {10975#(< ~counter~0 20)} is VALID [2022-04-08 06:42:28,827 INFO L290 TraceCheckUtils]: 57: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-08 06:42:28,827 INFO L290 TraceCheckUtils]: 56: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-08 06:42:28,827 INFO L290 TraceCheckUtils]: 55: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-08 06:42:28,827 INFO L272 TraceCheckUtils]: 54: Hoare triple {10975#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10712#true} is VALID [2022-04-08 06:42:28,828 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {10712#true} {10975#(< ~counter~0 20)} #80#return; {10975#(< ~counter~0 20)} is VALID [2022-04-08 06:42:28,828 INFO L290 TraceCheckUtils]: 52: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-08 06:42:28,828 INFO L290 TraceCheckUtils]: 51: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-08 06:42:28,828 INFO L290 TraceCheckUtils]: 50: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-08 06:42:28,828 INFO L272 TraceCheckUtils]: 49: Hoare triple {10975#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10712#true} is VALID [2022-04-08 06:42:28,829 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {10712#true} {10975#(< ~counter~0 20)} #78#return; {10975#(< ~counter~0 20)} is VALID [2022-04-08 06:42:28,829 INFO L290 TraceCheckUtils]: 47: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-08 06:42:28,829 INFO L290 TraceCheckUtils]: 46: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-08 06:42:28,829 INFO L290 TraceCheckUtils]: 45: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-08 06:42:28,829 INFO L272 TraceCheckUtils]: 44: Hoare triple {10975#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10712#true} is VALID [2022-04-08 06:42:28,829 INFO L290 TraceCheckUtils]: 43: Hoare triple {10975#(< ~counter~0 20)} assume !!(#t~post5 < 20);havoc #t~post5; {10975#(< ~counter~0 20)} is VALID [2022-04-08 06:42:28,830 INFO L290 TraceCheckUtils]: 42: Hoare triple {11030#(< ~counter~0 19)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {10975#(< ~counter~0 20)} is VALID [2022-04-08 06:42:28,830 INFO L290 TraceCheckUtils]: 41: Hoare triple {11030#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11030#(< ~counter~0 19)} is VALID [2022-04-08 06:42:28,831 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {10712#true} {11030#(< ~counter~0 19)} #82#return; {11030#(< ~counter~0 19)} is VALID [2022-04-08 06:42:28,831 INFO L290 TraceCheckUtils]: 39: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-08 06:42:28,831 INFO L290 TraceCheckUtils]: 38: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-08 06:42:28,831 INFO L290 TraceCheckUtils]: 37: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-08 06:42:28,831 INFO L272 TraceCheckUtils]: 36: Hoare triple {11030#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10712#true} is VALID [2022-04-08 06:42:28,831 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {10712#true} {11030#(< ~counter~0 19)} #80#return; {11030#(< ~counter~0 19)} is VALID [2022-04-08 06:42:28,832 INFO L290 TraceCheckUtils]: 34: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-08 06:42:28,832 INFO L290 TraceCheckUtils]: 33: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-08 06:42:28,832 INFO L290 TraceCheckUtils]: 32: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-08 06:42:28,832 INFO L272 TraceCheckUtils]: 31: Hoare triple {11030#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10712#true} is VALID [2022-04-08 06:42:28,832 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {10712#true} {11030#(< ~counter~0 19)} #78#return; {11030#(< ~counter~0 19)} is VALID [2022-04-08 06:42:28,832 INFO L290 TraceCheckUtils]: 29: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-08 06:42:28,832 INFO L290 TraceCheckUtils]: 28: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-08 06:42:28,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-08 06:42:28,832 INFO L272 TraceCheckUtils]: 26: Hoare triple {11030#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10712#true} is VALID [2022-04-08 06:42:28,833 INFO L290 TraceCheckUtils]: 25: Hoare triple {11030#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {11030#(< ~counter~0 19)} is VALID [2022-04-08 06:42:28,833 INFO L290 TraceCheckUtils]: 24: Hoare triple {11085#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {11030#(< ~counter~0 19)} is VALID [2022-04-08 06:42:28,834 INFO L290 TraceCheckUtils]: 23: Hoare triple {11085#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11085#(< ~counter~0 18)} is VALID [2022-04-08 06:42:28,834 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10712#true} {11085#(< ~counter~0 18)} #82#return; {11085#(< ~counter~0 18)} is VALID [2022-04-08 06:42:28,834 INFO L290 TraceCheckUtils]: 21: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-08 06:42:28,835 INFO L290 TraceCheckUtils]: 20: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-08 06:42:28,835 INFO L290 TraceCheckUtils]: 19: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-08 06:42:28,835 INFO L272 TraceCheckUtils]: 18: Hoare triple {11085#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {10712#true} is VALID [2022-04-08 06:42:28,836 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {10712#true} {11085#(< ~counter~0 18)} #80#return; {11085#(< ~counter~0 18)} is VALID [2022-04-08 06:42:28,836 INFO L290 TraceCheckUtils]: 16: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-08 06:42:28,836 INFO L290 TraceCheckUtils]: 15: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-08 06:42:28,836 INFO L290 TraceCheckUtils]: 14: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-08 06:42:28,836 INFO L272 TraceCheckUtils]: 13: Hoare triple {11085#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {10712#true} is VALID [2022-04-08 06:42:28,836 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {10712#true} {11085#(< ~counter~0 18)} #78#return; {11085#(< ~counter~0 18)} is VALID [2022-04-08 06:42:28,836 INFO L290 TraceCheckUtils]: 11: Hoare triple {10712#true} assume true; {10712#true} is VALID [2022-04-08 06:42:28,836 INFO L290 TraceCheckUtils]: 10: Hoare triple {10712#true} assume !(0 == ~cond); {10712#true} is VALID [2022-04-08 06:42:28,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {10712#true} ~cond := #in~cond; {10712#true} is VALID [2022-04-08 06:42:28,837 INFO L272 TraceCheckUtils]: 8: Hoare triple {11085#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10712#true} is VALID [2022-04-08 06:42:28,837 INFO L290 TraceCheckUtils]: 7: Hoare triple {11085#(< ~counter~0 18)} assume !!(#t~post5 < 20);havoc #t~post5; {11085#(< ~counter~0 18)} is VALID [2022-04-08 06:42:28,837 INFO L290 TraceCheckUtils]: 6: Hoare triple {11140#(< ~counter~0 17)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {11085#(< ~counter~0 18)} is VALID [2022-04-08 06:42:28,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {11140#(< ~counter~0 17)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {11140#(< ~counter~0 17)} is VALID [2022-04-08 06:42:28,838 INFO L272 TraceCheckUtils]: 4: Hoare triple {11140#(< ~counter~0 17)} call #t~ret7 := main(); {11140#(< ~counter~0 17)} is VALID [2022-04-08 06:42:28,838 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11140#(< ~counter~0 17)} {10712#true} #92#return; {11140#(< ~counter~0 17)} is VALID [2022-04-08 06:42:28,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {11140#(< ~counter~0 17)} assume true; {11140#(< ~counter~0 17)} is VALID [2022-04-08 06:42:28,839 INFO L290 TraceCheckUtils]: 1: Hoare triple {10712#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);~counter~0 := 0; {11140#(< ~counter~0 17)} is VALID [2022-04-08 06:42:28,839 INFO L272 TraceCheckUtils]: 0: Hoare triple {10712#true} call ULTIMATE.init(); {10712#true} is VALID [2022-04-08 06:42:28,840 INFO L134 CoverageAnalysis]: Checked inductivity of 224 backedges. 20 proven. 24 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-08 06:42:28,840 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:42:28,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2084634633] [2022-04-08 06:42:28,840 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:42:28,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1148640314] [2022-04-08 06:42:28,840 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1148640314] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:42:28,840 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:42:28,840 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-08 06:42:28,840 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:42:28,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1824506064] [2022-04-08 06:42:28,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1824506064] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:42:28,841 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:42:28,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 06:42:28,841 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1280026835] [2022-04-08 06:42:28,841 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:42:28,841 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-08 06:42:28,842 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:42:28,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 06:42:28,885 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:42:28,885 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 06:42:28,885 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:42:28,885 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 06:42:28,885 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-08 06:42:28,886 INFO L87 Difference]: Start difference. First operand 129 states and 152 transitions. Second operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 06:42:29,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:42:29,191 INFO L93 Difference]: Finished difference Result 170 states and 207 transitions. [2022-04-08 06:42:29,192 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 06:42:29,192 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-08 06:42:29,192 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:42:29,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 06:42:29,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-08 06:42:29,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 06:42:29,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-08 06:42:29,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-08 06:42:29,275 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:42:29,278 INFO L225 Difference]: With dead ends: 170 [2022-04-08 06:42:29,278 INFO L226 Difference]: Without dead ends: 131 [2022-04-08 06:42:29,279 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 135 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-08 06:42:29,279 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 06:42:29,279 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 144 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 06:42:29,280 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-08 06:42:29,402 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-08 06:42:29,402 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:42:29,403 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 06:42:29,403 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 06:42:29,403 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 06:42:29,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:42:29,407 INFO L93 Difference]: Finished difference Result 131 states and 154 transitions. [2022-04-08 06:42:29,407 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 154 transitions. [2022-04-08 06:42:29,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:42:29,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:42:29,408 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 131 states. [2022-04-08 06:42:29,408 INFO L87 Difference]: Start difference. First operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) Second operand 131 states. [2022-04-08 06:42:29,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:42:29,411 INFO L93 Difference]: Finished difference Result 131 states and 154 transitions. [2022-04-08 06:42:29,411 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 154 transitions. [2022-04-08 06:42:29,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:42:29,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:42:29,411 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:42:29,411 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:42:29,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 85 states have (on average 1.1764705882352942) internal successors, (100), 89 states have internal predecessors, (100), 28 states have call successors, (28), 18 states have call predecessors, (28), 17 states have return successors, (26), 23 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-08 06:42:29,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 154 transitions. [2022-04-08 06:42:29,416 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 154 transitions. Word has length 73 [2022-04-08 06:42:29,416 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:42:29,416 INFO L478 AbstractCegarLoop]: Abstraction has 131 states and 154 transitions. [2022-04-08 06:42:29,416 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.285714285714286) internal successors, (30), 6 states have internal predecessors, (30), 6 states have call successors, (13), 6 states have call predecessors, (13), 5 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-08 06:42:29,416 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 154 transitions. [2022-04-08 06:42:29,600 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:42:29,601 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 154 transitions. [2022-04-08 06:42:29,601 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 06:42:29,601 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:42:29,601 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:42:29,618 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-08 06:42:29,802 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 06:42:29,802 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:42:29,802 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:42:29,802 INFO L85 PathProgramCache]: Analyzing trace with hash 1997631578, now seen corresponding path program 3 times [2022-04-08 06:42:29,802 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:42:29,803 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [707264191] [2022-04-08 06:42:32,385 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:42:32,385 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:42:32,385 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:42:32,385 INFO L85 PathProgramCache]: Analyzing trace with hash 1997631578, now seen corresponding path program 4 times [2022-04-08 06:42:32,385 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:42:32,385 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [308172143] [2022-04-08 06:42:32,385 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:42:32,386 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:42:32,395 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:42:32,395 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1494478962] [2022-04-08 06:42:32,396 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:42:32,396 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:42:32,396 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:42:32,404 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:42:32,423 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-08 06:42:32,468 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:42:32,468 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:42:32,469 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 06:42:32,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:42:32,485 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:42:32,801 INFO L272 TraceCheckUtils]: 0: Hoare triple {12031#true} call ULTIMATE.init(); {12031#true} is VALID [2022-04-08 06:42:32,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {12031#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);~counter~0 := 0; {12039#(<= ~counter~0 0)} is VALID [2022-04-08 06:42:32,802 INFO L290 TraceCheckUtils]: 2: Hoare triple {12039#(<= ~counter~0 0)} assume true; {12039#(<= ~counter~0 0)} is VALID [2022-04-08 06:42:32,802 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12039#(<= ~counter~0 0)} {12031#true} #92#return; {12039#(<= ~counter~0 0)} is VALID [2022-04-08 06:42:32,802 INFO L272 TraceCheckUtils]: 4: Hoare triple {12039#(<= ~counter~0 0)} call #t~ret7 := main(); {12039#(<= ~counter~0 0)} is VALID [2022-04-08 06:42:32,802 INFO L290 TraceCheckUtils]: 5: Hoare triple {12039#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {12039#(<= ~counter~0 0)} is VALID [2022-04-08 06:42:32,803 INFO L290 TraceCheckUtils]: 6: Hoare triple {12039#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,803 INFO L290 TraceCheckUtils]: 7: Hoare triple {12055#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,804 INFO L272 TraceCheckUtils]: 8: Hoare triple {12055#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,804 INFO L290 TraceCheckUtils]: 9: Hoare triple {12055#(<= ~counter~0 1)} ~cond := #in~cond; {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,804 INFO L290 TraceCheckUtils]: 10: Hoare triple {12055#(<= ~counter~0 1)} assume !(0 == ~cond); {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,805 INFO L290 TraceCheckUtils]: 11: Hoare triple {12055#(<= ~counter~0 1)} assume true; {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,805 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12055#(<= ~counter~0 1)} {12055#(<= ~counter~0 1)} #78#return; {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,806 INFO L272 TraceCheckUtils]: 13: Hoare triple {12055#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,806 INFO L290 TraceCheckUtils]: 14: Hoare triple {12055#(<= ~counter~0 1)} ~cond := #in~cond; {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,806 INFO L290 TraceCheckUtils]: 15: Hoare triple {12055#(<= ~counter~0 1)} assume !(0 == ~cond); {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,806 INFO L290 TraceCheckUtils]: 16: Hoare triple {12055#(<= ~counter~0 1)} assume true; {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,807 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {12055#(<= ~counter~0 1)} {12055#(<= ~counter~0 1)} #80#return; {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,807 INFO L272 TraceCheckUtils]: 18: Hoare triple {12055#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,807 INFO L290 TraceCheckUtils]: 19: Hoare triple {12055#(<= ~counter~0 1)} ~cond := #in~cond; {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,811 INFO L290 TraceCheckUtils]: 20: Hoare triple {12055#(<= ~counter~0 1)} assume !(0 == ~cond); {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,812 INFO L290 TraceCheckUtils]: 21: Hoare triple {12055#(<= ~counter~0 1)} assume true; {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,812 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12055#(<= ~counter~0 1)} {12055#(<= ~counter~0 1)} #82#return; {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,813 INFO L290 TraceCheckUtils]: 23: Hoare triple {12055#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12055#(<= ~counter~0 1)} is VALID [2022-04-08 06:42:32,814 INFO L290 TraceCheckUtils]: 24: Hoare triple {12055#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,814 INFO L290 TraceCheckUtils]: 25: Hoare triple {12110#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,814 INFO L272 TraceCheckUtils]: 26: Hoare triple {12110#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,815 INFO L290 TraceCheckUtils]: 27: Hoare triple {12110#(<= ~counter~0 2)} ~cond := #in~cond; {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,815 INFO L290 TraceCheckUtils]: 28: Hoare triple {12110#(<= ~counter~0 2)} assume !(0 == ~cond); {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,816 INFO L290 TraceCheckUtils]: 29: Hoare triple {12110#(<= ~counter~0 2)} assume true; {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,816 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {12110#(<= ~counter~0 2)} {12110#(<= ~counter~0 2)} #78#return; {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,817 INFO L272 TraceCheckUtils]: 31: Hoare triple {12110#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,817 INFO L290 TraceCheckUtils]: 32: Hoare triple {12110#(<= ~counter~0 2)} ~cond := #in~cond; {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,817 INFO L290 TraceCheckUtils]: 33: Hoare triple {12110#(<= ~counter~0 2)} assume !(0 == ~cond); {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,818 INFO L290 TraceCheckUtils]: 34: Hoare triple {12110#(<= ~counter~0 2)} assume true; {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,818 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {12110#(<= ~counter~0 2)} {12110#(<= ~counter~0 2)} #80#return; {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,819 INFO L272 TraceCheckUtils]: 36: Hoare triple {12110#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,819 INFO L290 TraceCheckUtils]: 37: Hoare triple {12110#(<= ~counter~0 2)} ~cond := #in~cond; {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,820 INFO L290 TraceCheckUtils]: 38: Hoare triple {12110#(<= ~counter~0 2)} assume !(0 == ~cond); {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,820 INFO L290 TraceCheckUtils]: 39: Hoare triple {12110#(<= ~counter~0 2)} assume true; {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,821 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12110#(<= ~counter~0 2)} {12110#(<= ~counter~0 2)} #82#return; {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,821 INFO L290 TraceCheckUtils]: 41: Hoare triple {12110#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12110#(<= ~counter~0 2)} is VALID [2022-04-08 06:42:32,822 INFO L290 TraceCheckUtils]: 42: Hoare triple {12110#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,822 INFO L290 TraceCheckUtils]: 43: Hoare triple {12165#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,823 INFO L272 TraceCheckUtils]: 44: Hoare triple {12165#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,823 INFO L290 TraceCheckUtils]: 45: Hoare triple {12165#(<= ~counter~0 3)} ~cond := #in~cond; {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,823 INFO L290 TraceCheckUtils]: 46: Hoare triple {12165#(<= ~counter~0 3)} assume !(0 == ~cond); {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,824 INFO L290 TraceCheckUtils]: 47: Hoare triple {12165#(<= ~counter~0 3)} assume true; {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,824 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {12165#(<= ~counter~0 3)} {12165#(<= ~counter~0 3)} #78#return; {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,825 INFO L272 TraceCheckUtils]: 49: Hoare triple {12165#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,825 INFO L290 TraceCheckUtils]: 50: Hoare triple {12165#(<= ~counter~0 3)} ~cond := #in~cond; {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,826 INFO L290 TraceCheckUtils]: 51: Hoare triple {12165#(<= ~counter~0 3)} assume !(0 == ~cond); {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,826 INFO L290 TraceCheckUtils]: 52: Hoare triple {12165#(<= ~counter~0 3)} assume true; {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,827 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {12165#(<= ~counter~0 3)} {12165#(<= ~counter~0 3)} #80#return; {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,827 INFO L272 TraceCheckUtils]: 54: Hoare triple {12165#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,827 INFO L290 TraceCheckUtils]: 55: Hoare triple {12165#(<= ~counter~0 3)} ~cond := #in~cond; {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,828 INFO L290 TraceCheckUtils]: 56: Hoare triple {12165#(<= ~counter~0 3)} assume !(0 == ~cond); {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,828 INFO L290 TraceCheckUtils]: 57: Hoare triple {12165#(<= ~counter~0 3)} assume true; {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,829 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12165#(<= ~counter~0 3)} {12165#(<= ~counter~0 3)} #82#return; {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,829 INFO L290 TraceCheckUtils]: 59: Hoare triple {12165#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {12165#(<= ~counter~0 3)} is VALID [2022-04-08 06:42:32,830 INFO L290 TraceCheckUtils]: 60: Hoare triple {12165#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,830 INFO L290 TraceCheckUtils]: 61: Hoare triple {12220#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,831 INFO L272 TraceCheckUtils]: 62: Hoare triple {12220#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,831 INFO L290 TraceCheckUtils]: 63: Hoare triple {12220#(<= ~counter~0 4)} ~cond := #in~cond; {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,832 INFO L290 TraceCheckUtils]: 64: Hoare triple {12220#(<= ~counter~0 4)} assume !(0 == ~cond); {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,832 INFO L290 TraceCheckUtils]: 65: Hoare triple {12220#(<= ~counter~0 4)} assume true; {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,833 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {12220#(<= ~counter~0 4)} {12220#(<= ~counter~0 4)} #84#return; {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,833 INFO L272 TraceCheckUtils]: 67: Hoare triple {12220#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,834 INFO L290 TraceCheckUtils]: 68: Hoare triple {12220#(<= ~counter~0 4)} ~cond := #in~cond; {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,834 INFO L290 TraceCheckUtils]: 69: Hoare triple {12220#(<= ~counter~0 4)} assume !(0 == ~cond); {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,834 INFO L290 TraceCheckUtils]: 70: Hoare triple {12220#(<= ~counter~0 4)} assume true; {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,835 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {12220#(<= ~counter~0 4)} {12220#(<= ~counter~0 4)} #86#return; {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,835 INFO L290 TraceCheckUtils]: 72: Hoare triple {12220#(<= ~counter~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,836 INFO L290 TraceCheckUtils]: 73: Hoare triple {12220#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12220#(<= ~counter~0 4)} is VALID [2022-04-08 06:42:32,836 INFO L290 TraceCheckUtils]: 74: Hoare triple {12220#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12263#(<= |main_#t~post6| 4)} is VALID [2022-04-08 06:42:32,837 INFO L290 TraceCheckUtils]: 75: Hoare triple {12263#(<= |main_#t~post6| 4)} assume !(#t~post6 < 20);havoc #t~post6; {12032#false} is VALID [2022-04-08 06:42:32,837 INFO L272 TraceCheckUtils]: 76: Hoare triple {12032#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12032#false} is VALID [2022-04-08 06:42:32,837 INFO L290 TraceCheckUtils]: 77: Hoare triple {12032#false} ~cond := #in~cond; {12032#false} is VALID [2022-04-08 06:42:32,837 INFO L290 TraceCheckUtils]: 78: Hoare triple {12032#false} assume 0 == ~cond; {12032#false} is VALID [2022-04-08 06:42:32,837 INFO L290 TraceCheckUtils]: 79: Hoare triple {12032#false} assume !false; {12032#false} is VALID [2022-04-08 06:42:32,837 INFO L134 CoverageAnalysis]: Checked inductivity of 262 backedges. 22 proven. 200 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-08 06:42:32,837 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:42:33,250 INFO L290 TraceCheckUtils]: 79: Hoare triple {12032#false} assume !false; {12032#false} is VALID [2022-04-08 06:42:33,251 INFO L290 TraceCheckUtils]: 78: Hoare triple {12032#false} assume 0 == ~cond; {12032#false} is VALID [2022-04-08 06:42:33,251 INFO L290 TraceCheckUtils]: 77: Hoare triple {12032#false} ~cond := #in~cond; {12032#false} is VALID [2022-04-08 06:42:33,251 INFO L272 TraceCheckUtils]: 76: Hoare triple {12032#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12032#false} is VALID [2022-04-08 06:42:33,251 INFO L290 TraceCheckUtils]: 75: Hoare triple {12291#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {12032#false} is VALID [2022-04-08 06:42:33,252 INFO L290 TraceCheckUtils]: 74: Hoare triple {12295#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12291#(< |main_#t~post6| 20)} is VALID [2022-04-08 06:42:33,252 INFO L290 TraceCheckUtils]: 73: Hoare triple {12295#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12295#(< ~counter~0 20)} is VALID [2022-04-08 06:42:33,252 INFO L290 TraceCheckUtils]: 72: Hoare triple {12295#(< ~counter~0 20)} 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); {12295#(< ~counter~0 20)} is VALID [2022-04-08 06:42:33,253 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {12031#true} {12295#(< ~counter~0 20)} #86#return; {12295#(< ~counter~0 20)} is VALID [2022-04-08 06:42:33,253 INFO L290 TraceCheckUtils]: 70: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-08 06:42:33,253 INFO L290 TraceCheckUtils]: 69: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-08 06:42:33,253 INFO L290 TraceCheckUtils]: 68: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-08 06:42:33,254 INFO L272 TraceCheckUtils]: 67: Hoare triple {12295#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12031#true} is VALID [2022-04-08 06:42:33,254 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {12031#true} {12295#(< ~counter~0 20)} #84#return; {12295#(< ~counter~0 20)} is VALID [2022-04-08 06:42:33,254 INFO L290 TraceCheckUtils]: 65: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-08 06:42:33,255 INFO L290 TraceCheckUtils]: 64: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-08 06:42:33,255 INFO L290 TraceCheckUtils]: 63: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-08 06:42:33,255 INFO L272 TraceCheckUtils]: 62: Hoare triple {12295#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {12031#true} is VALID [2022-04-08 06:42:33,255 INFO L290 TraceCheckUtils]: 61: Hoare triple {12295#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {12295#(< ~counter~0 20)} is VALID [2022-04-08 06:42:33,256 INFO L290 TraceCheckUtils]: 60: Hoare triple {12338#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12295#(< ~counter~0 20)} is VALID [2022-04-08 06:42:33,256 INFO L290 TraceCheckUtils]: 59: Hoare triple {12338#(< ~counter~0 19)} assume !(~r~0 >= ~d~0); {12338#(< ~counter~0 19)} is VALID [2022-04-08 06:42:33,257 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12031#true} {12338#(< ~counter~0 19)} #82#return; {12338#(< ~counter~0 19)} is VALID [2022-04-08 06:42:33,257 INFO L290 TraceCheckUtils]: 57: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-08 06:42:33,257 INFO L290 TraceCheckUtils]: 56: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-08 06:42:33,257 INFO L290 TraceCheckUtils]: 55: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-08 06:42:33,258 INFO L272 TraceCheckUtils]: 54: Hoare triple {12338#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12031#true} is VALID [2022-04-08 06:42:33,258 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {12031#true} {12338#(< ~counter~0 19)} #80#return; {12338#(< ~counter~0 19)} is VALID [2022-04-08 06:42:33,258 INFO L290 TraceCheckUtils]: 52: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-08 06:42:33,258 INFO L290 TraceCheckUtils]: 51: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-08 06:42:33,258 INFO L290 TraceCheckUtils]: 50: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-08 06:42:33,259 INFO L272 TraceCheckUtils]: 49: Hoare triple {12338#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12031#true} is VALID [2022-04-08 06:42:33,259 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {12031#true} {12338#(< ~counter~0 19)} #78#return; {12338#(< ~counter~0 19)} is VALID [2022-04-08 06:42:33,259 INFO L290 TraceCheckUtils]: 47: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-08 06:42:33,259 INFO L290 TraceCheckUtils]: 46: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-08 06:42:33,259 INFO L290 TraceCheckUtils]: 45: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-08 06:42:33,259 INFO L272 TraceCheckUtils]: 44: Hoare triple {12338#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12031#true} is VALID [2022-04-08 06:42:33,260 INFO L290 TraceCheckUtils]: 43: Hoare triple {12338#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {12338#(< ~counter~0 19)} is VALID [2022-04-08 06:42:33,261 INFO L290 TraceCheckUtils]: 42: Hoare triple {12393#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12338#(< ~counter~0 19)} is VALID [2022-04-08 06:42:33,261 INFO L290 TraceCheckUtils]: 41: Hoare triple {12393#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12393#(< ~counter~0 18)} is VALID [2022-04-08 06:42:33,262 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12031#true} {12393#(< ~counter~0 18)} #82#return; {12393#(< ~counter~0 18)} is VALID [2022-04-08 06:42:33,262 INFO L290 TraceCheckUtils]: 39: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-08 06:42:33,262 INFO L290 TraceCheckUtils]: 38: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-08 06:42:33,262 INFO L290 TraceCheckUtils]: 37: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-08 06:42:33,262 INFO L272 TraceCheckUtils]: 36: Hoare triple {12393#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12031#true} is VALID [2022-04-08 06:42:33,263 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {12031#true} {12393#(< ~counter~0 18)} #80#return; {12393#(< ~counter~0 18)} is VALID [2022-04-08 06:42:33,263 INFO L290 TraceCheckUtils]: 34: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-08 06:42:33,263 INFO L290 TraceCheckUtils]: 33: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-08 06:42:33,263 INFO L290 TraceCheckUtils]: 32: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-08 06:42:33,263 INFO L272 TraceCheckUtils]: 31: Hoare triple {12393#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12031#true} is VALID [2022-04-08 06:42:33,264 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {12031#true} {12393#(< ~counter~0 18)} #78#return; {12393#(< ~counter~0 18)} is VALID [2022-04-08 06:42:33,264 INFO L290 TraceCheckUtils]: 29: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-08 06:42:33,264 INFO L290 TraceCheckUtils]: 28: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-08 06:42:33,264 INFO L290 TraceCheckUtils]: 27: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-08 06:42:33,264 INFO L272 TraceCheckUtils]: 26: Hoare triple {12393#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12031#true} is VALID [2022-04-08 06:42:33,264 INFO L290 TraceCheckUtils]: 25: Hoare triple {12393#(< ~counter~0 18)} assume !!(#t~post5 < 20);havoc #t~post5; {12393#(< ~counter~0 18)} is VALID [2022-04-08 06:42:33,265 INFO L290 TraceCheckUtils]: 24: Hoare triple {12448#(< ~counter~0 17)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12393#(< ~counter~0 18)} is VALID [2022-04-08 06:42:33,266 INFO L290 TraceCheckUtils]: 23: Hoare triple {12448#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12448#(< ~counter~0 17)} is VALID [2022-04-08 06:42:33,266 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12031#true} {12448#(< ~counter~0 17)} #82#return; {12448#(< ~counter~0 17)} is VALID [2022-04-08 06:42:33,266 INFO L290 TraceCheckUtils]: 21: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-08 06:42:33,266 INFO L290 TraceCheckUtils]: 20: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-08 06:42:33,266 INFO L290 TraceCheckUtils]: 19: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-08 06:42:33,267 INFO L272 TraceCheckUtils]: 18: Hoare triple {12448#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {12031#true} is VALID [2022-04-08 06:42:33,267 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {12031#true} {12448#(< ~counter~0 17)} #80#return; {12448#(< ~counter~0 17)} is VALID [2022-04-08 06:42:33,267 INFO L290 TraceCheckUtils]: 16: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-08 06:42:33,267 INFO L290 TraceCheckUtils]: 15: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-08 06:42:33,267 INFO L290 TraceCheckUtils]: 14: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-08 06:42:33,268 INFO L272 TraceCheckUtils]: 13: Hoare triple {12448#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {12031#true} is VALID [2022-04-08 06:42:33,268 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {12031#true} {12448#(< ~counter~0 17)} #78#return; {12448#(< ~counter~0 17)} is VALID [2022-04-08 06:42:33,268 INFO L290 TraceCheckUtils]: 11: Hoare triple {12031#true} assume true; {12031#true} is VALID [2022-04-08 06:42:33,268 INFO L290 TraceCheckUtils]: 10: Hoare triple {12031#true} assume !(0 == ~cond); {12031#true} is VALID [2022-04-08 06:42:33,268 INFO L290 TraceCheckUtils]: 9: Hoare triple {12031#true} ~cond := #in~cond; {12031#true} is VALID [2022-04-08 06:42:33,268 INFO L272 TraceCheckUtils]: 8: Hoare triple {12448#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12031#true} is VALID [2022-04-08 06:42:33,269 INFO L290 TraceCheckUtils]: 7: Hoare triple {12448#(< ~counter~0 17)} assume !!(#t~post5 < 20);havoc #t~post5; {12448#(< ~counter~0 17)} is VALID [2022-04-08 06:42:33,270 INFO L290 TraceCheckUtils]: 6: Hoare triple {12503#(< ~counter~0 16)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {12448#(< ~counter~0 17)} is VALID [2022-04-08 06:42:33,270 INFO L290 TraceCheckUtils]: 5: Hoare triple {12503#(< ~counter~0 16)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {12503#(< ~counter~0 16)} is VALID [2022-04-08 06:42:33,270 INFO L272 TraceCheckUtils]: 4: Hoare triple {12503#(< ~counter~0 16)} call #t~ret7 := main(); {12503#(< ~counter~0 16)} is VALID [2022-04-08 06:42:33,271 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12503#(< ~counter~0 16)} {12031#true} #92#return; {12503#(< ~counter~0 16)} is VALID [2022-04-08 06:42:33,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {12503#(< ~counter~0 16)} assume true; {12503#(< ~counter~0 16)} is VALID [2022-04-08 06:42:33,272 INFO L290 TraceCheckUtils]: 1: Hoare triple {12031#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);~counter~0 := 0; {12503#(< ~counter~0 16)} is VALID [2022-04-08 06:42:33,272 INFO L272 TraceCheckUtils]: 0: Hoare triple {12031#true} call ULTIMATE.init(); {12031#true} is VALID [2022-04-08 06:42:33,272 INFO L134 CoverageAnalysis]: Checked inductivity of 262 backedges. 22 proven. 20 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-08 06:42:33,272 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:42:33,272 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [308172143] [2022-04-08 06:42:33,273 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:42:33,273 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1494478962] [2022-04-08 06:42:33,273 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1494478962] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:42:33,273 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:42:33,273 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-08 06:42:33,273 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:42:33,273 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [707264191] [2022-04-08 06:42:33,273 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [707264191] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:42:33,273 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:42:33,274 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 06:42:33,274 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1560132043] [2022-04-08 06:42:33,274 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:42:33,274 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-08 06:42:33,274 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:42:33,275 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 06:42:33,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:42:33,330 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 06:42:33,330 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:42:33,330 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 06:42:33,330 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-08 06:42:33,331 INFO L87 Difference]: Start difference. First operand 131 states and 154 transitions. Second operand has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 06:42:33,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:42:33,788 INFO L93 Difference]: Finished difference Result 181 states and 209 transitions. [2022-04-08 06:42:33,789 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 06:42:33,789 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-08 06:42:33,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:42:33,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 06:42:33,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 112 transitions. [2022-04-08 06:42:33,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 06:42:33,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 112 transitions. [2022-04-08 06:42:33,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 112 transitions. [2022-04-08 06:42:33,897 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:42:33,900 INFO L225 Difference]: With dead ends: 181 [2022-04-08 06:42:33,900 INFO L226 Difference]: Without dead ends: 166 [2022-04-08 06:42:33,900 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 147 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=81, Invalid=129, Unknown=0, NotChecked=0, Total=210 [2022-04-08 06:42:33,901 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 26 mSDsluCounter, 151 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 201 SdHoareTripleChecker+Invalid, 105 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:42:33,901 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 201 Invalid, 105 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:42:33,902 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states. [2022-04-08 06:42:34,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 163. [2022-04-08 06:42:34,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:42:34,064 INFO L82 GeneralOperation]: Start isEquivalent. First operand 166 states. Second operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 06:42:34,064 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 06:42:34,064 INFO L87 Difference]: Start difference. First operand 166 states. Second operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 06:42:34,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:42:34,068 INFO L93 Difference]: Finished difference Result 166 states and 192 transitions. [2022-04-08 06:42:34,068 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 192 transitions. [2022-04-08 06:42:34,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:42:34,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:42:34,069 INFO L74 IsIncluded]: Start isIncluded. First operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 166 states. [2022-04-08 06:42:34,069 INFO L87 Difference]: Start difference. First operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) Second operand 166 states. [2022-04-08 06:42:34,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:42:34,073 INFO L93 Difference]: Finished difference Result 166 states and 192 transitions. [2022-04-08 06:42:34,073 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 192 transitions. [2022-04-08 06:42:34,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:42:34,074 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:42:34,074 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:42:34,074 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:42:34,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 163 states, 106 states have (on average 1.1603773584905661) internal successors, (123), 110 states have internal predecessors, (123), 35 states have call successors, (35), 23 states have call predecessors, (35), 21 states have return successors, (32), 29 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-08 06:42:34,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 190 transitions. [2022-04-08 06:42:34,078 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 190 transitions. Word has length 80 [2022-04-08 06:42:34,078 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:42:34,079 INFO L478 AbstractCegarLoop]: Abstraction has 163 states and 190 transitions. [2022-04-08 06:42:34,079 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.125) internal successors, (33), 7 states have internal predecessors, (33), 7 states have call successors, (14), 7 states have call predecessors, (14), 5 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-08 06:42:34,079 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 163 states and 190 transitions. [2022-04-08 06:42:34,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 190 edges. 190 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:42:34,329 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 190 transitions. [2022-04-08 06:42:34,330 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 06:42:34,330 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:42:34,330 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:42:34,356 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-08 06:42:34,530 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 06:42:34,531 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:42:34,531 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:42:34,531 INFO L85 PathProgramCache]: Analyzing trace with hash 1999359456, now seen corresponding path program 5 times [2022-04-08 06:42:34,531 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:42:34,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [677065546] [2022-04-08 06:42:38,625 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:42:38,626 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:42:38,626 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:42:38,626 INFO L85 PathProgramCache]: Analyzing trace with hash 1999359456, now seen corresponding path program 6 times [2022-04-08 06:42:38,626 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:42:38,626 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1187612497] [2022-04-08 06:42:38,626 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:42:38,626 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:42:38,637 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:42:38,637 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [245691418] [2022-04-08 06:42:38,638 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 06:42:38,638 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:42:38,638 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:42:38,644 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:42:38,648 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-08 06:42:38,690 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 06:42:38,690 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:42:38,691 INFO L263 TraceCheckSpWp]: Trace formula consists of 145 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-08 06:42:38,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:42:38,707 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:42:39,494 INFO L272 TraceCheckUtils]: 0: Hoare triple {13546#true} call ULTIMATE.init(); {13546#true} is VALID [2022-04-08 06:42:39,495 INFO L290 TraceCheckUtils]: 1: Hoare triple {13546#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);~counter~0 := 0; {13546#true} is VALID [2022-04-08 06:42:39,495 INFO L290 TraceCheckUtils]: 2: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:42:39,495 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13546#true} {13546#true} #92#return; {13546#true} is VALID [2022-04-08 06:42:39,495 INFO L272 TraceCheckUtils]: 4: Hoare triple {13546#true} call #t~ret7 := main(); {13546#true} is VALID [2022-04-08 06:42:39,496 INFO L290 TraceCheckUtils]: 5: Hoare triple {13546#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,496 INFO L290 TraceCheckUtils]: 6: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,497 INFO L290 TraceCheckUtils]: 7: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,497 INFO L272 TraceCheckUtils]: 8: Hoare triple {13566#(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)); {13546#true} is VALID [2022-04-08 06:42:39,497 INFO L290 TraceCheckUtils]: 9: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:42:39,497 INFO L290 TraceCheckUtils]: 10: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:42:39,497 INFO L290 TraceCheckUtils]: 11: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:42:39,498 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,498 INFO L272 TraceCheckUtils]: 13: Hoare triple {13566#(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)); {13546#true} is VALID [2022-04-08 06:42:39,498 INFO L290 TraceCheckUtils]: 14: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:42:39,498 INFO L290 TraceCheckUtils]: 15: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:42:39,498 INFO L290 TraceCheckUtils]: 16: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:42:39,499 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,499 INFO L272 TraceCheckUtils]: 18: Hoare triple {13566#(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)); {13546#true} is VALID [2022-04-08 06:42:39,499 INFO L290 TraceCheckUtils]: 19: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:42:39,500 INFO L290 TraceCheckUtils]: 20: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:42:39,500 INFO L290 TraceCheckUtils]: 21: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:42:39,500 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,501 INFO L290 TraceCheckUtils]: 23: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,501 INFO L290 TraceCheckUtils]: 24: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,502 INFO L290 TraceCheckUtils]: 25: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,502 INFO L272 TraceCheckUtils]: 26: Hoare triple {13566#(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)); {13546#true} is VALID [2022-04-08 06:42:39,502 INFO L290 TraceCheckUtils]: 27: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:42:39,502 INFO L290 TraceCheckUtils]: 28: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:42:39,502 INFO L290 TraceCheckUtils]: 29: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:42:39,503 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #78#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,503 INFO L272 TraceCheckUtils]: 31: Hoare triple {13566#(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)); {13546#true} is VALID [2022-04-08 06:42:39,503 INFO L290 TraceCheckUtils]: 32: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:42:39,503 INFO L290 TraceCheckUtils]: 33: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:42:39,503 INFO L290 TraceCheckUtils]: 34: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:42:39,503 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,503 INFO L272 TraceCheckUtils]: 36: Hoare triple {13566#(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)); {13546#true} is VALID [2022-04-08 06:42:39,504 INFO L290 TraceCheckUtils]: 37: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:42:39,504 INFO L290 TraceCheckUtils]: 38: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:42:39,504 INFO L290 TraceCheckUtils]: 39: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:42:39,504 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {13546#true} {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,505 INFO L290 TraceCheckUtils]: 41: Hoare triple {13566#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:42:39,506 INFO L290 TraceCheckUtils]: 42: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:42:39,506 INFO L290 TraceCheckUtils]: 43: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !!(#t~post5 < 20);havoc #t~post5; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:42:39,506 INFO L272 TraceCheckUtils]: 44: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:42:39,506 INFO L290 TraceCheckUtils]: 45: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:42:39,506 INFO L290 TraceCheckUtils]: 46: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:42:39,506 INFO L290 TraceCheckUtils]: 47: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:42:39,507 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {13546#true} {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #78#return; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:42:39,507 INFO L272 TraceCheckUtils]: 49: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:42:39,507 INFO L290 TraceCheckUtils]: 50: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:42:39,507 INFO L290 TraceCheckUtils]: 51: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:42:39,508 INFO L290 TraceCheckUtils]: 52: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:42:39,508 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {13546#true} {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #80#return; {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:42:39,508 INFO L272 TraceCheckUtils]: 54: Hoare triple {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:42:39,521 INFO L290 TraceCheckUtils]: 55: Hoare triple {13546#true} ~cond := #in~cond; {13718#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:42:39,521 INFO L290 TraceCheckUtils]: 56: Hoare triple {13718#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:42:39,522 INFO L290 TraceCheckUtils]: 57: Hoare triple {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:42:39,522 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} {13675#(and (= main_~A~0 main_~r~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #82#return; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:42:39,523 INFO L290 TraceCheckUtils]: 59: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:42:39,523 INFO L290 TraceCheckUtils]: 60: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:42:39,524 INFO L290 TraceCheckUtils]: 61: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} assume !!(#t~post6 < 20);havoc #t~post6; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:42:39,524 INFO L272 TraceCheckUtils]: 62: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:42:39,524 INFO L290 TraceCheckUtils]: 63: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:42:39,524 INFO L290 TraceCheckUtils]: 64: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:42:39,524 INFO L290 TraceCheckUtils]: 65: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:42:39,525 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13546#true} {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #84#return; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:42:39,525 INFO L272 TraceCheckUtils]: 67: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:42:39,525 INFO L290 TraceCheckUtils]: 68: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:42:39,525 INFO L290 TraceCheckUtils]: 69: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:42:39,525 INFO L290 TraceCheckUtils]: 70: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:42:39,526 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {13546#true} {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} #86#return; {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:42:39,527 INFO L290 TraceCheckUtils]: 72: Hoare triple {13729#(and (= (* main_~B~0 main_~p~0) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= (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); {13772#(and (= (div (* main_~B~0 main_~p~0 2) 2) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-08 06:42:39,528 INFO L290 TraceCheckUtils]: 73: Hoare triple {13772#(and (= (div (* main_~B~0 main_~p~0 2) 2) main_~d~0) (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} is VALID [2022-04-08 06:42:39,529 INFO L290 TraceCheckUtils]: 74: Hoare triple {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} is VALID [2022-04-08 06:42:39,529 INFO L290 TraceCheckUtils]: 75: Hoare triple {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} is VALID [2022-04-08 06:42:39,530 INFO L272 TraceCheckUtils]: 76: Hoare triple {13776#(and (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) (div (* main_~B~0 main_~q~0 2) 2)) main_~A~0)))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {13786#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:42:39,530 INFO L290 TraceCheckUtils]: 77: Hoare triple {13786#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13790#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:42:39,531 INFO L290 TraceCheckUtils]: 78: Hoare triple {13790#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13547#false} is VALID [2022-04-08 06:42:39,531 INFO L290 TraceCheckUtils]: 79: Hoare triple {13547#false} assume !false; {13547#false} is VALID [2022-04-08 06:42:39,531 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 57 proven. 10 refuted. 0 times theorem prover too weak. 196 trivial. 0 not checked. [2022-04-08 06:42:39,531 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:44:01,864 INFO L290 TraceCheckUtils]: 79: Hoare triple {13547#false} assume !false; {13547#false} is VALID [2022-04-08 06:44:01,865 INFO L290 TraceCheckUtils]: 78: Hoare triple {13790#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13547#false} is VALID [2022-04-08 06:44:01,866 INFO L290 TraceCheckUtils]: 77: Hoare triple {13786#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13790#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:44:01,866 INFO L272 TraceCheckUtils]: 76: Hoare triple {13806#(= (+ (* 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)); {13786#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:44:01,867 INFO L290 TraceCheckUtils]: 75: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post6 < 20);havoc #t~post6; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,867 INFO L290 TraceCheckUtils]: 74: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,880 INFO L290 TraceCheckUtils]: 73: Hoare triple {13816#(= 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; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,897 INFO L290 TraceCheckUtils]: 72: Hoare triple {13820#(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); {13816#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 06:44:01,898 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {13546#true} {13820#(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; {13820#(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-08 06:44:01,898 INFO L290 TraceCheckUtils]: 70: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:44:01,898 INFO L290 TraceCheckUtils]: 69: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:44:01,898 INFO L290 TraceCheckUtils]: 68: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:44:01,899 INFO L272 TraceCheckUtils]: 67: Hoare triple {13820#(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)); {13546#true} is VALID [2022-04-08 06:44:01,899 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13546#true} {13820#(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; {13820#(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-08 06:44:01,899 INFO L290 TraceCheckUtils]: 65: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:44:01,899 INFO L290 TraceCheckUtils]: 64: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:44:01,899 INFO L290 TraceCheckUtils]: 63: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:44:01,899 INFO L272 TraceCheckUtils]: 62: Hoare triple {13820#(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)); {13546#true} is VALID [2022-04-08 06:44:01,900 INFO L290 TraceCheckUtils]: 61: Hoare triple {13820#(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 !!(#t~post6 < 20);havoc #t~post6; {13820#(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-08 06:44:01,901 INFO L290 TraceCheckUtils]: 60: Hoare triple {13820#(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))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13820#(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-08 06:44:01,902 INFO L290 TraceCheckUtils]: 59: Hoare triple {13820#(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); {13820#(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-08 06:44:01,903 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #82#return; {13820#(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-08 06:44:01,904 INFO L290 TraceCheckUtils]: 57: Hoare triple {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:44:01,904 INFO L290 TraceCheckUtils]: 56: Hoare triple {13873#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13722#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 06:44:01,904 INFO L290 TraceCheckUtils]: 55: Hoare triple {13546#true} ~cond := #in~cond; {13873#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 06:44:01,904 INFO L272 TraceCheckUtils]: 54: Hoare triple {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:44:01,905 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {13546#true} {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #80#return; {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-08 06:44:01,905 INFO L290 TraceCheckUtils]: 52: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:44:01,905 INFO L290 TraceCheckUtils]: 51: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:44:01,905 INFO L290 TraceCheckUtils]: 50: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:44:01,905 INFO L272 TraceCheckUtils]: 49: Hoare triple {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:44:01,906 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {13546#true} {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #78#return; {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-08 06:44:01,906 INFO L290 TraceCheckUtils]: 47: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:44:01,906 INFO L290 TraceCheckUtils]: 46: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:44:01,906 INFO L290 TraceCheckUtils]: 45: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:44:01,906 INFO L272 TraceCheckUtils]: 44: Hoare triple {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:44:01,908 INFO L290 TraceCheckUtils]: 43: Hoare triple {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} assume !!(#t~post5 < 20);havoc #t~post5; {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-08 06:44:01,909 INFO L290 TraceCheckUtils]: 42: Hoare triple {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-08 06:44:01,914 INFO L290 TraceCheckUtils]: 41: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13863#(or (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)))))))) (not (= (* main_~B~0 main_~p~0) main_~d~0)))} is VALID [2022-04-08 06:44:01,915 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #82#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,915 INFO L290 TraceCheckUtils]: 39: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:44:01,915 INFO L290 TraceCheckUtils]: 38: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:44:01,915 INFO L290 TraceCheckUtils]: 37: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:44:01,915 INFO L272 TraceCheckUtils]: 36: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:44:01,915 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #80#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,916 INFO L290 TraceCheckUtils]: 34: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:44:01,916 INFO L290 TraceCheckUtils]: 33: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:44:01,916 INFO L290 TraceCheckUtils]: 32: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:44:01,916 INFO L272 TraceCheckUtils]: 31: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:44:01,916 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #78#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,916 INFO L290 TraceCheckUtils]: 29: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:44:01,916 INFO L290 TraceCheckUtils]: 28: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:44:01,916 INFO L290 TraceCheckUtils]: 27: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:44:01,916 INFO L272 TraceCheckUtils]: 26: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:44:01,917 INFO L290 TraceCheckUtils]: 25: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post5 < 20);havoc #t~post5; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,917 INFO L290 TraceCheckUtils]: 24: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,918 INFO L290 TraceCheckUtils]: 23: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,918 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #82#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,918 INFO L290 TraceCheckUtils]: 21: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:44:01,918 INFO L290 TraceCheckUtils]: 20: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:44:01,918 INFO L290 TraceCheckUtils]: 19: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:44:01,918 INFO L272 TraceCheckUtils]: 18: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:44:01,919 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #80#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,919 INFO L290 TraceCheckUtils]: 16: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:44:01,919 INFO L290 TraceCheckUtils]: 15: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:44:01,919 INFO L290 TraceCheckUtils]: 14: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:44:01,919 INFO L272 TraceCheckUtils]: 13: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:44:01,920 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {13546#true} {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #78#return; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,920 INFO L290 TraceCheckUtils]: 11: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:44:01,920 INFO L290 TraceCheckUtils]: 10: Hoare triple {13546#true} assume !(0 == ~cond); {13546#true} is VALID [2022-04-08 06:44:01,920 INFO L290 TraceCheckUtils]: 9: Hoare triple {13546#true} ~cond := #in~cond; {13546#true} is VALID [2022-04-08 06:44:01,920 INFO L272 TraceCheckUtils]: 8: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13546#true} is VALID [2022-04-08 06:44:01,920 INFO L290 TraceCheckUtils]: 7: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post5 < 20);havoc #t~post5; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,921 INFO L290 TraceCheckUtils]: 6: Hoare triple {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {13546#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {13806#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:01,921 INFO L272 TraceCheckUtils]: 4: Hoare triple {13546#true} call #t~ret7 := main(); {13546#true} is VALID [2022-04-08 06:44:01,921 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13546#true} {13546#true} #92#return; {13546#true} is VALID [2022-04-08 06:44:01,921 INFO L290 TraceCheckUtils]: 2: Hoare triple {13546#true} assume true; {13546#true} is VALID [2022-04-08 06:44:01,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {13546#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);~counter~0 := 0; {13546#true} is VALID [2022-04-08 06:44:01,921 INFO L272 TraceCheckUtils]: 0: Hoare triple {13546#true} call ULTIMATE.init(); {13546#true} is VALID [2022-04-08 06:44:01,922 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 45 proven. 22 refuted. 0 times theorem prover too weak. 196 trivial. 0 not checked. [2022-04-08 06:44:01,922 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:44:01,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1187612497] [2022-04-08 06:44:01,922 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:44:01,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [245691418] [2022-04-08 06:44:01,922 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [245691418] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:44:01,922 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:44:01,923 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-08 06:44:01,923 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:44:01,923 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [677065546] [2022-04-08 06:44:01,923 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [677065546] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:44:01,923 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:44:01,923 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 06:44:01,923 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1571686105] [2022-04-08 06:44:01,923 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:44:01,924 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 80 [2022-04-08 06:44:01,924 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:44:01,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 06:44:01,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:44:01,981 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 06:44:01,981 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:44:01,982 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 06:44:01,982 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2022-04-08 06:44:01,982 INFO L87 Difference]: Start difference. First operand 163 states and 190 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 06:44:04,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:44:04,863 INFO L93 Difference]: Finished difference Result 193 states and 224 transitions. [2022-04-08 06:44:04,863 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 06:44:04,863 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 80 [2022-04-08 06:44:04,863 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:44:04,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 06:44:04,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 06:44:04,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 06:44:04,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-08 06:44:04,868 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-08 06:44:04,982 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:44:04,986 INFO L225 Difference]: With dead ends: 193 [2022-04-08 06:44:04,986 INFO L226 Difference]: Without dead ends: 173 [2022-04-08 06:44:04,986 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 144 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 5.4s TimeCoverageRelationStatistics Valid=70, Invalid=235, Unknown=1, NotChecked=0, Total=306 [2022-04-08 06:44:04,987 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 45 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 195 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 230 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 195 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 06:44:04,987 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [57 Valid, 116 Invalid, 230 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 195 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 06:44:04,987 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-08 06:44:05,175 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 169. [2022-04-08 06:44:05,175 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:44:05,175 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 06:44:05,176 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 06:44:05,176 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 06:44:05,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:44:05,180 INFO L93 Difference]: Finished difference Result 173 states and 201 transitions. [2022-04-08 06:44:05,180 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 201 transitions. [2022-04-08 06:44:05,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:44:05,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:44:05,181 INFO L74 IsIncluded]: Start isIncluded. First operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 173 states. [2022-04-08 06:44:05,181 INFO L87 Difference]: Start difference. First operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) Second operand 173 states. [2022-04-08 06:44:05,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:44:05,184 INFO L93 Difference]: Finished difference Result 173 states and 201 transitions. [2022-04-08 06:44:05,185 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 201 transitions. [2022-04-08 06:44:05,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:44:05,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:44:05,185 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:44:05,185 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:44:05,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 169 states, 111 states have (on average 1.1531531531531531) internal successors, (128), 115 states have internal predecessors, (128), 35 states have call successors, (35), 23 states have call predecessors, (35), 22 states have return successors, (33), 30 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-08 06:44:05,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 196 transitions. [2022-04-08 06:44:05,189 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 196 transitions. Word has length 80 [2022-04-08 06:44:05,189 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:44:05,189 INFO L478 AbstractCegarLoop]: Abstraction has 169 states and 196 transitions. [2022-04-08 06:44:05,189 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 10 states have internal predecessors, (25), 5 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-08 06:44:05,189 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 169 states and 196 transitions. [2022-04-08 06:44:05,471 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 196 edges. 196 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:44:05,472 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 196 transitions. [2022-04-08 06:44:05,473 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-08 06:44:05,473 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:44:05,473 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:44:05,499 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-08 06:44:05,673 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:44:05,674 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:44:05,674 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:44:05,674 INFO L85 PathProgramCache]: Analyzing trace with hash 1035991527, now seen corresponding path program 3 times [2022-04-08 06:44:05,674 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:44:05,674 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1592050304] [2022-04-08 06:44:07,294 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:44:07,294 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:44:07,294 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:44:07,294 INFO L85 PathProgramCache]: Analyzing trace with hash 1035991527, now seen corresponding path program 4 times [2022-04-08 06:44:07,295 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:44:07,295 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [684263035] [2022-04-08 06:44:07,295 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:44:07,295 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:44:07,314 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:44:07,314 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2109348129] [2022-04-08 06:44:07,314 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:44:07,314 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:44:07,315 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:44:07,320 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:44:07,321 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-08 06:44:07,379 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:44:07,379 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:44:07,380 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 06:44:07,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:44:07,396 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:44:09,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {15115#true} call ULTIMATE.init(); {15115#true} is VALID [2022-04-08 06:44:09,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {15115#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);~counter~0 := 0; {15115#true} is VALID [2022-04-08 06:44:09,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,233 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15115#true} {15115#true} #92#return; {15115#true} is VALID [2022-04-08 06:44:09,233 INFO L272 TraceCheckUtils]: 4: Hoare triple {15115#true} call #t~ret7 := main(); {15115#true} is VALID [2022-04-08 06:44:09,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {15115#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {15115#true} is VALID [2022-04-08 06:44:09,233 INFO L290 TraceCheckUtils]: 6: Hoare triple {15115#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15115#true} is VALID [2022-04-08 06:44:09,233 INFO L290 TraceCheckUtils]: 7: Hoare triple {15115#true} assume !!(#t~post5 < 20);havoc #t~post5; {15115#true} is VALID [2022-04-08 06:44:09,233 INFO L272 TraceCheckUtils]: 8: Hoare triple {15115#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,233 INFO L290 TraceCheckUtils]: 10: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,233 INFO L290 TraceCheckUtils]: 11: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,233 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {15115#true} {15115#true} #78#return; {15115#true} is VALID [2022-04-08 06:44:09,233 INFO L272 TraceCheckUtils]: 13: Hoare triple {15115#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,234 INFO L290 TraceCheckUtils]: 14: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,234 INFO L290 TraceCheckUtils]: 15: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,234 INFO L290 TraceCheckUtils]: 16: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,234 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {15115#true} {15115#true} #80#return; {15115#true} is VALID [2022-04-08 06:44:09,234 INFO L272 TraceCheckUtils]: 18: Hoare triple {15115#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,234 INFO L290 TraceCheckUtils]: 19: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,234 INFO L290 TraceCheckUtils]: 20: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,234 INFO L290 TraceCheckUtils]: 21: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,234 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {15115#true} {15115#true} #82#return; {15115#true} is VALID [2022-04-08 06:44:09,236 INFO L290 TraceCheckUtils]: 23: Hoare triple {15115#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 06:44:09,236 INFO L290 TraceCheckUtils]: 24: Hoare triple {15189#(= (mod main_~p~0 2) 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 06:44:09,236 INFO L290 TraceCheckUtils]: 25: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume !!(#t~post5 < 20);havoc #t~post5; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 06:44:09,236 INFO L272 TraceCheckUtils]: 26: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,236 INFO L290 TraceCheckUtils]: 27: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,237 INFO L290 TraceCheckUtils]: 28: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,237 INFO L290 TraceCheckUtils]: 29: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,237 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #78#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 06:44:09,237 INFO L272 TraceCheckUtils]: 31: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,237 INFO L290 TraceCheckUtils]: 32: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,238 INFO L290 TraceCheckUtils]: 33: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,238 INFO L290 TraceCheckUtils]: 34: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,238 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #80#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 06:44:09,238 INFO L272 TraceCheckUtils]: 36: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,238 INFO L290 TraceCheckUtils]: 37: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,238 INFO L290 TraceCheckUtils]: 38: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,239 INFO L290 TraceCheckUtils]: 39: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,239 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #82#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 06:44:09,240 INFO L290 TraceCheckUtils]: 41: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:44:09,241 INFO L290 TraceCheckUtils]: 42: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:44:09,241 INFO L290 TraceCheckUtils]: 43: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !!(#t~post5 < 20);havoc #t~post5; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:44:09,242 INFO L272 TraceCheckUtils]: 44: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,242 INFO L290 TraceCheckUtils]: 45: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,242 INFO L290 TraceCheckUtils]: 46: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,242 INFO L290 TraceCheckUtils]: 47: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,242 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #78#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:44:09,242 INFO L272 TraceCheckUtils]: 49: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,243 INFO L290 TraceCheckUtils]: 50: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,243 INFO L290 TraceCheckUtils]: 51: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,243 INFO L290 TraceCheckUtils]: 52: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,243 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #80#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:44:09,243 INFO L272 TraceCheckUtils]: 54: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,244 INFO L290 TraceCheckUtils]: 55: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,244 INFO L290 TraceCheckUtils]: 56: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,244 INFO L290 TraceCheckUtils]: 57: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,244 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #82#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:44:09,245 INFO L290 TraceCheckUtils]: 59: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !(~r~0 >= ~d~0); {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:44:09,245 INFO L290 TraceCheckUtils]: 60: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:44:09,246 INFO L290 TraceCheckUtils]: 61: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} assume !!(#t~post6 < 20);havoc #t~post6; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:44:09,246 INFO L272 TraceCheckUtils]: 62: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,246 INFO L290 TraceCheckUtils]: 63: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,246 INFO L290 TraceCheckUtils]: 64: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,246 INFO L290 TraceCheckUtils]: 65: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,247 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #84#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:44:09,247 INFO L272 TraceCheckUtils]: 67: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,247 INFO L290 TraceCheckUtils]: 68: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,247 INFO L290 TraceCheckUtils]: 69: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,247 INFO L290 TraceCheckUtils]: 70: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,248 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {15115#true} {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} #86#return; {15244#(and (= (mod (div (- main_~p~0) (- 2)) 2) 0) (= (mod main_~p~0 2) 0))} is VALID [2022-04-08 06:44:09,250 INFO L290 TraceCheckUtils]: 72: Hoare triple {15244#(and (= (mod (div (- main_~p~0) (- 2)) 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); {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 06:44:09,250 INFO L290 TraceCheckUtils]: 73: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 06:44:09,250 INFO L290 TraceCheckUtils]: 74: Hoare triple {15189#(= (mod main_~p~0 2) 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 06:44:09,251 INFO L290 TraceCheckUtils]: 75: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume !!(#t~post6 < 20);havoc #t~post6; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 06:44:09,251 INFO L272 TraceCheckUtils]: 76: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,251 INFO L290 TraceCheckUtils]: 77: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,251 INFO L290 TraceCheckUtils]: 78: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,251 INFO L290 TraceCheckUtils]: 79: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,252 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #84#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 06:44:09,252 INFO L272 TraceCheckUtils]: 81: Hoare triple {15189#(= (mod main_~p~0 2) 0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,252 INFO L290 TraceCheckUtils]: 82: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,252 INFO L290 TraceCheckUtils]: 83: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,252 INFO L290 TraceCheckUtils]: 84: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,253 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {15115#true} {15189#(= (mod main_~p~0 2) 0)} #86#return; {15189#(= (mod main_~p~0 2) 0)} is VALID [2022-04-08 06:44:09,253 INFO L290 TraceCheckUtils]: 86: Hoare triple {15189#(= (mod main_~p~0 2) 0)} assume !(1 != ~p~0); {15116#false} is VALID [2022-04-08 06:44:09,253 INFO L272 TraceCheckUtils]: 87: Hoare triple {15116#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {15116#false} is VALID [2022-04-08 06:44:09,253 INFO L290 TraceCheckUtils]: 88: Hoare triple {15116#false} ~cond := #in~cond; {15116#false} is VALID [2022-04-08 06:44:09,253 INFO L290 TraceCheckUtils]: 89: Hoare triple {15116#false} assume 0 == ~cond; {15116#false} is VALID [2022-04-08 06:44:09,254 INFO L290 TraceCheckUtils]: 90: Hoare triple {15116#false} assume !false; {15116#false} is VALID [2022-04-08 06:44:09,254 INFO L134 CoverageAnalysis]: Checked inductivity of 361 backedges. 44 proven. 5 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 06:44:09,254 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:44:09,529 INFO L290 TraceCheckUtils]: 90: Hoare triple {15116#false} assume !false; {15116#false} is VALID [2022-04-08 06:44:09,529 INFO L290 TraceCheckUtils]: 89: Hoare triple {15116#false} assume 0 == ~cond; {15116#false} is VALID [2022-04-08 06:44:09,529 INFO L290 TraceCheckUtils]: 88: Hoare triple {15116#false} ~cond := #in~cond; {15116#false} is VALID [2022-04-08 06:44:09,529 INFO L272 TraceCheckUtils]: 87: Hoare triple {15116#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {15116#false} is VALID [2022-04-08 06:44:09,529 INFO L290 TraceCheckUtils]: 86: Hoare triple {15404#(not (= main_~p~0 1))} assume !(1 != ~p~0); {15116#false} is VALID [2022-04-08 06:44:09,530 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #86#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-08 06:44:09,530 INFO L290 TraceCheckUtils]: 84: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,530 INFO L290 TraceCheckUtils]: 83: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,530 INFO L290 TraceCheckUtils]: 82: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,530 INFO L272 TraceCheckUtils]: 81: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,530 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #84#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-08 06:44:09,531 INFO L290 TraceCheckUtils]: 79: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,531 INFO L290 TraceCheckUtils]: 78: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,531 INFO L290 TraceCheckUtils]: 77: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,531 INFO L272 TraceCheckUtils]: 76: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,531 INFO L290 TraceCheckUtils]: 75: Hoare triple {15404#(not (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {15404#(not (= main_~p~0 1))} is VALID [2022-04-08 06:44:09,531 INFO L290 TraceCheckUtils]: 74: Hoare triple {15404#(not (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15404#(not (= main_~p~0 1))} is VALID [2022-04-08 06:44:09,532 INFO L290 TraceCheckUtils]: 73: Hoare triple {15404#(not (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15404#(not (= main_~p~0 1))} is VALID [2022-04-08 06:44:09,533 INFO L290 TraceCheckUtils]: 72: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15404#(not (= main_~p~0 1))} is VALID [2022-04-08 06:44:09,533 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #86#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 06:44:09,533 INFO L290 TraceCheckUtils]: 70: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,533 INFO L290 TraceCheckUtils]: 69: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,533 INFO L290 TraceCheckUtils]: 68: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,533 INFO L272 TraceCheckUtils]: 67: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,534 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #84#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 06:44:09,534 INFO L290 TraceCheckUtils]: 65: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,534 INFO L290 TraceCheckUtils]: 64: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,534 INFO L290 TraceCheckUtils]: 63: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,534 INFO L272 TraceCheckUtils]: 62: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,534 INFO L290 TraceCheckUtils]: 61: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} assume !!(#t~post6 < 20);havoc #t~post6; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 06:44:09,535 INFO L290 TraceCheckUtils]: 60: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 06:44:09,535 INFO L290 TraceCheckUtils]: 59: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} assume !(~r~0 >= ~d~0); {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 06:44:09,535 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #82#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 06:44:09,535 INFO L290 TraceCheckUtils]: 57: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,536 INFO L290 TraceCheckUtils]: 56: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,536 INFO L290 TraceCheckUtils]: 55: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,536 INFO L272 TraceCheckUtils]: 54: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,536 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #80#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 06:44:09,536 INFO L290 TraceCheckUtils]: 52: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,536 INFO L290 TraceCheckUtils]: 51: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,536 INFO L290 TraceCheckUtils]: 50: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,536 INFO L272 TraceCheckUtils]: 49: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,537 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {15115#true} {15447#(not (= (div main_~p~0 2) 1))} #78#return; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 06:44:09,537 INFO L290 TraceCheckUtils]: 47: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,537 INFO L290 TraceCheckUtils]: 46: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,537 INFO L290 TraceCheckUtils]: 45: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,537 INFO L272 TraceCheckUtils]: 44: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,537 INFO L290 TraceCheckUtils]: 43: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} assume !!(#t~post5 < 20);havoc #t~post5; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 06:44:09,538 INFO L290 TraceCheckUtils]: 42: Hoare triple {15447#(not (= (div main_~p~0 2) 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 06:44:09,538 INFO L290 TraceCheckUtils]: 41: Hoare triple {15404#(not (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15447#(not (= (div main_~p~0 2) 1))} is VALID [2022-04-08 06:44:09,539 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #82#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-08 06:44:09,539 INFO L290 TraceCheckUtils]: 39: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,539 INFO L290 TraceCheckUtils]: 38: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,539 INFO L290 TraceCheckUtils]: 37: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,539 INFO L272 TraceCheckUtils]: 36: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,540 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #80#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-08 06:44:09,540 INFO L290 TraceCheckUtils]: 34: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,540 INFO L290 TraceCheckUtils]: 33: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,540 INFO L290 TraceCheckUtils]: 32: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,540 INFO L272 TraceCheckUtils]: 31: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,543 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {15115#true} {15404#(not (= main_~p~0 1))} #78#return; {15404#(not (= main_~p~0 1))} is VALID [2022-04-08 06:44:09,544 INFO L290 TraceCheckUtils]: 29: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,544 INFO L290 TraceCheckUtils]: 28: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,544 INFO L290 TraceCheckUtils]: 27: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,544 INFO L272 TraceCheckUtils]: 26: Hoare triple {15404#(not (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,544 INFO L290 TraceCheckUtils]: 25: Hoare triple {15404#(not (= main_~p~0 1))} assume !!(#t~post5 < 20);havoc #t~post5; {15404#(not (= main_~p~0 1))} is VALID [2022-04-08 06:44:09,545 INFO L290 TraceCheckUtils]: 24: Hoare triple {15404#(not (= main_~p~0 1))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15404#(not (= main_~p~0 1))} is VALID [2022-04-08 06:44:09,545 INFO L290 TraceCheckUtils]: 23: Hoare triple {15115#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15404#(not (= main_~p~0 1))} is VALID [2022-04-08 06:44:09,545 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {15115#true} {15115#true} #82#return; {15115#true} is VALID [2022-04-08 06:44:09,545 INFO L290 TraceCheckUtils]: 21: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,546 INFO L290 TraceCheckUtils]: 20: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,546 INFO L290 TraceCheckUtils]: 19: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,546 INFO L272 TraceCheckUtils]: 18: Hoare triple {15115#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,546 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {15115#true} {15115#true} #80#return; {15115#true} is VALID [2022-04-08 06:44:09,546 INFO L290 TraceCheckUtils]: 16: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,546 INFO L290 TraceCheckUtils]: 15: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,546 INFO L290 TraceCheckUtils]: 14: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,546 INFO L272 TraceCheckUtils]: 13: Hoare triple {15115#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,546 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {15115#true} {15115#true} #78#return; {15115#true} is VALID [2022-04-08 06:44:09,546 INFO L290 TraceCheckUtils]: 11: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,546 INFO L290 TraceCheckUtils]: 10: Hoare triple {15115#true} assume !(0 == ~cond); {15115#true} is VALID [2022-04-08 06:44:09,547 INFO L290 TraceCheckUtils]: 9: Hoare triple {15115#true} ~cond := #in~cond; {15115#true} is VALID [2022-04-08 06:44:09,547 INFO L272 TraceCheckUtils]: 8: Hoare triple {15115#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15115#true} is VALID [2022-04-08 06:44:09,547 INFO L290 TraceCheckUtils]: 7: Hoare triple {15115#true} assume !!(#t~post5 < 20);havoc #t~post5; {15115#true} is VALID [2022-04-08 06:44:09,547 INFO L290 TraceCheckUtils]: 6: Hoare triple {15115#true} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {15115#true} is VALID [2022-04-08 06:44:09,547 INFO L290 TraceCheckUtils]: 5: Hoare triple {15115#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {15115#true} is VALID [2022-04-08 06:44:09,547 INFO L272 TraceCheckUtils]: 4: Hoare triple {15115#true} call #t~ret7 := main(); {15115#true} is VALID [2022-04-08 06:44:09,547 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15115#true} {15115#true} #92#return; {15115#true} is VALID [2022-04-08 06:44:09,547 INFO L290 TraceCheckUtils]: 2: Hoare triple {15115#true} assume true; {15115#true} is VALID [2022-04-08 06:44:09,547 INFO L290 TraceCheckUtils]: 1: Hoare triple {15115#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);~counter~0 := 0; {15115#true} is VALID [2022-04-08 06:44:09,547 INFO L272 TraceCheckUtils]: 0: Hoare triple {15115#true} call ULTIMATE.init(); {15115#true} is VALID [2022-04-08 06:44:09,548 INFO L134 CoverageAnalysis]: Checked inductivity of 361 backedges. 38 proven. 11 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 06:44:09,548 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:44:09,548 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [684263035] [2022-04-08 06:44:09,548 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:44:09,548 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2109348129] [2022-04-08 06:44:09,548 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2109348129] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:44:09,549 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:44:09,549 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 6 [2022-04-08 06:44:09,549 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:44:09,549 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1592050304] [2022-04-08 06:44:09,549 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1592050304] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:44:09,549 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:44:09,549 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-08 06:44:09,549 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [428940018] [2022-04-08 06:44:09,549 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:44:09,550 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 91 [2022-04-08 06:44:09,550 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:44:09,550 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 06:44:09,601 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:44:09,601 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-08 06:44:09,601 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:44:09,601 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-08 06:44:09,601 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:44:09,602 INFO L87 Difference]: Start difference. First operand 169 states and 196 transitions. Second operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 06:44:09,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:44:09,885 INFO L93 Difference]: Finished difference Result 197 states and 235 transitions. [2022-04-08 06:44:09,885 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-08 06:44:09,885 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 91 [2022-04-08 06:44:09,886 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:44:09,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 06:44:09,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 87 transitions. [2022-04-08 06:44:09,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 06:44:09,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 87 transitions. [2022-04-08 06:44:09,890 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 87 transitions. [2022-04-08 06:44:09,962 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:44:09,966 INFO L225 Difference]: With dead ends: 197 [2022-04-08 06:44:09,966 INFO L226 Difference]: Without dead ends: 184 [2022-04-08 06:44:09,966 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 181 GetRequests, 175 SyntacticMatches, 2 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-04-08 06:44:09,967 INFO L913 BasicCegarLoop]: 60 mSDtfsCounter, 7 mSDsluCounter, 39 mSDsCounter, 0 mSdLazyCounter, 21 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 99 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 21 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 06:44:09,967 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 99 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 21 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 06:44:09,968 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 184 states. [2022-04-08 06:44:10,115 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 184 to 180. [2022-04-08 06:44:10,115 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:44:10,115 INFO L82 GeneralOperation]: Start isEquivalent. First operand 184 states. Second operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 06:44:10,116 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 06:44:10,116 INFO L87 Difference]: Start difference. First operand 184 states. Second operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 06:44:10,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:44:10,120 INFO L93 Difference]: Finished difference Result 184 states and 220 transitions. [2022-04-08 06:44:10,120 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 220 transitions. [2022-04-08 06:44:10,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:44:10,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:44:10,121 INFO L74 IsIncluded]: Start isIncluded. First operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 184 states. [2022-04-08 06:44:10,122 INFO L87 Difference]: Start difference. First operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 184 states. [2022-04-08 06:44:10,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:44:10,126 INFO L93 Difference]: Finished difference Result 184 states and 220 transitions. [2022-04-08 06:44:10,126 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 220 transitions. [2022-04-08 06:44:10,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:44:10,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:44:10,127 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:44:10,127 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:44:10,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 180 states, 118 states have (on average 1.1694915254237288) internal successors, (138), 122 states have internal predecessors, (138), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 06:44:10,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 180 states to 180 states and 214 transitions. [2022-04-08 06:44:10,131 INFO L78 Accepts]: Start accepts. Automaton has 180 states and 214 transitions. Word has length 91 [2022-04-08 06:44:10,131 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:44:10,132 INFO L478 AbstractCegarLoop]: Abstraction has 180 states and 214 transitions. [2022-04-08 06:44:10,132 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.25) internal successors, (25), 4 states have internal predecessors, (25), 4 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-08 06:44:10,132 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 180 states and 214 transitions. [2022-04-08 06:44:10,396 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 214 edges. 214 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:44:10,396 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 214 transitions. [2022-04-08 06:44:10,397 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-08 06:44:10,397 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:44:10,397 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 5, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:44:10,414 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-08 06:44:10,598 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:44:10,598 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:44:10,598 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:44:10,598 INFO L85 PathProgramCache]: Analyzing trace with hash 1432051402, now seen corresponding path program 7 times [2022-04-08 06:44:10,598 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:44:10,598 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2026061870] [2022-04-08 06:44:14,684 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:44:14,685 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:44:14,685 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:44:14,685 INFO L85 PathProgramCache]: Analyzing trace with hash 1432051402, now seen corresponding path program 8 times [2022-04-08 06:44:14,685 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:44:14,685 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1968417464] [2022-04-08 06:44:14,685 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:44:14,685 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:44:14,694 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:44:14,694 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1176278363] [2022-04-08 06:44:14,694 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:44:14,694 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:44:14,694 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:44:14,696 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:44:14,697 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-08 06:44:14,746 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:44:14,746 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:44:14,747 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-08 06:44:14,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:44:14,766 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:44:15,113 INFO L272 TraceCheckUtils]: 0: Hoare triple {16788#true} call ULTIMATE.init(); {16788#true} is VALID [2022-04-08 06:44:15,114 INFO L290 TraceCheckUtils]: 1: Hoare triple {16788#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);~counter~0 := 0; {16796#(<= ~counter~0 0)} is VALID [2022-04-08 06:44:15,114 INFO L290 TraceCheckUtils]: 2: Hoare triple {16796#(<= ~counter~0 0)} assume true; {16796#(<= ~counter~0 0)} is VALID [2022-04-08 06:44:15,115 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16796#(<= ~counter~0 0)} {16788#true} #92#return; {16796#(<= ~counter~0 0)} is VALID [2022-04-08 06:44:15,115 INFO L272 TraceCheckUtils]: 4: Hoare triple {16796#(<= ~counter~0 0)} call #t~ret7 := main(); {16796#(<= ~counter~0 0)} is VALID [2022-04-08 06:44:15,115 INFO L290 TraceCheckUtils]: 5: Hoare triple {16796#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {16796#(<= ~counter~0 0)} is VALID [2022-04-08 06:44:15,116 INFO L290 TraceCheckUtils]: 6: Hoare triple {16796#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,116 INFO L290 TraceCheckUtils]: 7: Hoare triple {16812#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,117 INFO L272 TraceCheckUtils]: 8: Hoare triple {16812#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,117 INFO L290 TraceCheckUtils]: 9: Hoare triple {16812#(<= ~counter~0 1)} ~cond := #in~cond; {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,118 INFO L290 TraceCheckUtils]: 10: Hoare triple {16812#(<= ~counter~0 1)} assume !(0 == ~cond); {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,118 INFO L290 TraceCheckUtils]: 11: Hoare triple {16812#(<= ~counter~0 1)} assume true; {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,118 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {16812#(<= ~counter~0 1)} {16812#(<= ~counter~0 1)} #78#return; {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,119 INFO L272 TraceCheckUtils]: 13: Hoare triple {16812#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {16812#(<= ~counter~0 1)} ~cond := #in~cond; {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,119 INFO L290 TraceCheckUtils]: 15: Hoare triple {16812#(<= ~counter~0 1)} assume !(0 == ~cond); {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,119 INFO L290 TraceCheckUtils]: 16: Hoare triple {16812#(<= ~counter~0 1)} assume true; {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,120 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {16812#(<= ~counter~0 1)} {16812#(<= ~counter~0 1)} #80#return; {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,120 INFO L272 TraceCheckUtils]: 18: Hoare triple {16812#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,121 INFO L290 TraceCheckUtils]: 19: Hoare triple {16812#(<= ~counter~0 1)} ~cond := #in~cond; {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,121 INFO L290 TraceCheckUtils]: 20: Hoare triple {16812#(<= ~counter~0 1)} assume !(0 == ~cond); {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,121 INFO L290 TraceCheckUtils]: 21: Hoare triple {16812#(<= ~counter~0 1)} assume true; {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,122 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16812#(<= ~counter~0 1)} {16812#(<= ~counter~0 1)} #82#return; {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,122 INFO L290 TraceCheckUtils]: 23: Hoare triple {16812#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16812#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:15,123 INFO L290 TraceCheckUtils]: 24: Hoare triple {16812#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,123 INFO L290 TraceCheckUtils]: 25: Hoare triple {16867#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,123 INFO L272 TraceCheckUtils]: 26: Hoare triple {16867#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,124 INFO L290 TraceCheckUtils]: 27: Hoare triple {16867#(<= ~counter~0 2)} ~cond := #in~cond; {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,124 INFO L290 TraceCheckUtils]: 28: Hoare triple {16867#(<= ~counter~0 2)} assume !(0 == ~cond); {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,124 INFO L290 TraceCheckUtils]: 29: Hoare triple {16867#(<= ~counter~0 2)} assume true; {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,125 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {16867#(<= ~counter~0 2)} {16867#(<= ~counter~0 2)} #78#return; {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,125 INFO L272 TraceCheckUtils]: 31: Hoare triple {16867#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,125 INFO L290 TraceCheckUtils]: 32: Hoare triple {16867#(<= ~counter~0 2)} ~cond := #in~cond; {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,126 INFO L290 TraceCheckUtils]: 33: Hoare triple {16867#(<= ~counter~0 2)} assume !(0 == ~cond); {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,126 INFO L290 TraceCheckUtils]: 34: Hoare triple {16867#(<= ~counter~0 2)} assume true; {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,126 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {16867#(<= ~counter~0 2)} {16867#(<= ~counter~0 2)} #80#return; {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,127 INFO L272 TraceCheckUtils]: 36: Hoare triple {16867#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,127 INFO L290 TraceCheckUtils]: 37: Hoare triple {16867#(<= ~counter~0 2)} ~cond := #in~cond; {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,127 INFO L290 TraceCheckUtils]: 38: Hoare triple {16867#(<= ~counter~0 2)} assume !(0 == ~cond); {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,128 INFO L290 TraceCheckUtils]: 39: Hoare triple {16867#(<= ~counter~0 2)} assume true; {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,128 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16867#(<= ~counter~0 2)} {16867#(<= ~counter~0 2)} #82#return; {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,128 INFO L290 TraceCheckUtils]: 41: Hoare triple {16867#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16867#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:15,129 INFO L290 TraceCheckUtils]: 42: Hoare triple {16867#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,129 INFO L290 TraceCheckUtils]: 43: Hoare triple {16922#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,130 INFO L272 TraceCheckUtils]: 44: Hoare triple {16922#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,131 INFO L290 TraceCheckUtils]: 45: Hoare triple {16922#(<= ~counter~0 3)} ~cond := #in~cond; {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,131 INFO L290 TraceCheckUtils]: 46: Hoare triple {16922#(<= ~counter~0 3)} assume !(0 == ~cond); {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,132 INFO L290 TraceCheckUtils]: 47: Hoare triple {16922#(<= ~counter~0 3)} assume true; {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,132 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {16922#(<= ~counter~0 3)} {16922#(<= ~counter~0 3)} #78#return; {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,133 INFO L272 TraceCheckUtils]: 49: Hoare triple {16922#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,133 INFO L290 TraceCheckUtils]: 50: Hoare triple {16922#(<= ~counter~0 3)} ~cond := #in~cond; {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,133 INFO L290 TraceCheckUtils]: 51: Hoare triple {16922#(<= ~counter~0 3)} assume !(0 == ~cond); {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,134 INFO L290 TraceCheckUtils]: 52: Hoare triple {16922#(<= ~counter~0 3)} assume true; {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,134 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {16922#(<= ~counter~0 3)} {16922#(<= ~counter~0 3)} #80#return; {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,135 INFO L272 TraceCheckUtils]: 54: Hoare triple {16922#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,135 INFO L290 TraceCheckUtils]: 55: Hoare triple {16922#(<= ~counter~0 3)} ~cond := #in~cond; {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,135 INFO L290 TraceCheckUtils]: 56: Hoare triple {16922#(<= ~counter~0 3)} assume !(0 == ~cond); {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,135 INFO L290 TraceCheckUtils]: 57: Hoare triple {16922#(<= ~counter~0 3)} assume true; {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,136 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16922#(<= ~counter~0 3)} {16922#(<= ~counter~0 3)} #82#return; {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,136 INFO L290 TraceCheckUtils]: 59: Hoare triple {16922#(<= ~counter~0 3)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16922#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:15,137 INFO L290 TraceCheckUtils]: 60: Hoare triple {16922#(<= ~counter~0 3)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,137 INFO L290 TraceCheckUtils]: 61: Hoare triple {16977#(<= ~counter~0 4)} assume !!(#t~post5 < 20);havoc #t~post5; {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,138 INFO L272 TraceCheckUtils]: 62: Hoare triple {16977#(<= ~counter~0 4)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,138 INFO L290 TraceCheckUtils]: 63: Hoare triple {16977#(<= ~counter~0 4)} ~cond := #in~cond; {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,138 INFO L290 TraceCheckUtils]: 64: Hoare triple {16977#(<= ~counter~0 4)} assume !(0 == ~cond); {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,138 INFO L290 TraceCheckUtils]: 65: Hoare triple {16977#(<= ~counter~0 4)} assume true; {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,139 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16977#(<= ~counter~0 4)} {16977#(<= ~counter~0 4)} #78#return; {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,139 INFO L272 TraceCheckUtils]: 67: Hoare triple {16977#(<= ~counter~0 4)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,140 INFO L290 TraceCheckUtils]: 68: Hoare triple {16977#(<= ~counter~0 4)} ~cond := #in~cond; {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,140 INFO L290 TraceCheckUtils]: 69: Hoare triple {16977#(<= ~counter~0 4)} assume !(0 == ~cond); {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,140 INFO L290 TraceCheckUtils]: 70: Hoare triple {16977#(<= ~counter~0 4)} assume true; {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,141 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16977#(<= ~counter~0 4)} {16977#(<= ~counter~0 4)} #80#return; {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,141 INFO L272 TraceCheckUtils]: 72: Hoare triple {16977#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,141 INFO L290 TraceCheckUtils]: 73: Hoare triple {16977#(<= ~counter~0 4)} ~cond := #in~cond; {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,142 INFO L290 TraceCheckUtils]: 74: Hoare triple {16977#(<= ~counter~0 4)} assume !(0 == ~cond); {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,142 INFO L290 TraceCheckUtils]: 75: Hoare triple {16977#(<= ~counter~0 4)} assume true; {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,142 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {16977#(<= ~counter~0 4)} {16977#(<= ~counter~0 4)} #82#return; {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,143 INFO L290 TraceCheckUtils]: 77: Hoare triple {16977#(<= ~counter~0 4)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {16977#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:15,143 INFO L290 TraceCheckUtils]: 78: Hoare triple {16977#(<= ~counter~0 4)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17032#(<= |main_#t~post5| 4)} is VALID [2022-04-08 06:44:15,143 INFO L290 TraceCheckUtils]: 79: Hoare triple {17032#(<= |main_#t~post5| 4)} assume !(#t~post5 < 20);havoc #t~post5; {16789#false} is VALID [2022-04-08 06:44:15,144 INFO L290 TraceCheckUtils]: 80: Hoare triple {16789#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16789#false} is VALID [2022-04-08 06:44:15,144 INFO L290 TraceCheckUtils]: 81: Hoare triple {16789#false} assume !(#t~post6 < 20);havoc #t~post6; {16789#false} is VALID [2022-04-08 06:44:15,144 INFO L272 TraceCheckUtils]: 82: Hoare triple {16789#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {16789#false} is VALID [2022-04-08 06:44:15,144 INFO L290 TraceCheckUtils]: 83: Hoare triple {16789#false} ~cond := #in~cond; {16789#false} is VALID [2022-04-08 06:44:15,144 INFO L290 TraceCheckUtils]: 84: Hoare triple {16789#false} assume !(0 == ~cond); {16789#false} is VALID [2022-04-08 06:44:15,144 INFO L290 TraceCheckUtils]: 85: Hoare triple {16789#false} assume true; {16789#false} is VALID [2022-04-08 06:44:15,144 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16789#false} {16789#false} #88#return; {16789#false} is VALID [2022-04-08 06:44:15,144 INFO L272 TraceCheckUtils]: 87: Hoare triple {16789#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {16789#false} is VALID [2022-04-08 06:44:15,144 INFO L290 TraceCheckUtils]: 88: Hoare triple {16789#false} ~cond := #in~cond; {16789#false} is VALID [2022-04-08 06:44:15,144 INFO L290 TraceCheckUtils]: 89: Hoare triple {16789#false} assume 0 == ~cond; {16789#false} is VALID [2022-04-08 06:44:15,144 INFO L290 TraceCheckUtils]: 90: Hoare triple {16789#false} assume !false; {16789#false} is VALID [2022-04-08 06:44:15,145 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 72 proven. 260 refuted. 0 times theorem prover too weak. 50 trivial. 0 not checked. [2022-04-08 06:44:15,145 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:44:15,502 INFO L290 TraceCheckUtils]: 90: Hoare triple {16789#false} assume !false; {16789#false} is VALID [2022-04-08 06:44:15,502 INFO L290 TraceCheckUtils]: 89: Hoare triple {16789#false} assume 0 == ~cond; {16789#false} is VALID [2022-04-08 06:44:15,502 INFO L290 TraceCheckUtils]: 88: Hoare triple {16789#false} ~cond := #in~cond; {16789#false} is VALID [2022-04-08 06:44:15,502 INFO L272 TraceCheckUtils]: 87: Hoare triple {16789#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {16789#false} is VALID [2022-04-08 06:44:15,502 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {16788#true} {16789#false} #88#return; {16789#false} is VALID [2022-04-08 06:44:15,502 INFO L290 TraceCheckUtils]: 85: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,502 INFO L290 TraceCheckUtils]: 84: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,502 INFO L290 TraceCheckUtils]: 83: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,503 INFO L272 TraceCheckUtils]: 82: Hoare triple {16789#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,503 INFO L290 TraceCheckUtils]: 81: Hoare triple {16789#false} assume !(#t~post6 < 20);havoc #t~post6; {16789#false} is VALID [2022-04-08 06:44:15,503 INFO L290 TraceCheckUtils]: 80: Hoare triple {16789#false} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {16789#false} is VALID [2022-04-08 06:44:15,503 INFO L290 TraceCheckUtils]: 79: Hoare triple {17102#(< |main_#t~post5| 20)} assume !(#t~post5 < 20);havoc #t~post5; {16789#false} is VALID [2022-04-08 06:44:15,504 INFO L290 TraceCheckUtils]: 78: Hoare triple {17106#(< ~counter~0 20)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17102#(< |main_#t~post5| 20)} is VALID [2022-04-08 06:44:15,504 INFO L290 TraceCheckUtils]: 77: Hoare triple {17106#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17106#(< ~counter~0 20)} is VALID [2022-04-08 06:44:15,504 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {16788#true} {17106#(< ~counter~0 20)} #82#return; {17106#(< ~counter~0 20)} is VALID [2022-04-08 06:44:15,505 INFO L290 TraceCheckUtils]: 75: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,505 INFO L290 TraceCheckUtils]: 74: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,505 INFO L290 TraceCheckUtils]: 73: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,505 INFO L272 TraceCheckUtils]: 72: Hoare triple {17106#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,505 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16788#true} {17106#(< ~counter~0 20)} #80#return; {17106#(< ~counter~0 20)} is VALID [2022-04-08 06:44:15,505 INFO L290 TraceCheckUtils]: 70: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,505 INFO L290 TraceCheckUtils]: 69: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,505 INFO L290 TraceCheckUtils]: 68: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,505 INFO L272 TraceCheckUtils]: 67: Hoare triple {17106#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,506 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16788#true} {17106#(< ~counter~0 20)} #78#return; {17106#(< ~counter~0 20)} is VALID [2022-04-08 06:44:15,506 INFO L290 TraceCheckUtils]: 65: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,506 INFO L290 TraceCheckUtils]: 64: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,506 INFO L290 TraceCheckUtils]: 63: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,506 INFO L272 TraceCheckUtils]: 62: Hoare triple {17106#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,506 INFO L290 TraceCheckUtils]: 61: Hoare triple {17106#(< ~counter~0 20)} assume !!(#t~post5 < 20);havoc #t~post5; {17106#(< ~counter~0 20)} is VALID [2022-04-08 06:44:15,507 INFO L290 TraceCheckUtils]: 60: Hoare triple {17161#(< ~counter~0 19)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17106#(< ~counter~0 20)} is VALID [2022-04-08 06:44:15,508 INFO L290 TraceCheckUtils]: 59: Hoare triple {17161#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17161#(< ~counter~0 19)} is VALID [2022-04-08 06:44:15,508 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16788#true} {17161#(< ~counter~0 19)} #82#return; {17161#(< ~counter~0 19)} is VALID [2022-04-08 06:44:15,508 INFO L290 TraceCheckUtils]: 57: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,508 INFO L290 TraceCheckUtils]: 56: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,508 INFO L290 TraceCheckUtils]: 55: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,508 INFO L272 TraceCheckUtils]: 54: Hoare triple {17161#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,509 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {16788#true} {17161#(< ~counter~0 19)} #80#return; {17161#(< ~counter~0 19)} is VALID [2022-04-08 06:44:15,509 INFO L290 TraceCheckUtils]: 52: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,509 INFO L290 TraceCheckUtils]: 51: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,509 INFO L290 TraceCheckUtils]: 50: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,509 INFO L272 TraceCheckUtils]: 49: Hoare triple {17161#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,509 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {16788#true} {17161#(< ~counter~0 19)} #78#return; {17161#(< ~counter~0 19)} is VALID [2022-04-08 06:44:15,509 INFO L290 TraceCheckUtils]: 47: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,510 INFO L290 TraceCheckUtils]: 46: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,510 INFO L290 TraceCheckUtils]: 45: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,510 INFO L272 TraceCheckUtils]: 44: Hoare triple {17161#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,510 INFO L290 TraceCheckUtils]: 43: Hoare triple {17161#(< ~counter~0 19)} assume !!(#t~post5 < 20);havoc #t~post5; {17161#(< ~counter~0 19)} is VALID [2022-04-08 06:44:15,510 INFO L290 TraceCheckUtils]: 42: Hoare triple {17216#(< ~counter~0 18)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17161#(< ~counter~0 19)} is VALID [2022-04-08 06:44:15,511 INFO L290 TraceCheckUtils]: 41: Hoare triple {17216#(< ~counter~0 18)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17216#(< ~counter~0 18)} is VALID [2022-04-08 06:44:15,511 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16788#true} {17216#(< ~counter~0 18)} #82#return; {17216#(< ~counter~0 18)} is VALID [2022-04-08 06:44:15,511 INFO L290 TraceCheckUtils]: 39: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,511 INFO L290 TraceCheckUtils]: 38: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,511 INFO L290 TraceCheckUtils]: 37: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,512 INFO L272 TraceCheckUtils]: 36: Hoare triple {17216#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,512 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {16788#true} {17216#(< ~counter~0 18)} #80#return; {17216#(< ~counter~0 18)} is VALID [2022-04-08 06:44:15,512 INFO L290 TraceCheckUtils]: 34: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,512 INFO L290 TraceCheckUtils]: 33: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,512 INFO L290 TraceCheckUtils]: 32: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,512 INFO L272 TraceCheckUtils]: 31: Hoare triple {17216#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,513 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {16788#true} {17216#(< ~counter~0 18)} #78#return; {17216#(< ~counter~0 18)} is VALID [2022-04-08 06:44:15,513 INFO L290 TraceCheckUtils]: 29: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,513 INFO L290 TraceCheckUtils]: 28: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,513 INFO L290 TraceCheckUtils]: 27: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,513 INFO L272 TraceCheckUtils]: 26: Hoare triple {17216#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,513 INFO L290 TraceCheckUtils]: 25: Hoare triple {17216#(< ~counter~0 18)} assume !!(#t~post5 < 20);havoc #t~post5; {17216#(< ~counter~0 18)} is VALID [2022-04-08 06:44:15,514 INFO L290 TraceCheckUtils]: 24: Hoare triple {17271#(< ~counter~0 17)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17216#(< ~counter~0 18)} is VALID [2022-04-08 06:44:15,514 INFO L290 TraceCheckUtils]: 23: Hoare triple {17271#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {17271#(< ~counter~0 17)} is VALID [2022-04-08 06:44:15,515 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16788#true} {17271#(< ~counter~0 17)} #82#return; {17271#(< ~counter~0 17)} is VALID [2022-04-08 06:44:15,515 INFO L290 TraceCheckUtils]: 21: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,515 INFO L290 TraceCheckUtils]: 20: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,515 INFO L290 TraceCheckUtils]: 19: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,515 INFO L272 TraceCheckUtils]: 18: Hoare triple {17271#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,515 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {16788#true} {17271#(< ~counter~0 17)} #80#return; {17271#(< ~counter~0 17)} is VALID [2022-04-08 06:44:15,516 INFO L290 TraceCheckUtils]: 16: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,516 INFO L290 TraceCheckUtils]: 15: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,516 INFO L290 TraceCheckUtils]: 14: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,516 INFO L272 TraceCheckUtils]: 13: Hoare triple {17271#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,516 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {16788#true} {17271#(< ~counter~0 17)} #78#return; {17271#(< ~counter~0 17)} is VALID [2022-04-08 06:44:15,516 INFO L290 TraceCheckUtils]: 11: Hoare triple {16788#true} assume true; {16788#true} is VALID [2022-04-08 06:44:15,516 INFO L290 TraceCheckUtils]: 10: Hoare triple {16788#true} assume !(0 == ~cond); {16788#true} is VALID [2022-04-08 06:44:15,516 INFO L290 TraceCheckUtils]: 9: Hoare triple {16788#true} ~cond := #in~cond; {16788#true} is VALID [2022-04-08 06:44:15,516 INFO L272 TraceCheckUtils]: 8: Hoare triple {17271#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {16788#true} is VALID [2022-04-08 06:44:15,517 INFO L290 TraceCheckUtils]: 7: Hoare triple {17271#(< ~counter~0 17)} assume !!(#t~post5 < 20);havoc #t~post5; {17271#(< ~counter~0 17)} is VALID [2022-04-08 06:44:15,517 INFO L290 TraceCheckUtils]: 6: Hoare triple {17326#(< ~counter~0 16)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {17271#(< ~counter~0 17)} is VALID [2022-04-08 06:44:15,518 INFO L290 TraceCheckUtils]: 5: Hoare triple {17326#(< ~counter~0 16)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {17326#(< ~counter~0 16)} is VALID [2022-04-08 06:44:15,518 INFO L272 TraceCheckUtils]: 4: Hoare triple {17326#(< ~counter~0 16)} call #t~ret7 := main(); {17326#(< ~counter~0 16)} is VALID [2022-04-08 06:44:15,518 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17326#(< ~counter~0 16)} {16788#true} #92#return; {17326#(< ~counter~0 16)} is VALID [2022-04-08 06:44:15,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {17326#(< ~counter~0 16)} assume true; {17326#(< ~counter~0 16)} is VALID [2022-04-08 06:44:15,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {16788#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);~counter~0 := 0; {17326#(< ~counter~0 16)} is VALID [2022-04-08 06:44:15,519 INFO L272 TraceCheckUtils]: 0: Hoare triple {16788#true} call ULTIMATE.init(); {16788#true} is VALID [2022-04-08 06:44:15,519 INFO L134 CoverageAnalysis]: Checked inductivity of 382 backedges. 26 proven. 44 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 06:44:15,520 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:44:15,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1968417464] [2022-04-08 06:44:15,520 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:44:15,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1176278363] [2022-04-08 06:44:15,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1176278363] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:44:15,520 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:44:15,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-08 06:44:15,521 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:44:15,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2026061870] [2022-04-08 06:44:15,521 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2026061870] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:44:15,521 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:44:15,521 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 06:44:15,521 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1838433666] [2022-04-08 06:44:15,521 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:44:15,521 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 91 [2022-04-08 06:44:15,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:44:15,522 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:44:15,574 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:44:15,575 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 06:44:15,575 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:44:15,575 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 06:44:15,575 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-08 06:44:15,575 INFO L87 Difference]: Start difference. First operand 180 states and 214 transitions. Second operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:44:16,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:44:16,012 INFO L93 Difference]: Finished difference Result 242 states and 300 transitions. [2022-04-08 06:44:16,012 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 06:44:16,013 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 91 [2022-04-08 06:44:16,013 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:44:16,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:44:16,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 117 transitions. [2022-04-08 06:44:16,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:44:16,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 117 transitions. [2022-04-08 06:44:16,016 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 117 transitions. [2022-04-08 06:44:16,119 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:44:16,123 INFO L225 Difference]: With dead ends: 242 [2022-04-08 06:44:16,123 INFO L226 Difference]: Without dead ends: 182 [2022-04-08 06:44:16,124 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 185 GetRequests, 169 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-08 06:44:16,124 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 11 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 72 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 76 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 72 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:44:16,124 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 195 Invalid, 76 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:44:16,125 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 182 states. [2022-04-08 06:44:16,302 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 182 to 182. [2022-04-08 06:44:16,303 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:44:16,304 INFO L82 GeneralOperation]: Start isEquivalent. First operand 182 states. Second operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 06:44:16,304 INFO L74 IsIncluded]: Start isIncluded. First operand 182 states. Second operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 06:44:16,305 INFO L87 Difference]: Start difference. First operand 182 states. Second operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 06:44:16,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:44:16,308 INFO L93 Difference]: Finished difference Result 182 states and 216 transitions. [2022-04-08 06:44:16,309 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 216 transitions. [2022-04-08 06:44:16,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:44:16,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:44:16,309 INFO L74 IsIncluded]: Start isIncluded. First operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 182 states. [2022-04-08 06:44:16,310 INFO L87 Difference]: Start difference. First operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) Second operand 182 states. [2022-04-08 06:44:16,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:44:16,313 INFO L93 Difference]: Finished difference Result 182 states and 216 transitions. [2022-04-08 06:44:16,313 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 216 transitions. [2022-04-08 06:44:16,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:44:16,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:44:16,314 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:44:16,314 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:44:16,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 182 states, 120 states have (on average 1.1666666666666667) internal successors, (140), 124 states have internal predecessors, (140), 39 states have call successors, (39), 23 states have call predecessors, (39), 22 states have return successors, (37), 34 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 06:44:16,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 182 states to 182 states and 216 transitions. [2022-04-08 06:44:16,318 INFO L78 Accepts]: Start accepts. Automaton has 182 states and 216 transitions. Word has length 91 [2022-04-08 06:44:16,318 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:44:16,318 INFO L478 AbstractCegarLoop]: Abstraction has 182 states and 216 transitions. [2022-04-08 06:44:16,319 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.5) internal successors, (36), 7 states have internal predecessors, (36), 7 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:44:16,319 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 182 states and 216 transitions. [2022-04-08 06:44:16,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 216 edges. 216 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:44:16,632 INFO L276 IsEmpty]: Start isEmpty. Operand 182 states and 216 transitions. [2022-04-08 06:44:16,633 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 06:44:16,633 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:44:16,633 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:44:16,661 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-08 06:44:16,834 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:44:16,834 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:44:16,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:44:16,835 INFO L85 PathProgramCache]: Analyzing trace with hash -614243194, now seen corresponding path program 5 times [2022-04-08 06:44:16,835 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:44:16,835 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1235062643] [2022-04-08 06:44:20,936 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:44:20,936 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:44:20,936 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:44:20,936 INFO L85 PathProgramCache]: Analyzing trace with hash -614243194, now seen corresponding path program 6 times [2022-04-08 06:44:20,937 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:44:20,937 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1561777302] [2022-04-08 06:44:20,937 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:44:20,937 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:44:20,948 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:44:20,948 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [774711911] [2022-04-08 06:44:20,948 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 06:44:20,949 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:44:20,949 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:44:20,954 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:44:20,964 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-08 06:44:21,047 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 06:44:21,047 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:44:21,048 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 06:44:21,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:44:21,066 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:44:21,426 INFO L272 TraceCheckUtils]: 0: Hoare triple {18567#true} call ULTIMATE.init(); {18567#true} is VALID [2022-04-08 06:44:21,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {18567#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);~counter~0 := 0; {18575#(<= ~counter~0 0)} is VALID [2022-04-08 06:44:21,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {18575#(<= ~counter~0 0)} assume true; {18575#(<= ~counter~0 0)} is VALID [2022-04-08 06:44:21,427 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18575#(<= ~counter~0 0)} {18567#true} #92#return; {18575#(<= ~counter~0 0)} is VALID [2022-04-08 06:44:21,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {18575#(<= ~counter~0 0)} call #t~ret7 := main(); {18575#(<= ~counter~0 0)} is VALID [2022-04-08 06:44:21,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {18575#(<= ~counter~0 0)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {18575#(<= ~counter~0 0)} is VALID [2022-04-08 06:44:21,429 INFO L290 TraceCheckUtils]: 6: Hoare triple {18575#(<= ~counter~0 0)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,429 INFO L290 TraceCheckUtils]: 7: Hoare triple {18591#(<= ~counter~0 1)} assume !!(#t~post5 < 20);havoc #t~post5; {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,429 INFO L272 TraceCheckUtils]: 8: Hoare triple {18591#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,430 INFO L290 TraceCheckUtils]: 9: Hoare triple {18591#(<= ~counter~0 1)} ~cond := #in~cond; {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,430 INFO L290 TraceCheckUtils]: 10: Hoare triple {18591#(<= ~counter~0 1)} assume !(0 == ~cond); {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,430 INFO L290 TraceCheckUtils]: 11: Hoare triple {18591#(<= ~counter~0 1)} assume true; {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,430 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {18591#(<= ~counter~0 1)} {18591#(<= ~counter~0 1)} #78#return; {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,431 INFO L272 TraceCheckUtils]: 13: Hoare triple {18591#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {18591#(<= ~counter~0 1)} ~cond := #in~cond; {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {18591#(<= ~counter~0 1)} assume !(0 == ~cond); {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,432 INFO L290 TraceCheckUtils]: 16: Hoare triple {18591#(<= ~counter~0 1)} assume true; {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,432 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {18591#(<= ~counter~0 1)} {18591#(<= ~counter~0 1)} #80#return; {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,433 INFO L272 TraceCheckUtils]: 18: Hoare triple {18591#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,433 INFO L290 TraceCheckUtils]: 19: Hoare triple {18591#(<= ~counter~0 1)} ~cond := #in~cond; {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,433 INFO L290 TraceCheckUtils]: 20: Hoare triple {18591#(<= ~counter~0 1)} assume !(0 == ~cond); {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,433 INFO L290 TraceCheckUtils]: 21: Hoare triple {18591#(<= ~counter~0 1)} assume true; {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,434 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {18591#(<= ~counter~0 1)} {18591#(<= ~counter~0 1)} #82#return; {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,434 INFO L290 TraceCheckUtils]: 23: Hoare triple {18591#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18591#(<= ~counter~0 1)} is VALID [2022-04-08 06:44:21,435 INFO L290 TraceCheckUtils]: 24: Hoare triple {18591#(<= ~counter~0 1)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,435 INFO L290 TraceCheckUtils]: 25: Hoare triple {18646#(<= ~counter~0 2)} assume !!(#t~post5 < 20);havoc #t~post5; {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,435 INFO L272 TraceCheckUtils]: 26: Hoare triple {18646#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,436 INFO L290 TraceCheckUtils]: 27: Hoare triple {18646#(<= ~counter~0 2)} ~cond := #in~cond; {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,436 INFO L290 TraceCheckUtils]: 28: Hoare triple {18646#(<= ~counter~0 2)} assume !(0 == ~cond); {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,436 INFO L290 TraceCheckUtils]: 29: Hoare triple {18646#(<= ~counter~0 2)} assume true; {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,437 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {18646#(<= ~counter~0 2)} {18646#(<= ~counter~0 2)} #78#return; {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,437 INFO L272 TraceCheckUtils]: 31: Hoare triple {18646#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,437 INFO L290 TraceCheckUtils]: 32: Hoare triple {18646#(<= ~counter~0 2)} ~cond := #in~cond; {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,438 INFO L290 TraceCheckUtils]: 33: Hoare triple {18646#(<= ~counter~0 2)} assume !(0 == ~cond); {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,438 INFO L290 TraceCheckUtils]: 34: Hoare triple {18646#(<= ~counter~0 2)} assume true; {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,438 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {18646#(<= ~counter~0 2)} {18646#(<= ~counter~0 2)} #80#return; {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,439 INFO L272 TraceCheckUtils]: 36: Hoare triple {18646#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,439 INFO L290 TraceCheckUtils]: 37: Hoare triple {18646#(<= ~counter~0 2)} ~cond := #in~cond; {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,439 INFO L290 TraceCheckUtils]: 38: Hoare triple {18646#(<= ~counter~0 2)} assume !(0 == ~cond); {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,440 INFO L290 TraceCheckUtils]: 39: Hoare triple {18646#(<= ~counter~0 2)} assume true; {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,440 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {18646#(<= ~counter~0 2)} {18646#(<= ~counter~0 2)} #82#return; {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,440 INFO L290 TraceCheckUtils]: 41: Hoare triple {18646#(<= ~counter~0 2)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {18646#(<= ~counter~0 2)} is VALID [2022-04-08 06:44:21,441 INFO L290 TraceCheckUtils]: 42: Hoare triple {18646#(<= ~counter~0 2)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,441 INFO L290 TraceCheckUtils]: 43: Hoare triple {18701#(<= ~counter~0 3)} assume !!(#t~post5 < 20);havoc #t~post5; {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,442 INFO L272 TraceCheckUtils]: 44: Hoare triple {18701#(<= ~counter~0 3)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,442 INFO L290 TraceCheckUtils]: 45: Hoare triple {18701#(<= ~counter~0 3)} ~cond := #in~cond; {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,442 INFO L290 TraceCheckUtils]: 46: Hoare triple {18701#(<= ~counter~0 3)} assume !(0 == ~cond); {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,443 INFO L290 TraceCheckUtils]: 47: Hoare triple {18701#(<= ~counter~0 3)} assume true; {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,443 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {18701#(<= ~counter~0 3)} {18701#(<= ~counter~0 3)} #78#return; {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,443 INFO L272 TraceCheckUtils]: 49: Hoare triple {18701#(<= ~counter~0 3)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,444 INFO L290 TraceCheckUtils]: 50: Hoare triple {18701#(<= ~counter~0 3)} ~cond := #in~cond; {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,444 INFO L290 TraceCheckUtils]: 51: Hoare triple {18701#(<= ~counter~0 3)} assume !(0 == ~cond); {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,444 INFO L290 TraceCheckUtils]: 52: Hoare triple {18701#(<= ~counter~0 3)} assume true; {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,445 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {18701#(<= ~counter~0 3)} {18701#(<= ~counter~0 3)} #80#return; {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,445 INFO L272 TraceCheckUtils]: 54: Hoare triple {18701#(<= ~counter~0 3)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,445 INFO L290 TraceCheckUtils]: 55: Hoare triple {18701#(<= ~counter~0 3)} ~cond := #in~cond; {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,446 INFO L290 TraceCheckUtils]: 56: Hoare triple {18701#(<= ~counter~0 3)} assume !(0 == ~cond); {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,446 INFO L290 TraceCheckUtils]: 57: Hoare triple {18701#(<= ~counter~0 3)} assume true; {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,446 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {18701#(<= ~counter~0 3)} {18701#(<= ~counter~0 3)} #82#return; {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,447 INFO L290 TraceCheckUtils]: 59: Hoare triple {18701#(<= ~counter~0 3)} assume !(~r~0 >= ~d~0); {18701#(<= ~counter~0 3)} is VALID [2022-04-08 06:44:21,447 INFO L290 TraceCheckUtils]: 60: Hoare triple {18701#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,448 INFO L290 TraceCheckUtils]: 61: Hoare triple {18756#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,448 INFO L272 TraceCheckUtils]: 62: Hoare triple {18756#(<= ~counter~0 4)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,448 INFO L290 TraceCheckUtils]: 63: Hoare triple {18756#(<= ~counter~0 4)} ~cond := #in~cond; {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,449 INFO L290 TraceCheckUtils]: 64: Hoare triple {18756#(<= ~counter~0 4)} assume !(0 == ~cond); {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,449 INFO L290 TraceCheckUtils]: 65: Hoare triple {18756#(<= ~counter~0 4)} assume true; {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,449 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18756#(<= ~counter~0 4)} {18756#(<= ~counter~0 4)} #84#return; {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,450 INFO L272 TraceCheckUtils]: 67: Hoare triple {18756#(<= ~counter~0 4)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,450 INFO L290 TraceCheckUtils]: 68: Hoare triple {18756#(<= ~counter~0 4)} ~cond := #in~cond; {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,450 INFO L290 TraceCheckUtils]: 69: Hoare triple {18756#(<= ~counter~0 4)} assume !(0 == ~cond); {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,451 INFO L290 TraceCheckUtils]: 70: Hoare triple {18756#(<= ~counter~0 4)} assume true; {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,451 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18756#(<= ~counter~0 4)} {18756#(<= ~counter~0 4)} #86#return; {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,451 INFO L290 TraceCheckUtils]: 72: Hoare triple {18756#(<= ~counter~0 4)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,452 INFO L290 TraceCheckUtils]: 73: Hoare triple {18756#(<= ~counter~0 4)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18756#(<= ~counter~0 4)} is VALID [2022-04-08 06:44:21,453 INFO L290 TraceCheckUtils]: 74: Hoare triple {18756#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,453 INFO L290 TraceCheckUtils]: 75: Hoare triple {18799#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,453 INFO L272 TraceCheckUtils]: 76: Hoare triple {18799#(<= ~counter~0 5)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,454 INFO L290 TraceCheckUtils]: 77: Hoare triple {18799#(<= ~counter~0 5)} ~cond := #in~cond; {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,454 INFO L290 TraceCheckUtils]: 78: Hoare triple {18799#(<= ~counter~0 5)} assume !(0 == ~cond); {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,454 INFO L290 TraceCheckUtils]: 79: Hoare triple {18799#(<= ~counter~0 5)} assume true; {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,455 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18799#(<= ~counter~0 5)} {18799#(<= ~counter~0 5)} #84#return; {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,455 INFO L272 TraceCheckUtils]: 81: Hoare triple {18799#(<= ~counter~0 5)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,455 INFO L290 TraceCheckUtils]: 82: Hoare triple {18799#(<= ~counter~0 5)} ~cond := #in~cond; {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,456 INFO L290 TraceCheckUtils]: 83: Hoare triple {18799#(<= ~counter~0 5)} assume !(0 == ~cond); {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,456 INFO L290 TraceCheckUtils]: 84: Hoare triple {18799#(<= ~counter~0 5)} assume true; {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,456 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {18799#(<= ~counter~0 5)} {18799#(<= ~counter~0 5)} #86#return; {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,457 INFO L290 TraceCheckUtils]: 86: Hoare triple {18799#(<= ~counter~0 5)} 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); {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,457 INFO L290 TraceCheckUtils]: 87: Hoare triple {18799#(<= ~counter~0 5)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18799#(<= ~counter~0 5)} is VALID [2022-04-08 06:44:21,457 INFO L290 TraceCheckUtils]: 88: Hoare triple {18799#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18842#(<= |main_#t~post6| 5)} is VALID [2022-04-08 06:44:21,458 INFO L290 TraceCheckUtils]: 89: Hoare triple {18842#(<= |main_#t~post6| 5)} assume !(#t~post6 < 20);havoc #t~post6; {18568#false} is VALID [2022-04-08 06:44:21,458 INFO L272 TraceCheckUtils]: 90: Hoare triple {18568#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18568#false} is VALID [2022-04-08 06:44:21,458 INFO L290 TraceCheckUtils]: 91: Hoare triple {18568#false} ~cond := #in~cond; {18568#false} is VALID [2022-04-08 06:44:21,458 INFO L290 TraceCheckUtils]: 92: Hoare triple {18568#false} assume 0 == ~cond; {18568#false} is VALID [2022-04-08 06:44:21,458 INFO L290 TraceCheckUtils]: 93: Hoare triple {18568#false} assume !false; {18568#false} is VALID [2022-04-08 06:44:21,458 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 296 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-08 06:44:21,458 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:44:21,843 INFO L290 TraceCheckUtils]: 93: Hoare triple {18568#false} assume !false; {18568#false} is VALID [2022-04-08 06:44:21,844 INFO L290 TraceCheckUtils]: 92: Hoare triple {18568#false} assume 0 == ~cond; {18568#false} is VALID [2022-04-08 06:44:21,844 INFO L290 TraceCheckUtils]: 91: Hoare triple {18568#false} ~cond := #in~cond; {18568#false} is VALID [2022-04-08 06:44:21,844 INFO L272 TraceCheckUtils]: 90: Hoare triple {18568#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {18568#false} is VALID [2022-04-08 06:44:21,844 INFO L290 TraceCheckUtils]: 89: Hoare triple {18870#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {18568#false} is VALID [2022-04-08 06:44:21,844 INFO L290 TraceCheckUtils]: 88: Hoare triple {18874#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18870#(< |main_#t~post6| 20)} is VALID [2022-04-08 06:44:21,845 INFO L290 TraceCheckUtils]: 87: Hoare triple {18874#(< ~counter~0 20)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18874#(< ~counter~0 20)} is VALID [2022-04-08 06:44:21,845 INFO L290 TraceCheckUtils]: 86: Hoare triple {18874#(< ~counter~0 20)} 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); {18874#(< ~counter~0 20)} is VALID [2022-04-08 06:44:21,845 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {18567#true} {18874#(< ~counter~0 20)} #86#return; {18874#(< ~counter~0 20)} is VALID [2022-04-08 06:44:21,846 INFO L290 TraceCheckUtils]: 84: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,846 INFO L290 TraceCheckUtils]: 83: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,846 INFO L290 TraceCheckUtils]: 82: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,846 INFO L272 TraceCheckUtils]: 81: Hoare triple {18874#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,846 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18567#true} {18874#(< ~counter~0 20)} #84#return; {18874#(< ~counter~0 20)} is VALID [2022-04-08 06:44:21,846 INFO L290 TraceCheckUtils]: 79: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,846 INFO L290 TraceCheckUtils]: 78: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,847 INFO L290 TraceCheckUtils]: 77: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,847 INFO L272 TraceCheckUtils]: 76: Hoare triple {18874#(< ~counter~0 20)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,847 INFO L290 TraceCheckUtils]: 75: Hoare triple {18874#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {18874#(< ~counter~0 20)} is VALID [2022-04-08 06:44:21,848 INFO L290 TraceCheckUtils]: 74: Hoare triple {18917#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18874#(< ~counter~0 20)} is VALID [2022-04-08 06:44:21,848 INFO L290 TraceCheckUtils]: 73: Hoare triple {18917#(< ~counter~0 19)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {18917#(< ~counter~0 19)} is VALID [2022-04-08 06:44:21,848 INFO L290 TraceCheckUtils]: 72: Hoare triple {18917#(< ~counter~0 19)} 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); {18917#(< ~counter~0 19)} is VALID [2022-04-08 06:44:21,849 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18567#true} {18917#(< ~counter~0 19)} #86#return; {18917#(< ~counter~0 19)} is VALID [2022-04-08 06:44:21,849 INFO L290 TraceCheckUtils]: 70: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,849 INFO L290 TraceCheckUtils]: 69: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,849 INFO L290 TraceCheckUtils]: 68: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,849 INFO L272 TraceCheckUtils]: 67: Hoare triple {18917#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,849 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18567#true} {18917#(< ~counter~0 19)} #84#return; {18917#(< ~counter~0 19)} is VALID [2022-04-08 06:44:21,850 INFO L290 TraceCheckUtils]: 65: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,850 INFO L290 TraceCheckUtils]: 64: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,850 INFO L290 TraceCheckUtils]: 63: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,850 INFO L272 TraceCheckUtils]: 62: Hoare triple {18917#(< ~counter~0 19)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,850 INFO L290 TraceCheckUtils]: 61: Hoare triple {18917#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {18917#(< ~counter~0 19)} is VALID [2022-04-08 06:44:21,851 INFO L290 TraceCheckUtils]: 60: Hoare triple {18960#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {18917#(< ~counter~0 19)} is VALID [2022-04-08 06:44:21,851 INFO L290 TraceCheckUtils]: 59: Hoare triple {18960#(< ~counter~0 18)} assume !(~r~0 >= ~d~0); {18960#(< ~counter~0 18)} is VALID [2022-04-08 06:44:21,851 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {18567#true} {18960#(< ~counter~0 18)} #82#return; {18960#(< ~counter~0 18)} is VALID [2022-04-08 06:44:21,851 INFO L290 TraceCheckUtils]: 57: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,851 INFO L290 TraceCheckUtils]: 56: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,852 INFO L290 TraceCheckUtils]: 55: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,852 INFO L272 TraceCheckUtils]: 54: Hoare triple {18960#(< ~counter~0 18)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,852 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {18567#true} {18960#(< ~counter~0 18)} #80#return; {18960#(< ~counter~0 18)} is VALID [2022-04-08 06:44:21,852 INFO L290 TraceCheckUtils]: 52: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,852 INFO L290 TraceCheckUtils]: 51: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,852 INFO L290 TraceCheckUtils]: 50: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,852 INFO L272 TraceCheckUtils]: 49: Hoare triple {18960#(< ~counter~0 18)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,853 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {18567#true} {18960#(< ~counter~0 18)} #78#return; {18960#(< ~counter~0 18)} is VALID [2022-04-08 06:44:21,853 INFO L290 TraceCheckUtils]: 47: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,853 INFO L290 TraceCheckUtils]: 46: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,853 INFO L290 TraceCheckUtils]: 45: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,853 INFO L272 TraceCheckUtils]: 44: Hoare triple {18960#(< ~counter~0 18)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,853 INFO L290 TraceCheckUtils]: 43: Hoare triple {18960#(< ~counter~0 18)} assume !!(#t~post5 < 20);havoc #t~post5; {18960#(< ~counter~0 18)} is VALID [2022-04-08 06:44:21,858 INFO L290 TraceCheckUtils]: 42: Hoare triple {19015#(< ~counter~0 17)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {18960#(< ~counter~0 18)} is VALID [2022-04-08 06:44:21,858 INFO L290 TraceCheckUtils]: 41: Hoare triple {19015#(< ~counter~0 17)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {19015#(< ~counter~0 17)} is VALID [2022-04-08 06:44:21,859 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {18567#true} {19015#(< ~counter~0 17)} #82#return; {19015#(< ~counter~0 17)} is VALID [2022-04-08 06:44:21,859 INFO L290 TraceCheckUtils]: 39: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,859 INFO L290 TraceCheckUtils]: 38: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,859 INFO L290 TraceCheckUtils]: 37: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,859 INFO L272 TraceCheckUtils]: 36: Hoare triple {19015#(< ~counter~0 17)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,860 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {18567#true} {19015#(< ~counter~0 17)} #80#return; {19015#(< ~counter~0 17)} is VALID [2022-04-08 06:44:21,860 INFO L290 TraceCheckUtils]: 34: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,860 INFO L290 TraceCheckUtils]: 33: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,860 INFO L290 TraceCheckUtils]: 32: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,860 INFO L272 TraceCheckUtils]: 31: Hoare triple {19015#(< ~counter~0 17)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,860 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {18567#true} {19015#(< ~counter~0 17)} #78#return; {19015#(< ~counter~0 17)} is VALID [2022-04-08 06:44:21,860 INFO L290 TraceCheckUtils]: 29: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,860 INFO L290 TraceCheckUtils]: 28: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,861 INFO L290 TraceCheckUtils]: 27: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,861 INFO L272 TraceCheckUtils]: 26: Hoare triple {19015#(< ~counter~0 17)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,861 INFO L290 TraceCheckUtils]: 25: Hoare triple {19015#(< ~counter~0 17)} assume !!(#t~post5 < 20);havoc #t~post5; {19015#(< ~counter~0 17)} is VALID [2022-04-08 06:44:21,862 INFO L290 TraceCheckUtils]: 24: Hoare triple {19070#(< ~counter~0 16)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {19015#(< ~counter~0 17)} is VALID [2022-04-08 06:44:21,862 INFO L290 TraceCheckUtils]: 23: Hoare triple {19070#(< ~counter~0 16)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {19070#(< ~counter~0 16)} is VALID [2022-04-08 06:44:21,862 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {18567#true} {19070#(< ~counter~0 16)} #82#return; {19070#(< ~counter~0 16)} is VALID [2022-04-08 06:44:21,862 INFO L290 TraceCheckUtils]: 21: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,863 INFO L290 TraceCheckUtils]: 20: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,863 INFO L290 TraceCheckUtils]: 19: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,863 INFO L272 TraceCheckUtils]: 18: Hoare triple {19070#(< ~counter~0 16)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,863 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {18567#true} {19070#(< ~counter~0 16)} #80#return; {19070#(< ~counter~0 16)} is VALID [2022-04-08 06:44:21,863 INFO L290 TraceCheckUtils]: 16: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,863 INFO L290 TraceCheckUtils]: 15: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,863 INFO L290 TraceCheckUtils]: 14: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,863 INFO L272 TraceCheckUtils]: 13: Hoare triple {19070#(< ~counter~0 16)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,864 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {18567#true} {19070#(< ~counter~0 16)} #78#return; {19070#(< ~counter~0 16)} is VALID [2022-04-08 06:44:21,864 INFO L290 TraceCheckUtils]: 11: Hoare triple {18567#true} assume true; {18567#true} is VALID [2022-04-08 06:44:21,864 INFO L290 TraceCheckUtils]: 10: Hoare triple {18567#true} assume !(0 == ~cond); {18567#true} is VALID [2022-04-08 06:44:21,864 INFO L290 TraceCheckUtils]: 9: Hoare triple {18567#true} ~cond := #in~cond; {18567#true} is VALID [2022-04-08 06:44:21,864 INFO L272 TraceCheckUtils]: 8: Hoare triple {19070#(< ~counter~0 16)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {18567#true} is VALID [2022-04-08 06:44:21,864 INFO L290 TraceCheckUtils]: 7: Hoare triple {19070#(< ~counter~0 16)} assume !!(#t~post5 < 20);havoc #t~post5; {19070#(< ~counter~0 16)} is VALID [2022-04-08 06:44:21,865 INFO L290 TraceCheckUtils]: 6: Hoare triple {19125#(< ~counter~0 15)} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {19070#(< ~counter~0 16)} is VALID [2022-04-08 06:44:21,865 INFO L290 TraceCheckUtils]: 5: Hoare triple {19125#(< ~counter~0 15)} 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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {19125#(< ~counter~0 15)} is VALID [2022-04-08 06:44:21,866 INFO L272 TraceCheckUtils]: 4: Hoare triple {19125#(< ~counter~0 15)} call #t~ret7 := main(); {19125#(< ~counter~0 15)} is VALID [2022-04-08 06:44:21,866 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19125#(< ~counter~0 15)} {18567#true} #92#return; {19125#(< ~counter~0 15)} is VALID [2022-04-08 06:44:21,866 INFO L290 TraceCheckUtils]: 2: Hoare triple {19125#(< ~counter~0 15)} assume true; {19125#(< ~counter~0 15)} is VALID [2022-04-08 06:44:21,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {18567#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);~counter~0 := 0; {19125#(< ~counter~0 15)} is VALID [2022-04-08 06:44:21,869 INFO L272 TraceCheckUtils]: 0: Hoare triple {18567#true} call ULTIMATE.init(); {18567#true} is VALID [2022-04-08 06:44:21,869 INFO L134 CoverageAnalysis]: Checked inductivity of 366 backedges. 26 proven. 28 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 06:44:21,869 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:44:21,869 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1561777302] [2022-04-08 06:44:21,869 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:44:21,869 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [774711911] [2022-04-08 06:44:21,869 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [774711911] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:44:21,869 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:44:21,870 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2022-04-08 06:44:21,870 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:44:21,870 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1235062643] [2022-04-08 06:44:21,870 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1235062643] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:44:21,870 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:44:21,870 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 06:44:21,870 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [392308468] [2022-04-08 06:44:21,870 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:44:21,870 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 94 [2022-04-08 06:44:21,871 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:44:21,871 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:44:21,923 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:44:21,923 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 06:44:21,923 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:44:21,924 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 06:44:21,924 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=144, Unknown=0, NotChecked=0, Total=240 [2022-04-08 06:44:21,924 INFO L87 Difference]: Start difference. First operand 182 states and 216 transitions. Second operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:44:22,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:44:22,447 INFO L93 Difference]: Finished difference Result 240 states and 281 transitions. [2022-04-08 06:44:22,447 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 06:44:22,447 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 94 [2022-04-08 06:44:22,447 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:44:22,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:44:22,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 128 transitions. [2022-04-08 06:44:22,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:44:22,451 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 128 transitions. [2022-04-08 06:44:22,451 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 128 transitions. [2022-04-08 06:44:22,573 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:44:22,577 INFO L225 Difference]: With dead ends: 240 [2022-04-08 06:44:22,577 INFO L226 Difference]: Without dead ends: 227 [2022-04-08 06:44:22,578 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 189 GetRequests, 173 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=120, Invalid=186, Unknown=0, NotChecked=0, Total=306 [2022-04-08 06:44:22,578 INFO L913 BasicCegarLoop]: 52 mSDtfsCounter, 37 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 65 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 65 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 06:44:22,579 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 180 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 65 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 06:44:22,579 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-04-08 06:44:22,849 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 226. [2022-04-08 06:44:22,849 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:44:22,850 INFO L82 GeneralOperation]: Start isEquivalent. First operand 227 states. Second operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 06:44:22,850 INFO L74 IsIncluded]: Start isIncluded. First operand 227 states. Second operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 06:44:22,850 INFO L87 Difference]: Start difference. First operand 227 states. Second operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 06:44:22,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:44:22,855 INFO L93 Difference]: Finished difference Result 227 states and 264 transitions. [2022-04-08 06:44:22,855 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 264 transitions. [2022-04-08 06:44:22,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:44:22,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:44:22,856 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) Second operand 227 states. [2022-04-08 06:44:22,857 INFO L87 Difference]: Start difference. First operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) Second operand 227 states. [2022-04-08 06:44:22,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:44:22,861 INFO L93 Difference]: Finished difference Result 227 states and 264 transitions. [2022-04-08 06:44:22,861 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 264 transitions. [2022-04-08 06:44:22,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:44:22,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:44:22,862 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:44:22,862 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:44:22,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 155 states have internal predecessors, (173), 46 states have call successors, (46), 29 states have call predecessors, (46), 28 states have return successors, (44), 41 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-08 06:44:22,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 263 transitions. [2022-04-08 06:44:22,868 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 263 transitions. Word has length 94 [2022-04-08 06:44:22,868 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:44:22,868 INFO L478 AbstractCegarLoop]: Abstraction has 226 states and 263 transitions. [2022-04-08 06:44:22,868 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.444444444444445) internal successors, (40), 8 states have internal predecessors, (40), 8 states have call successors, (16), 8 states have call predecessors, (16), 6 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-08 06:44:22,869 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 226 states and 263 transitions. [2022-04-08 06:44:23,228 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 263 edges. 263 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:44:23,229 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 263 transitions. [2022-04-08 06:44:23,230 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-08 06:44:23,230 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:44:23,230 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:44:23,249 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-08 06:44:23,439 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:44:23,440 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:44:23,440 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:44:23,440 INFO L85 PathProgramCache]: Analyzing trace with hash -612515316, now seen corresponding path program 7 times [2022-04-08 06:44:23,440 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:44:23,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [561031468] [2022-04-08 06:44:26,089 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:44:26,090 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:44:26,090 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:44:26,090 INFO L85 PathProgramCache]: Analyzing trace with hash -612515316, now seen corresponding path program 8 times [2022-04-08 06:44:26,090 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:44:26,090 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1103033994] [2022-04-08 06:44:26,090 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:44:26,090 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:44:26,110 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:44:26,110 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2036266291] [2022-04-08 06:44:26,110 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 06:44:26,110 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:44:26,110 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:44:26,111 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:44:26,115 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-08 06:44:26,170 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 06:44:26,170 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:44:26,172 INFO L263 TraceCheckSpWp]: Trace formula consists of 248 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-08 06:44:26,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:44:26,189 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 06:44:26,874 INFO L272 TraceCheckUtils]: 0: Hoare triple {20536#true} call ULTIMATE.init(); {20536#true} is VALID [2022-04-08 06:44:26,874 INFO L290 TraceCheckUtils]: 1: Hoare triple {20536#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);~counter~0 := 0; {20536#true} is VALID [2022-04-08 06:44:26,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,875 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20536#true} {20536#true} #92#return; {20536#true} is VALID [2022-04-08 06:44:26,875 INFO L272 TraceCheckUtils]: 4: Hoare triple {20536#true} call #t~ret7 := main(); {20536#true} is VALID [2022-04-08 06:44:26,875 INFO L290 TraceCheckUtils]: 5: Hoare triple {20536#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {20556#(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-08 06:44:26,876 INFO L290 TraceCheckUtils]: 6: Hoare triple {20556#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20556#(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-08 06:44:26,876 INFO L290 TraceCheckUtils]: 7: Hoare triple {20556#(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 !!(#t~post5 < 20);havoc #t~post5; {20556#(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-08 06:44:26,876 INFO L272 TraceCheckUtils]: 8: Hoare triple {20556#(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)); {20536#true} is VALID [2022-04-08 06:44:26,876 INFO L290 TraceCheckUtils]: 9: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,876 INFO L290 TraceCheckUtils]: 10: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,876 INFO L290 TraceCheckUtils]: 11: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,877 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {20536#true} {20556#(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))} #78#return; {20556#(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-08 06:44:26,877 INFO L272 TraceCheckUtils]: 13: Hoare triple {20556#(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)); {20536#true} is VALID [2022-04-08 06:44:26,877 INFO L290 TraceCheckUtils]: 14: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,877 INFO L290 TraceCheckUtils]: 15: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,877 INFO L290 TraceCheckUtils]: 16: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,878 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {20536#true} {20556#(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; {20556#(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-08 06:44:26,878 INFO L272 TraceCheckUtils]: 18: Hoare triple {20556#(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)); {20536#true} is VALID [2022-04-08 06:44:26,878 INFO L290 TraceCheckUtils]: 19: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,878 INFO L290 TraceCheckUtils]: 20: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,878 INFO L290 TraceCheckUtils]: 21: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,878 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20536#true} {20556#(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; {20556#(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-08 06:44:26,879 INFO L290 TraceCheckUtils]: 23: Hoare triple {20556#(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; {20611#(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-08 06:44:26,879 INFO L290 TraceCheckUtils]: 24: Hoare triple {20611#(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))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20611#(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-08 06:44:26,880 INFO L290 TraceCheckUtils]: 25: Hoare triple {20611#(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 !!(#t~post5 < 20);havoc #t~post5; {20611#(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-08 06:44:26,880 INFO L272 TraceCheckUtils]: 26: Hoare triple {20611#(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)); {20536#true} is VALID [2022-04-08 06:44:26,880 INFO L290 TraceCheckUtils]: 27: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,880 INFO L290 TraceCheckUtils]: 28: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,880 INFO L290 TraceCheckUtils]: 29: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,880 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {20536#true} {20611#(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))} #78#return; {20611#(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-08 06:44:26,881 INFO L272 TraceCheckUtils]: 31: Hoare triple {20611#(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)); {20536#true} is VALID [2022-04-08 06:44:26,881 INFO L290 TraceCheckUtils]: 32: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,881 INFO L290 TraceCheckUtils]: 33: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,881 INFO L290 TraceCheckUtils]: 34: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,881 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {20536#true} {20611#(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; {20611#(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-08 06:44:26,881 INFO L272 TraceCheckUtils]: 36: Hoare triple {20611#(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)); {20536#true} is VALID [2022-04-08 06:44:26,881 INFO L290 TraceCheckUtils]: 37: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,881 INFO L290 TraceCheckUtils]: 38: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,882 INFO L290 TraceCheckUtils]: 39: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,882 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {20536#true} {20611#(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; {20611#(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-08 06:44:26,883 INFO L290 TraceCheckUtils]: 41: Hoare triple {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:44:26,883 INFO L290 TraceCheckUtils]: 42: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:44:26,883 INFO L290 TraceCheckUtils]: 43: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(#t~post5 < 20);havoc #t~post5; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:44:26,883 INFO L272 TraceCheckUtils]: 44: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:26,883 INFO L290 TraceCheckUtils]: 45: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,884 INFO L290 TraceCheckUtils]: 46: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,884 INFO L290 TraceCheckUtils]: 47: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,884 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {20536#true} {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #78#return; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:44:26,884 INFO L272 TraceCheckUtils]: 49: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:26,884 INFO L290 TraceCheckUtils]: 50: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,884 INFO L290 TraceCheckUtils]: 51: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,884 INFO L290 TraceCheckUtils]: 52: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,885 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {20536#true} {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #80#return; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:44:26,885 INFO L272 TraceCheckUtils]: 54: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:26,885 INFO L290 TraceCheckUtils]: 55: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,885 INFO L290 TraceCheckUtils]: 56: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,885 INFO L290 TraceCheckUtils]: 57: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,886 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {20536#true} {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #82#return; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:44:26,886 INFO L290 TraceCheckUtils]: 59: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:44:26,887 INFO L290 TraceCheckUtils]: 60: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:44:26,887 INFO L290 TraceCheckUtils]: 61: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(#t~post6 < 20);havoc #t~post6; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:44:26,887 INFO L272 TraceCheckUtils]: 62: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:26,887 INFO L290 TraceCheckUtils]: 63: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,887 INFO L290 TraceCheckUtils]: 64: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,887 INFO L290 TraceCheckUtils]: 65: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,888 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20536#true} {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #84#return; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:44:26,888 INFO L272 TraceCheckUtils]: 67: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:26,888 INFO L290 TraceCheckUtils]: 68: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,888 INFO L290 TraceCheckUtils]: 69: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,888 INFO L290 TraceCheckUtils]: 70: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,889 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20536#true} {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} #86#return; {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} is VALID [2022-04-08 06:44:26,889 INFO L290 TraceCheckUtils]: 72: Hoare triple {20666#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~d~0 (* main_~B~0 4)) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20611#(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-08 06:44:26,890 INFO L290 TraceCheckUtils]: 73: Hoare triple {20611#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-08 06:44:26,890 INFO L290 TraceCheckUtils]: 74: Hoare triple {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-08 06:44:26,890 INFO L290 TraceCheckUtils]: 75: Hoare triple {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-08 06:44:26,890 INFO L272 TraceCheckUtils]: 76: Hoare triple {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:26,891 INFO L290 TraceCheckUtils]: 77: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,891 INFO L290 TraceCheckUtils]: 78: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,891 INFO L290 TraceCheckUtils]: 79: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,891 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20536#true} {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} #84#return; {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-08 06:44:26,891 INFO L272 TraceCheckUtils]: 81: Hoare triple {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:26,891 INFO L290 TraceCheckUtils]: 82: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:26,891 INFO L290 TraceCheckUtils]: 83: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:26,892 INFO L290 TraceCheckUtils]: 84: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:26,892 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {20536#true} {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} #86#return; {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} is VALID [2022-04-08 06:44:26,893 INFO L290 TraceCheckUtils]: 86: Hoare triple {20763#(and (= main_~q~0 main_~p~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20803#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= (div (+ main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= main_~B~0 1) (= (* main_~B~0 2) (+ main_~A~0 (* (- 1) main_~r~0))))} is VALID [2022-04-08 06:44:26,894 INFO L290 TraceCheckUtils]: 87: Hoare triple {20803#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (= (div (+ main_~A~0 (* (- 1) main_~r~0)) 2) main_~d~0) (= main_~B~0 1) (= (* main_~B~0 2) (+ main_~A~0 (* (- 1) main_~r~0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-08 06:44:26,895 INFO L290 TraceCheckUtils]: 88: Hoare triple {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-08 06:44:26,895 INFO L290 TraceCheckUtils]: 89: Hoare triple {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} is VALID [2022-04-08 06:44:26,896 INFO L272 TraceCheckUtils]: 90: Hoare triple {20807#(and (= (div (* main_~B~0 2) 2) (+ (* (- 2) main_~B~0) main_~A~0 (* (- 1) main_~r~0))) (= (+ (- 2) main_~q~0) 1) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {20817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:44:26,896 INFO L290 TraceCheckUtils]: 91: Hoare triple {20817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:44:26,896 INFO L290 TraceCheckUtils]: 92: Hoare triple {20821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20537#false} is VALID [2022-04-08 06:44:26,896 INFO L290 TraceCheckUtils]: 93: Hoare triple {20537#false} assume !false; {20537#false} is VALID [2022-04-08 06:44:26,897 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 30 refuted. 0 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 06:44:26,897 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 06:44:58,845 INFO L290 TraceCheckUtils]: 93: Hoare triple {20537#false} assume !false; {20537#false} is VALID [2022-04-08 06:44:58,846 INFO L290 TraceCheckUtils]: 92: Hoare triple {20821#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20537#false} is VALID [2022-04-08 06:44:58,846 INFO L290 TraceCheckUtils]: 91: Hoare triple {20817#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20821#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 06:44:58,847 INFO L272 TraceCheckUtils]: 90: Hoare triple {20837#(= (+ (* 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)); {20817#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 06:44:58,847 INFO L290 TraceCheckUtils]: 89: Hoare triple {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !!(#t~post6 < 20);havoc #t~post6; {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:58,847 INFO L290 TraceCheckUtils]: 88: Hoare triple {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:58,858 INFO L290 TraceCheckUtils]: 87: Hoare triple {20847#(= 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; {20837#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-08 06:44:58,877 INFO L290 TraceCheckUtils]: 86: Hoare triple {20851#(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); {20847#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-08 06:44:58,878 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {20536#true} {20851#(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; {20851#(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-08 06:44:58,878 INFO L290 TraceCheckUtils]: 84: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:58,878 INFO L290 TraceCheckUtils]: 83: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:58,879 INFO L290 TraceCheckUtils]: 82: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:58,879 INFO L272 TraceCheckUtils]: 81: Hoare triple {20851#(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)); {20536#true} is VALID [2022-04-08 06:44:58,879 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20536#true} {20851#(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; {20851#(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-08 06:44:58,879 INFO L290 TraceCheckUtils]: 79: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:58,879 INFO L290 TraceCheckUtils]: 78: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:58,879 INFO L290 TraceCheckUtils]: 77: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:58,880 INFO L272 TraceCheckUtils]: 76: Hoare triple {20851#(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)); {20536#true} is VALID [2022-04-08 06:44:58,881 INFO L290 TraceCheckUtils]: 75: Hoare triple {20851#(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 !!(#t~post6 < 20);havoc #t~post6; {20851#(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-08 06:44:58,881 INFO L290 TraceCheckUtils]: 74: Hoare triple {20851#(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))))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20851#(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-08 06:44:58,936 INFO L290 TraceCheckUtils]: 73: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {20851#(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-08 06:44:59,277 INFO L290 TraceCheckUtils]: 72: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:44:59,278 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20536#true} {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #86#return; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 06:44:59,278 INFO L290 TraceCheckUtils]: 70: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:59,278 INFO L290 TraceCheckUtils]: 69: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:59,279 INFO L290 TraceCheckUtils]: 68: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:59,279 INFO L272 TraceCheckUtils]: 67: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:59,280 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20536#true} {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #84#return; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 06:44:59,280 INFO L290 TraceCheckUtils]: 65: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:59,281 INFO L290 TraceCheckUtils]: 64: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:59,281 INFO L290 TraceCheckUtils]: 63: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:59,281 INFO L272 TraceCheckUtils]: 62: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:59,285 INFO L290 TraceCheckUtils]: 61: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(#t~post6 < 20);havoc #t~post6; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 06:44:59,288 INFO L290 TraceCheckUtils]: 60: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 06:44:59,293 INFO L290 TraceCheckUtils]: 59: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !(~r~0 >= ~d~0); {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 06:44:59,294 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {20536#true} {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #82#return; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 06:44:59,294 INFO L290 TraceCheckUtils]: 57: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:59,294 INFO L290 TraceCheckUtils]: 56: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:59,294 INFO L290 TraceCheckUtils]: 55: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:59,295 INFO L272 TraceCheckUtils]: 54: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:59,296 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {20536#true} {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #80#return; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 06:44:59,296 INFO L290 TraceCheckUtils]: 52: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:59,296 INFO L290 TraceCheckUtils]: 51: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:59,296 INFO L290 TraceCheckUtils]: 50: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:59,296 INFO L272 TraceCheckUtils]: 49: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:59,297 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {20536#true} {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #78#return; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 06:44:59,298 INFO L290 TraceCheckUtils]: 47: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:59,298 INFO L290 TraceCheckUtils]: 46: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:59,298 INFO L290 TraceCheckUtils]: 45: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:59,298 INFO L272 TraceCheckUtils]: 44: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:59,303 INFO L290 TraceCheckUtils]: 43: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} assume !!(#t~post5 < 20);havoc #t~post5; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 06:44:59,308 INFO L290 TraceCheckUtils]: 42: Hoare triple {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 06:44:59,540 INFO L290 TraceCheckUtils]: 41: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20895#(and (or (and (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (and (or (= (+ (- 1) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))) (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 2) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ (- 2) main_~r~0 (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))))) (or (and (or (and (or (= main_~A~0 (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (- 2) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) main_~A~0))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= main_~A~0 (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1))) main_~A~0) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (= main_~A~0 (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= main_~A~0 (+ (- 1) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= main_~A~0 (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* main_~B~0 (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2))) (* (- 1) (div main_~d~0 2))))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (+ (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) main_~A~0))))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0))))} is VALID [2022-04-08 06:44:59,541 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {20536#true} {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #82#return; {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:44:59,541 INFO L290 TraceCheckUtils]: 39: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:59,541 INFO L290 TraceCheckUtils]: 38: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:59,541 INFO L290 TraceCheckUtils]: 37: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:59,541 INFO L272 TraceCheckUtils]: 36: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:59,542 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {20536#true} {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #80#return; {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:44:59,542 INFO L290 TraceCheckUtils]: 34: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:59,542 INFO L290 TraceCheckUtils]: 33: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:59,542 INFO L290 TraceCheckUtils]: 32: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:59,542 INFO L272 TraceCheckUtils]: 31: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:59,543 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {20536#true} {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #78#return; {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:44:59,543 INFO L290 TraceCheckUtils]: 29: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:59,543 INFO L290 TraceCheckUtils]: 28: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:59,543 INFO L290 TraceCheckUtils]: 27: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:59,543 INFO L272 TraceCheckUtils]: 26: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:59,544 INFO L290 TraceCheckUtils]: 25: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(#t~post5 < 20);havoc #t~post5; {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:44:59,545 INFO L290 TraceCheckUtils]: 24: Hoare triple {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:44:59,568 INFO L290 TraceCheckUtils]: 23: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {20891#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= main_~A~0 (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)) (or (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (+ (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2))) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0)) (or (= (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* main_~B~0 (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1))) main_~A~0) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-08 06:44:59,569 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20536#true} {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #82#return; {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-08 06:44:59,569 INFO L290 TraceCheckUtils]: 21: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:59,569 INFO L290 TraceCheckUtils]: 20: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:59,569 INFO L290 TraceCheckUtils]: 19: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:59,569 INFO L272 TraceCheckUtils]: 18: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:59,570 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {20536#true} {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #80#return; {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-08 06:44:59,570 INFO L290 TraceCheckUtils]: 16: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:59,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:59,570 INFO L290 TraceCheckUtils]: 14: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:59,570 INFO L272 TraceCheckUtils]: 13: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:59,570 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {20536#true} {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #78#return; {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-08 06:44:59,570 INFO L290 TraceCheckUtils]: 11: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:59,571 INFO L290 TraceCheckUtils]: 10: Hoare triple {20536#true} assume !(0 == ~cond); {20536#true} is VALID [2022-04-08 06:44:59,571 INFO L290 TraceCheckUtils]: 9: Hoare triple {20536#true} ~cond := #in~cond; {20536#true} is VALID [2022-04-08 06:44:59,571 INFO L272 TraceCheckUtils]: 8: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {20536#true} is VALID [2022-04-08 06:44:59,571 INFO L290 TraceCheckUtils]: 7: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} assume !!(#t~post5 < 20);havoc #t~post5; {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-08 06:44:59,572 INFO L290 TraceCheckUtils]: 6: Hoare triple {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} #t~post5 := ~counter~0;~counter~0 := 1 + #t~post5; {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-08 06:44:59,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {20536#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;~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {21043#(= (+ (* (* main_~B~0 main_~p~0) 3) (* main_~B~0 main_~q~0) main_~r~0) (+ main_~A~0 (* main_~d~0 3)))} is VALID [2022-04-08 06:44:59,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {20536#true} call #t~ret7 := main(); {20536#true} is VALID [2022-04-08 06:44:59,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20536#true} {20536#true} #92#return; {20536#true} is VALID [2022-04-08 06:44:59,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {20536#true} assume true; {20536#true} is VALID [2022-04-08 06:44:59,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {20536#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);~counter~0 := 0; {20536#true} is VALID [2022-04-08 06:44:59,572 INFO L272 TraceCheckUtils]: 0: Hoare triple {20536#true} call ULTIMATE.init(); {20536#true} is VALID [2022-04-08 06:44:59,573 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 26 proven. 24 refuted. 6 times theorem prover too weak. 312 trivial. 0 not checked. [2022-04-08 06:44:59,574 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 06:44:59,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1103033994] [2022-04-08 06:44:59,574 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 06:44:59,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2036266291] [2022-04-08 06:44:59,574 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2036266291] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 06:44:59,574 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 06:44:59,574 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-08 06:44:59,574 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 06:44:59,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [561031468] [2022-04-08 06:44:59,574 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [561031468] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 06:44:59,574 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 06:44:59,574 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 06:44:59,575 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [357987948] [2022-04-08 06:44:59,575 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 06:44:59,575 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 94 [2022-04-08 06:44:59,575 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 06:44:59,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 06:44:59,632 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-08 06:44:59,632 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 06:44:59,632 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 06:44:59,633 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 06:44:59,633 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=178, Unknown=2, NotChecked=0, Total=240 [2022-04-08 06:44:59,633 INFO L87 Difference]: Start difference. First operand 226 states and 263 transitions. Second operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 06:45:01,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:45:01,190 INFO L93 Difference]: Finished difference Result 275 states and 329 transitions. [2022-04-08 06:45:01,190 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 06:45:01,190 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 94 [2022-04-08 06:45:01,191 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 06:45:01,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 06:45:01,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 129 transitions. [2022-04-08 06:45:01,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 06:45:01,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 129 transitions. [2022-04-08 06:45:01,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 129 transitions. [2022-04-08 06:45:01,331 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:45:01,336 INFO L225 Difference]: With dead ends: 275 [2022-04-08 06:45:01,337 INFO L226 Difference]: Without dead ends: 240 [2022-04-08 06:45:01,337 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 188 GetRequests, 170 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 6.1s TimeCoverageRelationStatistics Valid=64, Invalid=206, Unknown=2, NotChecked=0, Total=272 [2022-04-08 06:45:01,338 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 13 mSDsluCounter, 243 mSDsCounter, 0 mSdLazyCounter, 433 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 300 SdHoareTripleChecker+Invalid, 451 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 433 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 06:45:01,338 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 300 Invalid, 451 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 433 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 06:45:01,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 240 states. [2022-04-08 06:45:01,547 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 240 to 238. [2022-04-08 06:45:01,547 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 06:45:01,547 INFO L82 GeneralOperation]: Start isEquivalent. First operand 240 states. Second operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-08 06:45:01,548 INFO L74 IsIncluded]: Start isIncluded. First operand 240 states. Second operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-08 06:45:01,548 INFO L87 Difference]: Start difference. First operand 240 states. Second operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-08 06:45:01,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:45:01,556 INFO L93 Difference]: Finished difference Result 240 states and 280 transitions. [2022-04-08 06:45:01,556 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 280 transitions. [2022-04-08 06:45:01,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:45:01,557 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:45:01,557 INFO L74 IsIncluded]: Start isIncluded. First operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) Second operand 240 states. [2022-04-08 06:45:01,558 INFO L87 Difference]: Start difference. First operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) Second operand 240 states. [2022-04-08 06:45:01,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 06:45:01,563 INFO L93 Difference]: Finished difference Result 240 states and 280 transitions. [2022-04-08 06:45:01,563 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 280 transitions. [2022-04-08 06:45:01,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 06:45:01,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 06:45:01,564 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 06:45:01,564 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 06:45:01,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 238 states, 159 states have (on average 1.150943396226415) internal successors, (183), 163 states have internal predecessors, (183), 48 states have call successors, (48), 31 states have call predecessors, (48), 30 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-08 06:45:01,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 277 transitions. [2022-04-08 06:45:01,571 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 277 transitions. Word has length 94 [2022-04-08 06:45:01,571 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 06:45:01,571 INFO L478 AbstractCegarLoop]: Abstraction has 238 states and 277 transitions. [2022-04-08 06:45:01,571 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.8) internal successors, (28), 9 states have internal predecessors, (28), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 06:45:01,571 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 238 states and 277 transitions. [2022-04-08 06:45:02,014 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 277 edges. 277 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 06:45:02,014 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 277 transitions. [2022-04-08 06:45:02,015 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-08 06:45:02,015 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 06:45:02,015 INFO L499 BasicCegarLoop]: trace histogram [15, 14, 14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 06:45:02,042 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-08 06:45:02,215 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:45:02,216 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 06:45:02,216 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 06:45:02,216 INFO L85 PathProgramCache]: Analyzing trace with hash 18113303, now seen corresponding path program 9 times [2022-04-08 06:45:02,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 06:45:02,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1087081759] [2022-04-08 06:45:05,788 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 0 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 06:45:05,788 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because UNSUPPORTED_EIGENVALUES [2022-04-08 06:45:05,788 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 06:45:05,788 INFO L85 PathProgramCache]: Analyzing trace with hash 18113303, now seen corresponding path program 10 times [2022-04-08 06:45:05,789 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 06:45:05,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [87090204] [2022-04-08 06:45:05,789 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 06:45:05,789 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 06:45:05,807 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 06:45:05,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2090055865] [2022-04-08 06:45:05,808 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 06:45:05,808 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 06:45:05,808 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 06:45:05,811 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 06:45:05,812 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-08 06:45:05,877 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 06:45:05,877 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 06:45:05,879 INFO L263 TraceCheckSpWp]: Trace formula consists of 212 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-08 06:45:05,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 06:45:05,905 INFO L286 TraceCheckSpWp]: Computing forward predicates...