/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:56:21,911 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:56:21,924 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:56:21,957 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:56:21,958 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:56:21,958 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:56:21,959 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:56:21,960 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:56:21,961 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:56:21,961 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:56:21,962 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:56:21,963 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:56:21,963 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:56:21,963 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:56:21,964 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:56:21,965 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:56:21,965 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:56:21,966 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:56:21,967 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:56:21,968 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:56:21,969 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:56:21,972 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:56:21,975 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:56:21,976 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:56:21,977 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:56:21,978 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:56:21,978 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:56:21,979 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:56:21,979 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:56:21,979 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:56:21,980 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:56:21,980 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:56:21,981 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:56:21,981 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:56:21,981 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:56:21,982 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:56:21,982 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:56:21,983 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:56:21,983 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:56:21,983 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:56:21,984 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:56:21,991 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:56:21,992 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:56:22,002 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:56:22,002 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:56:22,003 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:56:22,003 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:56:22,003 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:56:22,003 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:56:22,003 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:56:22,003 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:56:22,003 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:56:22,003 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:56:22,004 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:56:22,004 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:56:22,004 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:56:22,004 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:56:22,004 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:56:22,004 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:56:22,004 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:56:22,004 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:56:22,004 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:56:22,004 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:56:22,004 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:56:22,005 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:56:22,005 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 12:56:22,190 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:56:22,205 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:56:22,206 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:56:22,207 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:56:22,207 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:56:22,208 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c [2022-04-28 12:56:22,267 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/84cd58821/0931a00e3ba94795ac528798a8144032/FLAG4662b984c [2022-04-28 12:56:22,580 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:56:22,581 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c [2022-04-28 12:56:22,585 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/84cd58821/0931a00e3ba94795ac528798a8144032/FLAG4662b984c [2022-04-28 12:56:23,012 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/84cd58821/0931a00e3ba94795ac528798a8144032 [2022-04-28 12:56:23,013 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:56:23,014 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:56:23,016 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:56:23,016 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:56:23,018 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:56:23,018 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:56:23" (1/1) ... [2022-04-28 12:56:23,019 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@142f1c23 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:23, skipping insertion in model container [2022-04-28 12:56:23,019 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:56:23" (1/1) ... [2022-04-28 12:56:23,023 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:56:23,031 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:56:23,176 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/hard-ll_valuebound1.c[538,551] [2022-04-28 12:56:23,204 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:56:23,209 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:56:23,218 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/hard-ll_valuebound1.c[538,551] [2022-04-28 12:56:23,237 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:56:23,247 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:56:23,247 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:23 WrapperNode [2022-04-28 12:56:23,248 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:56:23,248 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:56:23,248 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:56:23,248 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:56:23,255 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:23" (1/1) ... [2022-04-28 12:56:23,256 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:23" (1/1) ... [2022-04-28 12:56:23,260 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:23" (1/1) ... [2022-04-28 12:56:23,260 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:23" (1/1) ... [2022-04-28 12:56:23,271 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:23" (1/1) ... [2022-04-28 12:56:23,276 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:23" (1/1) ... [2022-04-28 12:56:23,282 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:23" (1/1) ... [2022-04-28 12:56:23,284 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:56:23,285 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:56:23,285 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:56:23,285 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:56:23,286 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:23" (1/1) ... [2022-04-28 12:56:23,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:56:23,298 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:23,306 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 12:56:23,312 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 12:56:23,332 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:56:23,332 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:56:23,332 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:56:23,333 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:56:23,333 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:56:23,333 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:56:23,333 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:56:23,333 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:56:23,333 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:56:23,333 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:56:23,333 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-28 12:56:23,333 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:56:23,333 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:56:23,334 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:56:23,334 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:56:23,335 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:56:23,335 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:56:23,335 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:56:23,335 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:56:23,335 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:56:23,380 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:56:23,381 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:56:23,520 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:56:23,535 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:56:23,536 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 12:56:23,537 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:56:23 BoogieIcfgContainer [2022-04-28 12:56:23,537 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:56:23,538 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:56:23,538 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:56:23,553 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:56:23,554 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:56:23" (1/3) ... [2022-04-28 12:56:23,554 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@29b3f3ec and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:56:23, skipping insertion in model container [2022-04-28 12:56:23,554 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:56:23" (2/3) ... [2022-04-28 12:56:23,554 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@29b3f3ec and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:56:23, skipping insertion in model container [2022-04-28 12:56:23,554 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:56:23" (3/3) ... [2022-04-28 12:56:23,555 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound1.c [2022-04-28 12:56:23,564 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:56:23,564 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:56:23,604 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:56:23,609 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6796972f, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@3ccdbd0e [2022-04-28 12:56:23,609 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:56:23,621 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:56:23,626 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 12:56:23,626 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:23,626 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:23,627 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:23,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:23,630 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-28 12:56:23,634 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:23,634 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [462027467] [2022-04-28 12:56:23,655 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:23,656 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 2 times [2022-04-28 12:56:23,658 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:23,658 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1564311808] [2022-04-28 12:56:23,658 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:23,658 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:23,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:23,818 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:56:23,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:23,841 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-28 12:56:23,841 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-28 12:56:23,841 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-28 12:56:23,842 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:56:23,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:23,851 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:56:23,852 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:56:23,852 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:56:23,852 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-28 12:56:23,852 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:56:23,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:23,874 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:56:23,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:56:23,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:56:23,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-28 12:56:23,876 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:56:23,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:23,884 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:56:23,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:56:23,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:56:23,885 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-28 12:56:23,886 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:56:23,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-28 12:56:23,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-28 12:56:23,887 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-28 12:56:23,888 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-28 12:56:23,888 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-28 12:56:23,888 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {41#true} is VALID [2022-04-28 12:56:23,888 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:56:23,889 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:56:23,889 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:56:23,889 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-28 12:56:23,889 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-28 12:56:23,889 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {41#true} is VALID [2022-04-28 12:56:23,889 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:56:23,890 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:56:23,890 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:56:23,891 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-28 12:56:23,891 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-28 12:56:23,891 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-28 12:56:23,892 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-28 12:56:23,892 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-28 12:56:23,892 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-28 12:56:23,893 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-28 12:56:23,893 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-28 12:56:23,894 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-28 12:56:23,894 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-28 12:56:23,894 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-28 12:56:23,894 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-28 12:56:23,895 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 12:56:23,895 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:23,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1564311808] [2022-04-28 12:56:23,896 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1564311808] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:23,896 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:23,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:56:23,900 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:23,900 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [462027467] [2022-04-28 12:56:23,901 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [462027467] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:23,901 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:23,901 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:56:23,901 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [24508439] [2022-04-28 12:56:23,902 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:23,906 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 12:56:23,907 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:23,909 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:56:23,940 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:23,941 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:56:23,941 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:23,963 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:56:23,963 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:56:23,966 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:56:24,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:24,145 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-28 12:56:24,145 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:56:24,146 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 12:56:24,146 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:24,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:56:24,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-28 12:56:24,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:56:24,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-28 12:56:24,170 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-28 12:56:24,275 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:24,285 INFO L225 Difference]: With dead ends: 69 [2022-04-28 12:56:24,285 INFO L226 Difference]: Without dead ends: 33 [2022-04-28 12:56:24,292 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:56:24,294 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:24,296 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:56:24,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-28 12:56:24,320 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-28 12:56:24,320 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:24,321 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:24,321 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:24,321 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:24,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:24,325 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 12:56:24,325 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:56:24,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:24,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:24,326 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-28 12:56:24,326 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-28 12:56:24,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:24,329 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-28 12:56:24,329 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:56:24,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:24,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:24,330 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:24,330 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:24,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:24,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-28 12:56:24,333 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-28 12:56:24,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:24,333 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-28 12:56:24,334 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 12:56:24,334 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 43 transitions. [2022-04-28 12:56:24,399 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:24,400 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-28 12:56:24,400 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 12:56:24,400 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:24,400 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:24,401 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:56:24,401 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:24,401 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:24,401 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-28 12:56:24,401 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:24,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1439879161] [2022-04-28 12:56:24,402 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:24,402 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 2 times [2022-04-28 12:56:24,402 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:24,402 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [145356863] [2022-04-28 12:56:24,402 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:24,403 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:24,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:24,479 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:56:24,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:24,486 INFO L290 TraceCheckUtils]: 0: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-28 12:56:24,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:24,487 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-28 12:56:24,487 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:56:24,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:24,491 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:56:24,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:56:24,491 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:24,491 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-28 12:56:24,491 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:56:24,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:24,495 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:56:24,495 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:56:24,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:24,496 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-28 12:56:24,496 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:56:24,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:24,500 INFO L290 TraceCheckUtils]: 0: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:56:24,500 INFO L290 TraceCheckUtils]: 1: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:56:24,500 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:24,500 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-28 12:56:24,501 INFO L272 TraceCheckUtils]: 0: Hoare triple {331#true} call ULTIMATE.init(); {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:56:24,501 INFO L290 TraceCheckUtils]: 1: Hoare triple {351#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {331#true} is VALID [2022-04-28 12:56:24,501 INFO L290 TraceCheckUtils]: 2: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:24,501 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {331#true} {331#true} #101#return; {331#true} is VALID [2022-04-28 12:56:24,501 INFO L272 TraceCheckUtils]: 4: Hoare triple {331#true} call #t~ret6 := main(); {331#true} is VALID [2022-04-28 12:56:24,502 INFO L290 TraceCheckUtils]: 5: Hoare triple {331#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {331#true} is VALID [2022-04-28 12:56:24,502 INFO L272 TraceCheckUtils]: 6: Hoare triple {331#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {331#true} is VALID [2022-04-28 12:56:24,502 INFO L290 TraceCheckUtils]: 7: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:56:24,502 INFO L290 TraceCheckUtils]: 8: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:56:24,502 INFO L290 TraceCheckUtils]: 9: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:24,502 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {331#true} {331#true} #81#return; {331#true} is VALID [2022-04-28 12:56:24,503 INFO L290 TraceCheckUtils]: 11: Hoare triple {331#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {331#true} is VALID [2022-04-28 12:56:24,503 INFO L272 TraceCheckUtils]: 12: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {331#true} is VALID [2022-04-28 12:56:24,503 INFO L290 TraceCheckUtils]: 13: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:56:24,503 INFO L290 TraceCheckUtils]: 14: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:56:24,504 INFO L290 TraceCheckUtils]: 15: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:24,504 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {331#true} {331#true} #83#return; {331#true} is VALID [2022-04-28 12:56:24,504 INFO L272 TraceCheckUtils]: 17: Hoare triple {331#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {331#true} is VALID [2022-04-28 12:56:24,504 INFO L290 TraceCheckUtils]: 18: Hoare triple {331#true} ~cond := #in~cond; {331#true} is VALID [2022-04-28 12:56:24,505 INFO L290 TraceCheckUtils]: 19: Hoare triple {331#true} assume !(0 == ~cond); {331#true} is VALID [2022-04-28 12:56:24,505 INFO L290 TraceCheckUtils]: 20: Hoare triple {331#true} assume true; {331#true} is VALID [2022-04-28 12:56:24,505 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {331#true} {331#true} #85#return; {331#true} is VALID [2022-04-28 12:56:24,506 INFO L290 TraceCheckUtils]: 22: Hoare triple {331#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {348#(= main_~q~0 0)} is VALID [2022-04-28 12:56:24,506 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(= main_~q~0 0)} assume !false; {348#(= main_~q~0 0)} is VALID [2022-04-28 12:56:24,507 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {349#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:56:24,507 INFO L290 TraceCheckUtils]: 25: Hoare triple {349#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {350#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:56:24,508 INFO L290 TraceCheckUtils]: 26: Hoare triple {350#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {332#false} is VALID [2022-04-28 12:56:24,508 INFO L290 TraceCheckUtils]: 27: Hoare triple {332#false} assume !false; {332#false} is VALID [2022-04-28 12:56:24,509 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 12:56:24,509 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:24,509 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [145356863] [2022-04-28 12:56:24,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [145356863] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:24,509 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:24,510 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:24,510 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:24,510 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1439879161] [2022-04-28 12:56:24,510 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1439879161] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:24,510 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:24,511 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:24,511 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [918990017] [2022-04-28 12:56:24,511 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:24,512 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 12:56:24,512 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:24,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:56:24,529 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:24,529 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:56:24,530 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:24,530 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:56:24,530 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:56:24,530 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:56:24,926 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:24,926 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-28 12:56:24,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:56:24,926 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 12:56:24,927 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:24,927 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:56:24,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 12:56:24,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:56:24,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 12:56:24,930 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-28 12:56:24,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:24,993 INFO L225 Difference]: With dead ends: 46 [2022-04-28 12:56:24,994 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 12:56:24,994 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:56:24,995 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:24,995 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:56:24,996 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 12:56:25,000 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-28 12:56:25,000 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:25,001 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:25,001 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:25,001 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:25,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:25,003 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 12:56:25,003 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 12:56:25,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:25,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:25,004 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-28 12:56:25,005 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-28 12:56:25,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:25,007 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-28 12:56:25,007 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-28 12:56:25,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:25,007 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:25,008 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:25,008 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:25,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:25,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-28 12:56:25,009 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-28 12:56:25,010 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:25,010 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-28 12:56:25,010 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 12:56:25,010 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 46 transitions. [2022-04-28 12:56:25,046 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-28 12:56:25,047 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-28 12:56:25,047 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:56:25,047 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:25,047 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:25,047 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 12:56:25,048 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:25,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:25,048 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-28 12:56:25,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:25,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1114098667] [2022-04-28 12:56:25,048 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:25,049 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 2 times [2022-04-28 12:56:25,049 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:25,049 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1829019165] [2022-04-28 12:56:25,049 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:25,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:25,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:25,122 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:56:25,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:25,127 INFO L290 TraceCheckUtils]: 0: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-28 12:56:25,127 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:25,127 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-28 12:56:25,128 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:56:25,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:25,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:25,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:25,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:25,131 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-28 12:56:25,131 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:56:25,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:25,134 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:25,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:25,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:25,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-28 12:56:25,135 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:56:25,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:25,137 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:25,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:25,138 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:25,138 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-28 12:56:25,138 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-28 12:56:25,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:25,152 INFO L290 TraceCheckUtils]: 0: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:25,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:25,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:25,153 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:56:25,154 INFO L272 TraceCheckUtils]: 0: Hoare triple {616#true} call ULTIMATE.init(); {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:56:25,154 INFO L290 TraceCheckUtils]: 1: Hoare triple {640#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {616#true} is VALID [2022-04-28 12:56:25,154 INFO L290 TraceCheckUtils]: 2: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:25,154 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {616#true} {616#true} #101#return; {616#true} is VALID [2022-04-28 12:56:25,154 INFO L272 TraceCheckUtils]: 4: Hoare triple {616#true} call #t~ret6 := main(); {616#true} is VALID [2022-04-28 12:56:25,155 INFO L290 TraceCheckUtils]: 5: Hoare triple {616#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {616#true} is VALID [2022-04-28 12:56:25,155 INFO L272 TraceCheckUtils]: 6: Hoare triple {616#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {616#true} is VALID [2022-04-28 12:56:25,155 INFO L290 TraceCheckUtils]: 7: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:25,155 INFO L290 TraceCheckUtils]: 8: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:25,155 INFO L290 TraceCheckUtils]: 9: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:25,155 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {616#true} {616#true} #81#return; {616#true} is VALID [2022-04-28 12:56:25,155 INFO L290 TraceCheckUtils]: 11: Hoare triple {616#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {616#true} is VALID [2022-04-28 12:56:25,155 INFO L272 TraceCheckUtils]: 12: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {616#true} is VALID [2022-04-28 12:56:25,156 INFO L290 TraceCheckUtils]: 13: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:25,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:25,156 INFO L290 TraceCheckUtils]: 15: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:25,156 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {616#true} {616#true} #83#return; {616#true} is VALID [2022-04-28 12:56:25,156 INFO L272 TraceCheckUtils]: 17: Hoare triple {616#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {616#true} is VALID [2022-04-28 12:56:25,156 INFO L290 TraceCheckUtils]: 18: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:25,156 INFO L290 TraceCheckUtils]: 19: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:25,156 INFO L290 TraceCheckUtils]: 20: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:25,157 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {616#true} {616#true} #85#return; {616#true} is VALID [2022-04-28 12:56:25,160 INFO L290 TraceCheckUtils]: 22: Hoare triple {616#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:56:25,160 INFO L290 TraceCheckUtils]: 23: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:56:25,161 INFO L272 TraceCheckUtils]: 24: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {616#true} is VALID [2022-04-28 12:56:25,161 INFO L290 TraceCheckUtils]: 25: Hoare triple {616#true} ~cond := #in~cond; {616#true} is VALID [2022-04-28 12:56:25,161 INFO L290 TraceCheckUtils]: 26: Hoare triple {616#true} assume !(0 == ~cond); {616#true} is VALID [2022-04-28 12:56:25,161 INFO L290 TraceCheckUtils]: 27: Hoare triple {616#true} assume true; {616#true} is VALID [2022-04-28 12:56:25,162 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {616#true} {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-28 12:56:25,163 INFO L272 TraceCheckUtils]: 29: Hoare triple {633#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {638#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:56:25,163 INFO L290 TraceCheckUtils]: 30: Hoare triple {638#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {639#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:56:25,164 INFO L290 TraceCheckUtils]: 31: Hoare triple {639#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {617#false} is VALID [2022-04-28 12:56:25,164 INFO L290 TraceCheckUtils]: 32: Hoare triple {617#false} assume !false; {617#false} is VALID [2022-04-28 12:56:25,164 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 12:56:25,164 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:25,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1829019165] [2022-04-28 12:56:25,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1829019165] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:25,164 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:25,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:25,165 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:25,165 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1114098667] [2022-04-28 12:56:25,165 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1114098667] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:25,165 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:25,165 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:56:25,165 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [755195605] [2022-04-28 12:56:25,165 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:25,166 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:56:25,166 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:25,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:56:25,187 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:25,187 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:56:25,187 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:25,188 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:56:25,188 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 12:56:25,188 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:56:25,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:25,590 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-28 12:56:25,590 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:56:25,590 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:56:25,590 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:25,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:56:25,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 12:56:25,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:56:25,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-28 12:56:25,593 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-28 12:56:25,652 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:25,654 INFO L225 Difference]: With dead ends: 50 [2022-04-28 12:56:25,654 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 12:56:25,654 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:56:25,655 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:25,655 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:56:25,667 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 12:56:25,685 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-28 12:56:25,685 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:25,685 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:25,686 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:25,686 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:25,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:25,689 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-28 12:56:25,689 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-28 12:56:25,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:25,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:25,691 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-28 12:56:25,691 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-28 12:56:25,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:25,693 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-28 12:56:25,693 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-28 12:56:25,694 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:25,694 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:25,694 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:25,694 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:25,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 12:56:25,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-28 12:56:25,699 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-28 12:56:25,699 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:25,700 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-28 12:56:25,701 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:56:25,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 49 transitions. [2022-04-28 12:56:25,737 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:25,737 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-28 12:56:25,738 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 12:56:25,738 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:25,738 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:25,738 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 12:56:25,738 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:25,738 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:25,739 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-28 12:56:25,739 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:25,739 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [289823377] [2022-04-28 12:56:25,739 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:25,739 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 2 times [2022-04-28 12:56:25,739 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:25,739 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1739812856] [2022-04-28 12:56:25,739 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:25,739 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:25,750 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:25,751 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [669817919] [2022-04-28 12:56:25,751 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:25,751 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:25,751 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:25,752 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:25,770 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 12:56:25,795 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:25,798 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:25,813 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:56:25,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:25,824 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:26,713 INFO L272 TraceCheckUtils]: 0: Hoare triple {929#true} call ULTIMATE.init(); {929#true} is VALID [2022-04-28 12:56:26,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {929#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(10, 2);call #Ultimate.allocInit(12, 3); {929#true} is VALID [2022-04-28 12:56:26,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:56:26,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {929#true} {929#true} #101#return; {929#true} is VALID [2022-04-28 12:56:26,714 INFO L272 TraceCheckUtils]: 4: Hoare triple {929#true} call #t~ret6 := main(); {929#true} is VALID [2022-04-28 12:56:26,714 INFO L290 TraceCheckUtils]: 5: Hoare triple {929#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {929#true} is VALID [2022-04-28 12:56:26,714 INFO L272 TraceCheckUtils]: 6: Hoare triple {929#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {929#true} is VALID [2022-04-28 12:56:26,714 INFO L290 TraceCheckUtils]: 7: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 12:56:26,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 12:56:26,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:56:26,715 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {929#true} {929#true} #81#return; {929#true} is VALID [2022-04-28 12:56:26,715 INFO L290 TraceCheckUtils]: 11: Hoare triple {929#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {929#true} is VALID [2022-04-28 12:56:26,715 INFO L272 TraceCheckUtils]: 12: Hoare triple {929#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {929#true} is VALID [2022-04-28 12:56:26,722 INFO L290 TraceCheckUtils]: 13: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:56:26,722 INFO L290 TraceCheckUtils]: 14: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:26,723 INFO L290 TraceCheckUtils]: 15: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:26,723 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {977#(not (= |assume_abort_if_not_#in~cond| 0))} {929#true} #83#return; {984#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:56:26,723 INFO L272 TraceCheckUtils]: 17: Hoare triple {984#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {929#true} is VALID [2022-04-28 12:56:26,724 INFO L290 TraceCheckUtils]: 18: Hoare triple {929#true} ~cond := #in~cond; {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:56:26,724 INFO L290 TraceCheckUtils]: 19: Hoare triple {973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:26,724 INFO L290 TraceCheckUtils]: 20: Hoare triple {977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:26,725 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {977#(not (= |assume_abort_if_not_#in~cond| 0))} {984#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1000#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:26,725 INFO L290 TraceCheckUtils]: 22: Hoare triple {1000#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:26,726 INFO L290 TraceCheckUtils]: 23: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:26,726 INFO L272 TraceCheckUtils]: 24: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {929#true} is VALID [2022-04-28 12:56:26,726 INFO L290 TraceCheckUtils]: 25: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 12:56:26,726 INFO L290 TraceCheckUtils]: 26: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 12:56:26,726 INFO L290 TraceCheckUtils]: 27: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:56:26,726 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {929#true} {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:26,727 INFO L272 TraceCheckUtils]: 29: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {929#true} is VALID [2022-04-28 12:56:26,727 INFO L290 TraceCheckUtils]: 30: Hoare triple {929#true} ~cond := #in~cond; {929#true} is VALID [2022-04-28 12:56:26,727 INFO L290 TraceCheckUtils]: 31: Hoare triple {929#true} assume !(0 == ~cond); {929#true} is VALID [2022-04-28 12:56:26,736 INFO L290 TraceCheckUtils]: 32: Hoare triple {929#true} assume true; {929#true} is VALID [2022-04-28 12:56:26,737 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {929#true} {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:26,739 INFO L272 TraceCheckUtils]: 34: Hoare triple {1004#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:26,740 INFO L290 TraceCheckUtils]: 35: Hoare triple {1041#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1045#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:26,740 INFO L290 TraceCheckUtils]: 36: Hoare triple {1045#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {930#false} is VALID [2022-04-28 12:56:26,740 INFO L290 TraceCheckUtils]: 37: Hoare triple {930#false} assume !false; {930#false} is VALID [2022-04-28 12:56:26,740 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 12:56:26,740 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:56:26,741 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:26,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1739812856] [2022-04-28 12:56:26,741 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:26,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [669817919] [2022-04-28 12:56:26,741 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [669817919] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:26,741 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:26,741 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:56:26,742 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:26,742 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [289823377] [2022-04-28 12:56:26,742 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [289823377] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:26,742 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:26,742 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:56:26,742 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1392529274] [2022-04-28 12:56:26,742 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:26,743 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-28 12:56:26,743 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:26,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:56:26,764 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:26,764 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:56:26,765 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:26,765 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:56:26,766 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:56:26,766 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:56:27,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:27,148 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-28 12:56:27,149 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:56:27,149 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-28 12:56:27,149 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:27,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:56:27,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-28 12:56:27,151 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:56:27,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-28 12:56:27,153 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-28 12:56:27,217 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:27,218 INFO L225 Difference]: With dead ends: 69 [2022-04-28 12:56:27,218 INFO L226 Difference]: Without dead ends: 55 [2022-04-28 12:56:27,219 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:56:27,219 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 33 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 117 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 117 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:27,220 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 178 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 117 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:56:27,220 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-28 12:56:27,253 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-28 12:56:27,253 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:27,254 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:56:27,254 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:56:27,254 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:56:27,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:27,256 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-28 12:56:27,256 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 12:56:27,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:27,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:27,257 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-28 12:56:27,258 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-28 12:56:27,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:27,260 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-28 12:56:27,260 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 12:56:27,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:27,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:27,260 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:27,261 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:27,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:56:27,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-28 12:56:27,263 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-28 12:56:27,263 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:27,263 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-28 12:56:27,263 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:56:27,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 68 transitions. [2022-04-28 12:56:27,354 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:27,354 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-28 12:56:27,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 12:56:27,355 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:27,355 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:27,371 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 12:56:27,571 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:27,572 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:27,572 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:27,572 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-28 12:56:27,572 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:27,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [546279835] [2022-04-28 12:56:27,572 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:27,572 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 2 times [2022-04-28 12:56:27,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:27,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1580009743] [2022-04-28 12:56:27,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:27,573 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:27,589 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:27,589 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [248840001] [2022-04-28 12:56:27,589 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:27,589 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:27,589 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:27,590 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:27,591 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 12:56:27,621 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:27,621 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:27,622 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 12:56:27,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:27,631 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:28,848 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-28 12:56:28,848 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#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(10, 2);call #Ultimate.allocInit(12, 3); {1413#true} is VALID [2022-04-28 12:56:28,848 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:56:28,848 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-28 12:56:28,848 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-28 12:56:28,849 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1413#true} is VALID [2022-04-28 12:56:28,849 INFO L272 TraceCheckUtils]: 6: Hoare triple {1413#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1413#true} is VALID [2022-04-28 12:56:28,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:56:28,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:56:28,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:56:28,849 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-28 12:56:28,849 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-28 12:56:28,849 INFO L272 TraceCheckUtils]: 12: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1413#true} is VALID [2022-04-28 12:56:28,853 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:56:28,854 INFO L290 TraceCheckUtils]: 14: Hoare triple {1457#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:28,854 INFO L290 TraceCheckUtils]: 15: Hoare triple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:28,855 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} {1413#true} #83#return; {1468#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:56:28,855 INFO L272 TraceCheckUtils]: 17: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1413#true} is VALID [2022-04-28 12:56:28,856 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:56:28,856 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:56:28,856 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:56:28,856 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1468#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1468#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:56:28,857 INFO L290 TraceCheckUtils]: 22: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:28,857 INFO L290 TraceCheckUtils]: 23: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:28,857 INFO L272 TraceCheckUtils]: 24: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-28 12:56:28,857 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:56:28,857 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:56:28,858 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:56:28,858 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #87#return; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:28,858 INFO L272 TraceCheckUtils]: 29: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-28 12:56:28,858 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:56:28,859 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:56:28,859 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:56:28,859 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #89#return; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:28,860 INFO L272 TraceCheckUtils]: 34: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-28 12:56:28,860 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:56:28,860 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:56:28,860 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:56:28,860 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #91#return; {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:28,861 INFO L290 TraceCheckUtils]: 39: Hoare triple {1487#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {1539#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:28,862 INFO L290 TraceCheckUtils]: 40: Hoare triple {1539#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {1539#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:28,863 INFO L272 TraceCheckUtils]: 41: Hoare triple {1539#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:28,863 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:28,863 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-28 12:56:28,863 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-28 12:56:28,864 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 12:56:28,864 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:56:29,675 INFO L290 TraceCheckUtils]: 44: Hoare triple {1414#false} assume !false; {1414#false} is VALID [2022-04-28 12:56:29,675 INFO L290 TraceCheckUtils]: 43: Hoare triple {1550#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1414#false} is VALID [2022-04-28 12:56:29,676 INFO L290 TraceCheckUtils]: 42: Hoare triple {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1550#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:29,677 INFO L272 TraceCheckUtils]: 41: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1546#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:29,677 INFO L290 TraceCheckUtils]: 40: Hoare triple {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:56:29,677 INFO L290 TraceCheckUtils]: 39: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1566#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:56:29,678 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:29,678 INFO L290 TraceCheckUtils]: 37: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:56:29,678 INFO L290 TraceCheckUtils]: 36: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:56:29,678 INFO L290 TraceCheckUtils]: 35: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:56:29,678 INFO L272 TraceCheckUtils]: 34: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1413#true} is VALID [2022-04-28 12:56:29,679 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:29,679 INFO L290 TraceCheckUtils]: 32: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:56:29,679 INFO L290 TraceCheckUtils]: 31: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:56:29,679 INFO L290 TraceCheckUtils]: 30: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:56:29,679 INFO L272 TraceCheckUtils]: 29: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1413#true} is VALID [2022-04-28 12:56:29,680 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1413#true} {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:29,680 INFO L290 TraceCheckUtils]: 27: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:56:29,680 INFO L290 TraceCheckUtils]: 26: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:56:29,680 INFO L290 TraceCheckUtils]: 25: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:56:29,680 INFO L272 TraceCheckUtils]: 24: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1413#true} is VALID [2022-04-28 12:56:29,681 INFO L290 TraceCheckUtils]: 23: Hoare triple {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:29,682 INFO L290 TraceCheckUtils]: 22: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1573#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:29,682 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1413#true} {1468#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1468#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:56:29,682 INFO L290 TraceCheckUtils]: 20: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:56:29,682 INFO L290 TraceCheckUtils]: 19: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:56:29,682 INFO L290 TraceCheckUtils]: 18: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:56:29,682 INFO L272 TraceCheckUtils]: 17: Hoare triple {1468#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1413#true} is VALID [2022-04-28 12:56:29,683 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} {1413#true} #83#return; {1468#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:56:29,684 INFO L290 TraceCheckUtils]: 15: Hoare triple {1461#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:29,685 INFO L290 TraceCheckUtils]: 14: Hoare triple {1652#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1461#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:29,685 INFO L290 TraceCheckUtils]: 13: Hoare triple {1413#true} ~cond := #in~cond; {1652#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:56:29,685 INFO L272 TraceCheckUtils]: 12: Hoare triple {1413#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1413#true} is VALID [2022-04-28 12:56:29,685 INFO L290 TraceCheckUtils]: 11: Hoare triple {1413#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1413#true} is VALID [2022-04-28 12:56:29,685 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1413#true} {1413#true} #81#return; {1413#true} is VALID [2022-04-28 12:56:29,685 INFO L290 TraceCheckUtils]: 9: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:56:29,685 INFO L290 TraceCheckUtils]: 8: Hoare triple {1413#true} assume !(0 == ~cond); {1413#true} is VALID [2022-04-28 12:56:29,686 INFO L290 TraceCheckUtils]: 7: Hoare triple {1413#true} ~cond := #in~cond; {1413#true} is VALID [2022-04-28 12:56:29,686 INFO L272 TraceCheckUtils]: 6: Hoare triple {1413#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1413#true} is VALID [2022-04-28 12:56:29,686 INFO L290 TraceCheckUtils]: 5: Hoare triple {1413#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1413#true} is VALID [2022-04-28 12:56:29,686 INFO L272 TraceCheckUtils]: 4: Hoare triple {1413#true} call #t~ret6 := main(); {1413#true} is VALID [2022-04-28 12:56:29,686 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1413#true} {1413#true} #101#return; {1413#true} is VALID [2022-04-28 12:56:29,686 INFO L290 TraceCheckUtils]: 2: Hoare triple {1413#true} assume true; {1413#true} is VALID [2022-04-28 12:56:29,686 INFO L290 TraceCheckUtils]: 1: Hoare triple {1413#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(10, 2);call #Ultimate.allocInit(12, 3); {1413#true} is VALID [2022-04-28 12:56:29,686 INFO L272 TraceCheckUtils]: 0: Hoare triple {1413#true} call ULTIMATE.init(); {1413#true} is VALID [2022-04-28 12:56:29,686 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-28 12:56:29,687 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:29,687 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1580009743] [2022-04-28 12:56:29,687 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:29,687 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [248840001] [2022-04-28 12:56:29,687 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [248840001] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:56:29,687 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:56:29,687 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-04-28 12:56:29,687 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:29,687 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [546279835] [2022-04-28 12:56:29,687 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [546279835] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:29,687 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:29,687 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:56:29,687 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [85475429] [2022-04-28 12:56:29,688 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:29,688 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 45 [2022-04-28 12:56:29,688 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:29,688 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:56:29,715 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:29,716 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:56:29,716 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:29,716 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:56:29,716 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:56:29,716 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:56:30,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:30,206 INFO L93 Difference]: Finished difference Result 65 states and 76 transitions. [2022-04-28 12:56:30,206 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:56:30,206 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 45 [2022-04-28 12:56:30,206 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:30,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:56:30,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 64 transitions. [2022-04-28 12:56:30,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:56:30,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 64 transitions. [2022-04-28 12:56:30,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 64 transitions. [2022-04-28 12:56:30,260 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:30,262 INFO L225 Difference]: With dead ends: 65 [2022-04-28 12:56:30,262 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 12:56:30,262 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:56:30,264 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 23 mSDsluCounter, 136 mSDsCounter, 0 mSdLazyCounter, 150 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 150 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:30,264 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 173 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 150 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:56:30,264 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 12:56:30,297 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2022-04-28 12:56:30,298 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:30,299 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:56:30,299 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:56:30,299 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:56:30,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:30,301 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2022-04-28 12:56:30,301 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-04-28 12:56:30,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:30,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:30,303 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 54 states. [2022-04-28 12:56:30,304 INFO L87 Difference]: Start difference. First operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 54 states. [2022-04-28 12:56:30,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:30,306 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2022-04-28 12:56:30,306 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-04-28 12:56:30,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:30,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:30,315 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:30,315 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:30,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 31 states have (on average 1.1290322580645162) internal successors, (35), 32 states have internal predecessors, (35), 15 states have call successors, (15), 8 states have call predecessors, (15), 7 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:56:30,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 63 transitions. [2022-04-28 12:56:30,317 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 63 transitions. Word has length 45 [2022-04-28 12:56:30,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:30,317 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 63 transitions. [2022-04-28 12:56:30,317 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-28 12:56:30,317 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 63 transitions. [2022-04-28 12:56:30,375 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:30,375 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2022-04-28 12:56:30,375 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 12:56:30,376 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:30,376 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:30,393 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 12:56:30,576 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:30,576 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:30,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:30,577 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-28 12:56:30,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:30,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [261288999] [2022-04-28 12:56:30,577 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:30,577 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 2 times [2022-04-28 12:56:30,577 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:30,577 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [151118944] [2022-04-28 12:56:30,577 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:30,577 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:30,595 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:30,595 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1156665842] [2022-04-28 12:56:30,595 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:30,595 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:30,595 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:30,596 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:30,597 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 12:56:30,627 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:30,627 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:30,628 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 12:56:30,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:30,637 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:31,913 INFO L272 TraceCheckUtils]: 0: Hoare triple {2046#true} call ULTIMATE.init(); {2046#true} is VALID [2022-04-28 12:56:31,913 INFO L290 TraceCheckUtils]: 1: Hoare triple {2046#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(10, 2);call #Ultimate.allocInit(12, 3); {2046#true} is VALID [2022-04-28 12:56:31,913 INFO L290 TraceCheckUtils]: 2: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:31,913 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2046#true} {2046#true} #101#return; {2046#true} is VALID [2022-04-28 12:56:31,914 INFO L272 TraceCheckUtils]: 4: Hoare triple {2046#true} call #t~ret6 := main(); {2046#true} is VALID [2022-04-28 12:56:31,914 INFO L290 TraceCheckUtils]: 5: Hoare triple {2046#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2046#true} is VALID [2022-04-28 12:56:31,914 INFO L272 TraceCheckUtils]: 6: Hoare triple {2046#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:31,914 INFO L290 TraceCheckUtils]: 7: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:31,914 INFO L290 TraceCheckUtils]: 8: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:31,914 INFO L290 TraceCheckUtils]: 9: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:31,914 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2046#true} {2046#true} #81#return; {2046#true} is VALID [2022-04-28 12:56:31,914 INFO L290 TraceCheckUtils]: 11: Hoare triple {2046#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2046#true} is VALID [2022-04-28 12:56:31,914 INFO L272 TraceCheckUtils]: 12: Hoare triple {2046#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:31,915 INFO L290 TraceCheckUtils]: 13: Hoare triple {2046#true} ~cond := #in~cond; {2090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:56:31,915 INFO L290 TraceCheckUtils]: 14: Hoare triple {2090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:31,915 INFO L290 TraceCheckUtils]: 15: Hoare triple {2094#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:31,916 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2094#(not (= |assume_abort_if_not_#in~cond| 0))} {2046#true} #83#return; {2101#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:56:31,916 INFO L272 TraceCheckUtils]: 17: Hoare triple {2101#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:31,916 INFO L290 TraceCheckUtils]: 18: Hoare triple {2046#true} ~cond := #in~cond; {2090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:56:31,916 INFO L290 TraceCheckUtils]: 19: Hoare triple {2090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:31,917 INFO L290 TraceCheckUtils]: 20: Hoare triple {2094#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:31,917 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2094#(not (= |assume_abort_if_not_#in~cond| 0))} {2101#(<= (mod main_~B~0 4294967296) 1)} #85#return; {2117#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:31,918 INFO L290 TraceCheckUtils]: 22: Hoare triple {2117#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:31,918 INFO L290 TraceCheckUtils]: 23: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:31,918 INFO L272 TraceCheckUtils]: 24: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:31,918 INFO L290 TraceCheckUtils]: 25: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:31,918 INFO L290 TraceCheckUtils]: 26: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:31,919 INFO L290 TraceCheckUtils]: 27: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:31,919 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2046#true} {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:31,919 INFO L272 TraceCheckUtils]: 29: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:31,919 INFO L290 TraceCheckUtils]: 30: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:31,919 INFO L290 TraceCheckUtils]: 31: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:31,919 INFO L290 TraceCheckUtils]: 32: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:31,921 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2046#true} {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:31,921 INFO L272 TraceCheckUtils]: 34: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:31,921 INFO L290 TraceCheckUtils]: 35: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:31,921 INFO L290 TraceCheckUtils]: 36: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:31,922 INFO L290 TraceCheckUtils]: 37: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:31,922 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2046#true} {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-28 12:56:31,923 INFO L290 TraceCheckUtils]: 39: Hoare triple {2121#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:31,923 INFO L290 TraceCheckUtils]: 40: Hoare triple {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:31,923 INFO L272 TraceCheckUtils]: 41: Hoare triple {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:31,923 INFO L290 TraceCheckUtils]: 42: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:31,924 INFO L290 TraceCheckUtils]: 43: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:31,924 INFO L290 TraceCheckUtils]: 44: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:31,924 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2046#true} {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:31,924 INFO L272 TraceCheckUtils]: 46: Hoare triple {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:31,924 INFO L290 TraceCheckUtils]: 47: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:31,924 INFO L290 TraceCheckUtils]: 48: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:31,924 INFO L290 TraceCheckUtils]: 49: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:31,925 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2046#true} {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:31,926 INFO L272 TraceCheckUtils]: 51: Hoare triple {2173#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:31,926 INFO L290 TraceCheckUtils]: 52: Hoare triple {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:31,926 INFO L290 TraceCheckUtils]: 53: Hoare triple {2214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2047#false} is VALID [2022-04-28 12:56:31,926 INFO L290 TraceCheckUtils]: 54: Hoare triple {2047#false} assume !false; {2047#false} is VALID [2022-04-28 12:56:31,927 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-28 12:56:31,927 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:56:32,381 INFO L290 TraceCheckUtils]: 54: Hoare triple {2047#false} assume !false; {2047#false} is VALID [2022-04-28 12:56:32,382 INFO L290 TraceCheckUtils]: 53: Hoare triple {2214#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2047#false} is VALID [2022-04-28 12:56:32,382 INFO L290 TraceCheckUtils]: 52: Hoare triple {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2214#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:32,383 INFO L272 TraceCheckUtils]: 51: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2210#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:32,383 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:32,384 INFO L290 TraceCheckUtils]: 49: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:32,384 INFO L290 TraceCheckUtils]: 48: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:32,384 INFO L290 TraceCheckUtils]: 47: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:32,384 INFO L272 TraceCheckUtils]: 46: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:32,384 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:32,384 INFO L290 TraceCheckUtils]: 44: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:32,385 INFO L290 TraceCheckUtils]: 43: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:32,385 INFO L290 TraceCheckUtils]: 42: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:32,385 INFO L272 TraceCheckUtils]: 41: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:32,385 INFO L290 TraceCheckUtils]: 40: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:32,545 INFO L290 TraceCheckUtils]: 39: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:32,546 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:32,546 INFO L290 TraceCheckUtils]: 37: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:32,546 INFO L290 TraceCheckUtils]: 36: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:32,546 INFO L290 TraceCheckUtils]: 35: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:32,546 INFO L272 TraceCheckUtils]: 34: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:32,547 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:32,547 INFO L290 TraceCheckUtils]: 32: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:32,547 INFO L290 TraceCheckUtils]: 31: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:32,547 INFO L290 TraceCheckUtils]: 30: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:32,547 INFO L272 TraceCheckUtils]: 29: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:32,548 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2046#true} {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:32,548 INFO L290 TraceCheckUtils]: 27: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:32,548 INFO L290 TraceCheckUtils]: 26: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:32,548 INFO L290 TraceCheckUtils]: 25: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:32,548 INFO L272 TraceCheckUtils]: 24: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:32,548 INFO L290 TraceCheckUtils]: 23: Hoare triple {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:32,549 INFO L290 TraceCheckUtils]: 22: Hoare triple {2046#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2230#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:56:32,549 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2046#true} {2046#true} #85#return; {2046#true} is VALID [2022-04-28 12:56:32,549 INFO L290 TraceCheckUtils]: 20: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:32,549 INFO L290 TraceCheckUtils]: 19: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:32,549 INFO L290 TraceCheckUtils]: 18: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:32,549 INFO L272 TraceCheckUtils]: 17: Hoare triple {2046#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:32,549 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2046#true} {2046#true} #83#return; {2046#true} is VALID [2022-04-28 12:56:32,550 INFO L290 TraceCheckUtils]: 15: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:32,550 INFO L290 TraceCheckUtils]: 14: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:32,550 INFO L290 TraceCheckUtils]: 13: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:32,550 INFO L272 TraceCheckUtils]: 12: Hoare triple {2046#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:32,550 INFO L290 TraceCheckUtils]: 11: Hoare triple {2046#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2046#true} is VALID [2022-04-28 12:56:32,550 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2046#true} {2046#true} #81#return; {2046#true} is VALID [2022-04-28 12:56:32,550 INFO L290 TraceCheckUtils]: 9: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:32,550 INFO L290 TraceCheckUtils]: 8: Hoare triple {2046#true} assume !(0 == ~cond); {2046#true} is VALID [2022-04-28 12:56:32,550 INFO L290 TraceCheckUtils]: 7: Hoare triple {2046#true} ~cond := #in~cond; {2046#true} is VALID [2022-04-28 12:56:32,550 INFO L272 TraceCheckUtils]: 6: Hoare triple {2046#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2046#true} is VALID [2022-04-28 12:56:32,550 INFO L290 TraceCheckUtils]: 5: Hoare triple {2046#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2046#true} is VALID [2022-04-28 12:56:32,550 INFO L272 TraceCheckUtils]: 4: Hoare triple {2046#true} call #t~ret6 := main(); {2046#true} is VALID [2022-04-28 12:56:32,551 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2046#true} {2046#true} #101#return; {2046#true} is VALID [2022-04-28 12:56:32,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {2046#true} assume true; {2046#true} is VALID [2022-04-28 12:56:32,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {2046#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(10, 2);call #Ultimate.allocInit(12, 3); {2046#true} is VALID [2022-04-28 12:56:32,551 INFO L272 TraceCheckUtils]: 0: Hoare triple {2046#true} call ULTIMATE.init(); {2046#true} is VALID [2022-04-28 12:56:32,551 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-28 12:56:32,551 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:32,551 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [151118944] [2022-04-28 12:56:32,551 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:32,551 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1156665842] [2022-04-28 12:56:32,551 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1156665842] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:56:32,552 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:56:32,552 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-28 12:56:32,552 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:32,552 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [261288999] [2022-04-28 12:56:32,552 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [261288999] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:32,552 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:32,552 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:56:32,552 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [928621294] [2022-04-28 12:56:32,552 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:32,553 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-28 12:56:32,553 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:32,553 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:32,576 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:32,576 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:56:32,576 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:32,576 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:56:32,576 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:56:32,577 INFO L87 Difference]: Start difference. First operand 54 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:34,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:34,965 INFO L93 Difference]: Finished difference Result 66 states and 78 transitions. [2022-04-28 12:56:34,965 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:56:34,966 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-28 12:56:34,966 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:34,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:34,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 12:56:34,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:34,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-28 12:56:34,968 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-28 12:56:35,018 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-28 12:56:35,020 INFO L225 Difference]: With dead ends: 66 [2022-04-28 12:56:35,020 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 12:56:35,020 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 98 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:56:35,021 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:35,021 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:56:35,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 12:56:35,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 61. [2022-04-28 12:56:35,059 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:35,059 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:56:35,060 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:56:35,060 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:56:35,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:35,064 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-28 12:56:35,064 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-28 12:56:35,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:35,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:35,066 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 64 states. [2022-04-28 12:56:35,066 INFO L87 Difference]: Start difference. First operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 64 states. [2022-04-28 12:56:35,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:35,069 INFO L93 Difference]: Finished difference Result 64 states and 76 transitions. [2022-04-28 12:56:35,069 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2022-04-28 12:56:35,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:35,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:35,070 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:35,070 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:35,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 37 states have internal predecessors, (39), 17 states have call successors, (17), 9 states have call predecessors, (17), 8 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-28 12:56:35,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 71 transitions. [2022-04-28 12:56:35,072 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 71 transitions. Word has length 55 [2022-04-28 12:56:35,073 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:35,073 INFO L495 AbstractCegarLoop]: Abstraction has 61 states and 71 transitions. [2022-04-28 12:56:35,073 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:56:35,073 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 71 transitions. [2022-04-28 12:56:35,147 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:35,147 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 71 transitions. [2022-04-28 12:56:35,148 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2022-04-28 12:56:35,149 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:35,149 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:35,169 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 12:56:35,369 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:35,369 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:35,369 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:35,370 INFO L85 PathProgramCache]: Analyzing trace with hash -1784683007, now seen corresponding path program 1 times [2022-04-28 12:56:35,370 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:35,370 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [607277486] [2022-04-28 12:56:35,370 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:35,370 INFO L85 PathProgramCache]: Analyzing trace with hash -1784683007, now seen corresponding path program 2 times [2022-04-28 12:56:35,370 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:35,371 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [706949085] [2022-04-28 12:56:35,371 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:35,371 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:35,382 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:35,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [606255045] [2022-04-28 12:56:35,382 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:35,382 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:35,382 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:35,383 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:35,401 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 12:56:35,436 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:35,436 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:35,436 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 12:56:35,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:35,453 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:38,675 INFO L272 TraceCheckUtils]: 0: Hoare triple {2770#true} call ULTIMATE.init(); {2770#true} is VALID [2022-04-28 12:56:38,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {2770#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(10, 2);call #Ultimate.allocInit(12, 3); {2770#true} is VALID [2022-04-28 12:56:38,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:38,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2770#true} {2770#true} #101#return; {2770#true} is VALID [2022-04-28 12:56:38,676 INFO L272 TraceCheckUtils]: 4: Hoare triple {2770#true} call #t~ret6 := main(); {2770#true} is VALID [2022-04-28 12:56:38,676 INFO L290 TraceCheckUtils]: 5: Hoare triple {2770#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2770#true} is VALID [2022-04-28 12:56:38,676 INFO L272 TraceCheckUtils]: 6: Hoare triple {2770#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:38,676 INFO L290 TraceCheckUtils]: 7: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:38,676 INFO L290 TraceCheckUtils]: 8: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:38,676 INFO L290 TraceCheckUtils]: 9: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:38,677 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2770#true} {2770#true} #81#return; {2770#true} is VALID [2022-04-28 12:56:38,677 INFO L290 TraceCheckUtils]: 11: Hoare triple {2770#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2770#true} is VALID [2022-04-28 12:56:38,677 INFO L272 TraceCheckUtils]: 12: Hoare triple {2770#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:38,677 INFO L290 TraceCheckUtils]: 13: Hoare triple {2770#true} ~cond := #in~cond; {2814#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:56:38,677 INFO L290 TraceCheckUtils]: 14: Hoare triple {2814#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2818#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:38,678 INFO L290 TraceCheckUtils]: 15: Hoare triple {2818#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2818#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:38,678 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2818#(not (= |assume_abort_if_not_#in~cond| 0))} {2770#true} #83#return; {2825#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:56:38,678 INFO L272 TraceCheckUtils]: 17: Hoare triple {2825#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:38,679 INFO L290 TraceCheckUtils]: 18: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:38,679 INFO L290 TraceCheckUtils]: 19: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:38,679 INFO L290 TraceCheckUtils]: 20: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:38,683 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2770#true} {2825#(<= (mod main_~B~0 4294967296) 1)} #85#return; {2825#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:56:38,687 INFO L290 TraceCheckUtils]: 22: Hoare triple {2825#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-28 12:56:38,687 INFO L290 TraceCheckUtils]: 23: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} assume !false; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-28 12:56:38,687 INFO L272 TraceCheckUtils]: 24: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:38,687 INFO L290 TraceCheckUtils]: 25: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:38,688 INFO L290 TraceCheckUtils]: 26: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:38,688 INFO L290 TraceCheckUtils]: 27: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:38,688 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2770#true} {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} #87#return; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-28 12:56:38,688 INFO L272 TraceCheckUtils]: 29: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:38,689 INFO L290 TraceCheckUtils]: 30: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:38,689 INFO L290 TraceCheckUtils]: 31: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:38,689 INFO L290 TraceCheckUtils]: 32: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:38,689 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2770#true} {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} #89#return; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-28 12:56:38,689 INFO L272 TraceCheckUtils]: 34: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:38,690 INFO L290 TraceCheckUtils]: 35: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:38,690 INFO L290 TraceCheckUtils]: 36: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:38,690 INFO L290 TraceCheckUtils]: 37: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:38,690 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2770#true} {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} #91#return; {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} is VALID [2022-04-28 12:56:38,691 INFO L290 TraceCheckUtils]: 39: Hoare triple {2844#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:38,692 INFO L290 TraceCheckUtils]: 40: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:38,692 INFO L272 TraceCheckUtils]: 41: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:38,692 INFO L290 TraceCheckUtils]: 42: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:38,692 INFO L290 TraceCheckUtils]: 43: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:38,692 INFO L290 TraceCheckUtils]: 44: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:38,693 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2770#true} {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:38,693 INFO L272 TraceCheckUtils]: 46: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:38,693 INFO L290 TraceCheckUtils]: 47: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:38,693 INFO L290 TraceCheckUtils]: 48: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:38,694 INFO L290 TraceCheckUtils]: 49: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:38,695 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2770#true} {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:38,695 INFO L272 TraceCheckUtils]: 51: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:38,695 INFO L290 TraceCheckUtils]: 52: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:38,695 INFO L290 TraceCheckUtils]: 53: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:38,695 INFO L290 TraceCheckUtils]: 54: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:38,695 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2770#true} {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:38,696 INFO L290 TraceCheckUtils]: 56: Hoare triple {2896#(and (<= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {2948#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:38,697 INFO L290 TraceCheckUtils]: 57: Hoare triple {2948#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {2948#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:38,697 INFO L272 TraceCheckUtils]: 58: Hoare triple {2948#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:38,698 INFO L290 TraceCheckUtils]: 59: Hoare triple {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:38,698 INFO L290 TraceCheckUtils]: 60: Hoare triple {2959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2771#false} is VALID [2022-04-28 12:56:38,698 INFO L290 TraceCheckUtils]: 61: Hoare triple {2771#false} assume !false; {2771#false} is VALID [2022-04-28 12:56:38,698 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 15 proven. 8 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2022-04-28 12:56:38,698 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:56:39,871 INFO L290 TraceCheckUtils]: 61: Hoare triple {2771#false} assume !false; {2771#false} is VALID [2022-04-28 12:56:39,873 INFO L290 TraceCheckUtils]: 60: Hoare triple {2959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2771#false} is VALID [2022-04-28 12:56:39,873 INFO L290 TraceCheckUtils]: 59: Hoare triple {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:39,874 INFO L272 TraceCheckUtils]: 58: Hoare triple {2975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:39,874 INFO L290 TraceCheckUtils]: 57: Hoare triple {2975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {2975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:56:39,874 INFO L290 TraceCheckUtils]: 56: Hoare triple {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {2975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:56:39,875 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2770#true} {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:39,875 INFO L290 TraceCheckUtils]: 54: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:39,875 INFO L290 TraceCheckUtils]: 53: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:39,875 INFO L290 TraceCheckUtils]: 52: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:39,875 INFO L272 TraceCheckUtils]: 51: Hoare triple {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:39,876 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2770#true} {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:39,876 INFO L290 TraceCheckUtils]: 49: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:39,876 INFO L290 TraceCheckUtils]: 48: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:39,876 INFO L290 TraceCheckUtils]: 47: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:39,876 INFO L272 TraceCheckUtils]: 46: Hoare triple {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:39,877 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2770#true} {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:39,877 INFO L290 TraceCheckUtils]: 44: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:39,877 INFO L290 TraceCheckUtils]: 43: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:39,877 INFO L290 TraceCheckUtils]: 42: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:39,877 INFO L272 TraceCheckUtils]: 41: Hoare triple {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:39,877 INFO L290 TraceCheckUtils]: 40: Hoare triple {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:39,878 INFO L290 TraceCheckUtils]: 39: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2982#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:39,879 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2770#true} {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:56:39,879 INFO L290 TraceCheckUtils]: 37: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:39,879 INFO L290 TraceCheckUtils]: 36: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:39,879 INFO L290 TraceCheckUtils]: 35: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:39,879 INFO L272 TraceCheckUtils]: 34: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:39,879 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2770#true} {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:56:39,880 INFO L290 TraceCheckUtils]: 32: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:39,880 INFO L290 TraceCheckUtils]: 31: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:39,880 INFO L290 TraceCheckUtils]: 30: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:39,880 INFO L272 TraceCheckUtils]: 29: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:39,883 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2770#true} {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:56:39,884 INFO L290 TraceCheckUtils]: 27: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:39,884 INFO L290 TraceCheckUtils]: 26: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:39,884 INFO L290 TraceCheckUtils]: 25: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:39,884 INFO L272 TraceCheckUtils]: 24: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:39,884 INFO L290 TraceCheckUtils]: 23: Hoare triple {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:56:39,885 INFO L290 TraceCheckUtils]: 22: Hoare triple {2770#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3034#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:56:39,885 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2770#true} {2770#true} #85#return; {2770#true} is VALID [2022-04-28 12:56:39,885 INFO L290 TraceCheckUtils]: 20: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:39,885 INFO L290 TraceCheckUtils]: 19: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:39,885 INFO L290 TraceCheckUtils]: 18: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:39,885 INFO L272 TraceCheckUtils]: 17: Hoare triple {2770#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:39,885 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2770#true} {2770#true} #83#return; {2770#true} is VALID [2022-04-28 12:56:39,885 INFO L290 TraceCheckUtils]: 15: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:39,885 INFO L290 TraceCheckUtils]: 14: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:39,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L272 TraceCheckUtils]: 12: Hoare triple {2770#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L290 TraceCheckUtils]: 11: Hoare triple {2770#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2770#true} {2770#true} #81#return; {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L290 TraceCheckUtils]: 9: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L290 TraceCheckUtils]: 8: Hoare triple {2770#true} assume !(0 == ~cond); {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L290 TraceCheckUtils]: 7: Hoare triple {2770#true} ~cond := #in~cond; {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L272 TraceCheckUtils]: 6: Hoare triple {2770#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {2770#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L272 TraceCheckUtils]: 4: Hoare triple {2770#true} call #t~ret6 := main(); {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2770#true} {2770#true} #101#return; {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {2770#true} assume true; {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {2770#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(10, 2);call #Ultimate.allocInit(12, 3); {2770#true} is VALID [2022-04-28 12:56:39,886 INFO L272 TraceCheckUtils]: 0: Hoare triple {2770#true} call ULTIMATE.init(); {2770#true} is VALID [2022-04-28 12:56:39,887 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 5 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-28 12:56:39,887 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:39,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [706949085] [2022-04-28 12:56:39,887 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:39,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [606255045] [2022-04-28 12:56:39,887 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [606255045] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:56:39,887 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:56:39,887 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 13 [2022-04-28 12:56:39,887 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:39,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [607277486] [2022-04-28 12:56:39,888 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [607277486] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:39,888 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:39,888 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:56:39,888 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [41954101] [2022-04-28 12:56:39,888 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:39,888 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 62 [2022-04-28 12:56:39,888 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:39,888 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:56:39,950 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:39,951 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:56:39,951 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:39,951 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:56:39,951 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=119, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:56:39,951 INFO L87 Difference]: Start difference. First operand 61 states and 71 transitions. Second operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:56:41,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:41,137 INFO L93 Difference]: Finished difference Result 90 states and 108 transitions. [2022-04-28 12:56:41,137 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:56:41,137 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 62 [2022-04-28 12:56:41,137 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:41,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:56:41,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2022-04-28 12:56:41,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:56:41,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2022-04-28 12:56:41,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 77 transitions. [2022-04-28 12:56:41,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:41,208 INFO L225 Difference]: With dead ends: 90 [2022-04-28 12:56:41,208 INFO L226 Difference]: Without dead ends: 88 [2022-04-28 12:56:41,209 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 111 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=53, Invalid=187, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:56:41,209 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 28 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 234 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 260 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 234 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:41,209 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 170 Invalid, 260 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 234 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:56:41,210 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-04-28 12:56:41,300 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 87. [2022-04-28 12:56:41,300 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:41,300 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:56:41,301 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:56:41,301 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:56:41,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:41,304 INFO L93 Difference]: Finished difference Result 88 states and 106 transitions. [2022-04-28 12:56:41,304 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 106 transitions. [2022-04-28 12:56:41,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:41,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:41,305 INFO L74 IsIncluded]: Start isIncluded. First operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) Second operand 88 states. [2022-04-28 12:56:41,305 INFO L87 Difference]: Start difference. First operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) Second operand 88 states. [2022-04-28 12:56:41,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:41,308 INFO L93 Difference]: Finished difference Result 88 states and 106 transitions. [2022-04-28 12:56:41,308 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 106 transitions. [2022-04-28 12:56:41,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:41,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:41,309 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:41,309 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:41,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 87 states, 50 states have (on average 1.14) internal successors, (57), 54 states have internal predecessors, (57), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:56:41,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 87 states to 87 states and 105 transitions. [2022-04-28 12:56:41,312 INFO L78 Accepts]: Start accepts. Automaton has 87 states and 105 transitions. Word has length 62 [2022-04-28 12:56:41,312 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:41,312 INFO L495 AbstractCegarLoop]: Abstraction has 87 states and 105 transitions. [2022-04-28 12:56:41,313 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 12:56:41,313 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 87 states and 105 transitions. [2022-04-28 12:56:41,456 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:41,456 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 105 transitions. [2022-04-28 12:56:41,456 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 12:56:41,456 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:41,456 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:41,472 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 12:56:41,657 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:41,657 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:41,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:41,657 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-28 12:56:41,658 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:41,658 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1018942199] [2022-04-28 12:56:41,658 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:41,658 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 2 times [2022-04-28 12:56:41,658 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:41,658 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [755930157] [2022-04-28 12:56:41,658 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:41,658 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:41,668 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:41,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [799245757] [2022-04-28 12:56:41,669 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:56:41,669 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:41,669 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:41,670 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:41,671 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 12:56:41,728 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:56:41,728 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:41,729 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 12:56:41,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:41,745 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:56:47,781 INFO L272 TraceCheckUtils]: 0: Hoare triple {3690#true} call ULTIMATE.init(); {3690#true} is VALID [2022-04-28 12:56:47,781 INFO L290 TraceCheckUtils]: 1: Hoare triple {3690#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(10, 2);call #Ultimate.allocInit(12, 3); {3690#true} is VALID [2022-04-28 12:56:47,782 INFO L290 TraceCheckUtils]: 2: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:47,782 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3690#true} {3690#true} #101#return; {3690#true} is VALID [2022-04-28 12:56:47,782 INFO L272 TraceCheckUtils]: 4: Hoare triple {3690#true} call #t~ret6 := main(); {3690#true} is VALID [2022-04-28 12:56:47,782 INFO L290 TraceCheckUtils]: 5: Hoare triple {3690#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3690#true} is VALID [2022-04-28 12:56:47,782 INFO L272 TraceCheckUtils]: 6: Hoare triple {3690#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:47,782 INFO L290 TraceCheckUtils]: 7: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:47,782 INFO L290 TraceCheckUtils]: 8: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:47,782 INFO L290 TraceCheckUtils]: 9: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:47,782 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3690#true} {3690#true} #81#return; {3690#true} is VALID [2022-04-28 12:56:47,782 INFO L290 TraceCheckUtils]: 11: Hoare triple {3690#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3690#true} is VALID [2022-04-28 12:56:47,782 INFO L272 TraceCheckUtils]: 12: Hoare triple {3690#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:47,783 INFO L290 TraceCheckUtils]: 13: Hoare triple {3690#true} ~cond := #in~cond; {3734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:56:47,783 INFO L290 TraceCheckUtils]: 14: Hoare triple {3734#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:47,783 INFO L290 TraceCheckUtils]: 15: Hoare triple {3738#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3738#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:56:47,784 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3738#(not (= |assume_abort_if_not_#in~cond| 0))} {3690#true} #83#return; {3745#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:56:47,784 INFO L272 TraceCheckUtils]: 17: Hoare triple {3745#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:47,784 INFO L290 TraceCheckUtils]: 18: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:47,784 INFO L290 TraceCheckUtils]: 19: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:47,784 INFO L290 TraceCheckUtils]: 20: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:47,785 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3690#true} {3745#(<= (mod main_~B~0 4294967296) 1)} #85#return; {3745#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:56:47,785 INFO L290 TraceCheckUtils]: 22: Hoare triple {3745#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:56:47,786 INFO L290 TraceCheckUtils]: 23: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:56:47,786 INFO L272 TraceCheckUtils]: 24: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:47,786 INFO L290 TraceCheckUtils]: 25: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:47,786 INFO L290 TraceCheckUtils]: 26: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:47,786 INFO L290 TraceCheckUtils]: 27: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:47,787 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3690#true} {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:56:47,787 INFO L272 TraceCheckUtils]: 29: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:47,787 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:47,787 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:47,787 INFO L290 TraceCheckUtils]: 32: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:47,788 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3690#true} {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:56:47,788 INFO L272 TraceCheckUtils]: 34: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:47,788 INFO L290 TraceCheckUtils]: 35: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:47,788 INFO L290 TraceCheckUtils]: 36: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:47,788 INFO L290 TraceCheckUtils]: 37: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:47,789 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3690#true} {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:56:47,790 INFO L290 TraceCheckUtils]: 39: Hoare triple {3764#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:47,790 INFO L290 TraceCheckUtils]: 40: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:47,790 INFO L272 TraceCheckUtils]: 41: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:47,791 INFO L290 TraceCheckUtils]: 42: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:47,791 INFO L290 TraceCheckUtils]: 43: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:47,791 INFO L290 TraceCheckUtils]: 44: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:47,791 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3690#true} {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:47,792 INFO L272 TraceCheckUtils]: 46: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:47,792 INFO L290 TraceCheckUtils]: 47: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:47,792 INFO L290 TraceCheckUtils]: 48: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:47,792 INFO L290 TraceCheckUtils]: 49: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:47,792 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3690#true} {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:47,793 INFO L272 TraceCheckUtils]: 51: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:47,793 INFO L290 TraceCheckUtils]: 52: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:47,793 INFO L290 TraceCheckUtils]: 53: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:47,793 INFO L290 TraceCheckUtils]: 54: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:47,793 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3690#true} {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:47,794 INFO L290 TraceCheckUtils]: 56: Hoare triple {3816#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:47,794 INFO L290 TraceCheckUtils]: 57: Hoare triple {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:47,795 INFO L272 TraceCheckUtils]: 58: Hoare triple {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:47,795 INFO L290 TraceCheckUtils]: 59: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:47,795 INFO L290 TraceCheckUtils]: 60: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:47,795 INFO L290 TraceCheckUtils]: 61: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:47,795 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3690#true} {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:47,796 INFO L272 TraceCheckUtils]: 63: Hoare triple {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:47,796 INFO L290 TraceCheckUtils]: 64: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:47,796 INFO L290 TraceCheckUtils]: 65: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:47,796 INFO L290 TraceCheckUtils]: 66: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:47,796 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3690#true} {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:56:47,798 INFO L290 TraceCheckUtils]: 68: Hoare triple {3868#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3905#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 12:56:47,799 INFO L290 TraceCheckUtils]: 69: Hoare triple {3905#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3909#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} is VALID [2022-04-28 12:56:47,800 INFO L290 TraceCheckUtils]: 70: Hoare triple {3909#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} assume !false; {3909#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} is VALID [2022-04-28 12:56:47,801 INFO L272 TraceCheckUtils]: 71: Hoare triple {3909#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:47,801 INFO L290 TraceCheckUtils]: 72: Hoare triple {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3920#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:47,801 INFO L290 TraceCheckUtils]: 73: Hoare triple {3920#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3691#false} is VALID [2022-04-28 12:56:47,801 INFO L290 TraceCheckUtils]: 74: Hoare triple {3691#false} assume !false; {3691#false} is VALID [2022-04-28 12:56:47,802 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 19 proven. 10 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-28 12:56:47,802 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:56:54,346 INFO L290 TraceCheckUtils]: 74: Hoare triple {3691#false} assume !false; {3691#false} is VALID [2022-04-28 12:56:54,347 INFO L290 TraceCheckUtils]: 73: Hoare triple {3920#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3691#false} is VALID [2022-04-28 12:56:54,347 INFO L290 TraceCheckUtils]: 72: Hoare triple {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3920#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:56:54,347 INFO L272 TraceCheckUtils]: 71: Hoare triple {3936#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3916#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:56:54,348 INFO L290 TraceCheckUtils]: 70: Hoare triple {3936#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3936#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:56:54,350 INFO L290 TraceCheckUtils]: 69: Hoare triple {3943#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3936#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-28 12:56:54,360 INFO L290 TraceCheckUtils]: 68: Hoare triple {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 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); {3943#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-28 12:56:54,361 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3690#true} {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #95#return; {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:56:54,361 INFO L290 TraceCheckUtils]: 66: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:54,361 INFO L290 TraceCheckUtils]: 65: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:54,361 INFO L290 TraceCheckUtils]: 64: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:54,361 INFO L272 TraceCheckUtils]: 63: Hoare triple {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:54,362 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3690#true} {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} #93#return; {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:56:54,362 INFO L290 TraceCheckUtils]: 61: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:54,362 INFO L290 TraceCheckUtils]: 60: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:54,362 INFO L290 TraceCheckUtils]: 59: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:54,362 INFO L272 TraceCheckUtils]: 58: Hoare triple {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:54,363 INFO L290 TraceCheckUtils]: 57: Hoare triple {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !false; {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:56:54,364 INFO L290 TraceCheckUtils]: 56: Hoare triple {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {3947#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-28 12:56:54,364 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3690#true} {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #91#return; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:54,365 INFO L290 TraceCheckUtils]: 54: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:54,365 INFO L290 TraceCheckUtils]: 53: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:54,365 INFO L290 TraceCheckUtils]: 52: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:54,365 INFO L272 TraceCheckUtils]: 51: Hoare triple {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:54,365 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3690#true} {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #89#return; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:54,365 INFO L290 TraceCheckUtils]: 49: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:54,365 INFO L290 TraceCheckUtils]: 48: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:54,366 INFO L290 TraceCheckUtils]: 47: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:54,366 INFO L272 TraceCheckUtils]: 46: Hoare triple {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:54,366 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3690#true} {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} #87#return; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:54,366 INFO L290 TraceCheckUtils]: 44: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:54,366 INFO L290 TraceCheckUtils]: 43: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:54,366 INFO L290 TraceCheckUtils]: 42: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:54,366 INFO L272 TraceCheckUtils]: 41: Hoare triple {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:54,367 INFO L290 TraceCheckUtils]: 40: Hoare triple {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} assume !false; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:54,370 INFO L290 TraceCheckUtils]: 39: Hoare triple {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3984#(or (and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:56:54,371 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3690#true} {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:56:54,371 INFO L290 TraceCheckUtils]: 37: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:54,371 INFO L290 TraceCheckUtils]: 36: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:54,371 INFO L290 TraceCheckUtils]: 35: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:54,371 INFO L272 TraceCheckUtils]: 34: Hoare triple {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:54,372 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3690#true} {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:56:54,372 INFO L290 TraceCheckUtils]: 32: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:54,372 INFO L290 TraceCheckUtils]: 31: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:54,372 INFO L290 TraceCheckUtils]: 30: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:54,372 INFO L272 TraceCheckUtils]: 29: Hoare triple {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:54,372 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3690#true} {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:56:54,373 INFO L290 TraceCheckUtils]: 27: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:54,387 INFO L290 TraceCheckUtils]: 26: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:54,387 INFO L290 TraceCheckUtils]: 25: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:54,387 INFO L272 TraceCheckUtils]: 24: Hoare triple {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:54,388 INFO L290 TraceCheckUtils]: 23: Hoare triple {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:56:54,390 INFO L290 TraceCheckUtils]: 22: Hoare triple {3690#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4036#(or (not (<= main_~d~0 main_~r~0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:56:54,390 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3690#true} {3690#true} #85#return; {3690#true} is VALID [2022-04-28 12:56:54,390 INFO L290 TraceCheckUtils]: 20: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:54,390 INFO L290 TraceCheckUtils]: 19: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:54,390 INFO L290 TraceCheckUtils]: 18: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:54,403 INFO L272 TraceCheckUtils]: 17: Hoare triple {3690#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:54,403 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3690#true} {3690#true} #83#return; {3690#true} is VALID [2022-04-28 12:56:54,403 INFO L290 TraceCheckUtils]: 15: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:54,403 INFO L290 TraceCheckUtils]: 14: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:54,403 INFO L290 TraceCheckUtils]: 13: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:54,403 INFO L272 TraceCheckUtils]: 12: Hoare triple {3690#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:54,403 INFO L290 TraceCheckUtils]: 11: Hoare triple {3690#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3690#true} is VALID [2022-04-28 12:56:54,404 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3690#true} {3690#true} #81#return; {3690#true} is VALID [2022-04-28 12:56:54,404 INFO L290 TraceCheckUtils]: 9: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:54,404 INFO L290 TraceCheckUtils]: 8: Hoare triple {3690#true} assume !(0 == ~cond); {3690#true} is VALID [2022-04-28 12:56:54,404 INFO L290 TraceCheckUtils]: 7: Hoare triple {3690#true} ~cond := #in~cond; {3690#true} is VALID [2022-04-28 12:56:54,404 INFO L272 TraceCheckUtils]: 6: Hoare triple {3690#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {3690#true} is VALID [2022-04-28 12:56:54,404 INFO L290 TraceCheckUtils]: 5: Hoare triple {3690#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3690#true} is VALID [2022-04-28 12:56:54,404 INFO L272 TraceCheckUtils]: 4: Hoare triple {3690#true} call #t~ret6 := main(); {3690#true} is VALID [2022-04-28 12:56:54,404 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3690#true} {3690#true} #101#return; {3690#true} is VALID [2022-04-28 12:56:54,404 INFO L290 TraceCheckUtils]: 2: Hoare triple {3690#true} assume true; {3690#true} is VALID [2022-04-28 12:56:54,404 INFO L290 TraceCheckUtils]: 1: Hoare triple {3690#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(10, 2);call #Ultimate.allocInit(12, 3); {3690#true} is VALID [2022-04-28 12:56:54,404 INFO L272 TraceCheckUtils]: 0: Hoare triple {3690#true} call ULTIMATE.init(); {3690#true} is VALID [2022-04-28 12:56:54,405 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-28 12:56:54,405 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:56:54,405 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [755930157] [2022-04-28 12:56:54,405 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:56:54,405 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [799245757] [2022-04-28 12:56:54,405 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [799245757] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:56:54,405 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:56:54,405 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 17 [2022-04-28 12:56:54,405 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:56:54,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1018942199] [2022-04-28 12:56:54,406 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1018942199] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:56:54,406 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:56:54,406 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:56:54,406 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1055711974] [2022-04-28 12:56:54,406 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:56:54,406 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-28 12:56:54,407 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:56:54,407 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:56:54,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:54,457 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:56:54,457 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:54,457 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:56:54,457 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:56:54,458 INFO L87 Difference]: Start difference. First operand 87 states and 105 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:56:56,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:56,192 INFO L93 Difference]: Finished difference Result 121 states and 148 transitions. [2022-04-28 12:56:56,192 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:56:56,192 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-28 12:56:56,192 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:56:56,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:56:56,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-28 12:56:56,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:56:56,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 102 transitions. [2022-04-28 12:56:56,196 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 102 transitions. [2022-04-28 12:56:56,285 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:56,287 INFO L225 Difference]: With dead ends: 121 [2022-04-28 12:56:56,287 INFO L226 Difference]: Without dead ends: 98 [2022-04-28 12:56:56,288 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 68 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=70, Invalid=272, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:56:56,288 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 23 mSDsluCounter, 169 mSDsCounter, 0 mSdLazyCounter, 345 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 367 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 345 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:56:56,288 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 214 Invalid, 367 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 345 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:56:56,289 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-28 12:56:56,394 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 96. [2022-04-28 12:56:56,394 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:56:56,394 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 12:56:56,395 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 12:56:56,395 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 12:56:56,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:56,397 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-28 12:56:56,397 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-28 12:56:56,397 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:56,397 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:56,398 INFO L74 IsIncluded]: Start isIncluded. First operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 98 states. [2022-04-28 12:56:56,398 INFO L87 Difference]: Start difference. First operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 98 states. [2022-04-28 12:56:56,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:56:56,400 INFO L93 Difference]: Finished difference Result 98 states and 114 transitions. [2022-04-28 12:56:56,400 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 114 transitions. [2022-04-28 12:56:56,400 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:56:56,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:56:56,400 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:56:56,400 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:56:56,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 96 states, 58 states have (on average 1.1206896551724137) internal successors, (65), 60 states have internal predecessors, (65), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-28 12:56:56,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 111 transitions. [2022-04-28 12:56:56,403 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 111 transitions. Word has length 75 [2022-04-28 12:56:56,403 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:56:56,403 INFO L495 AbstractCegarLoop]: Abstraction has 96 states and 111 transitions. [2022-04-28 12:56:56,403 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:56:56,404 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 96 states and 111 transitions. [2022-04-28 12:56:56,537 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:56:56,538 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 111 transitions. [2022-04-28 12:56:56,538 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 12:56:56,538 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:56:56,538 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:56:56,554 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 12:56:56,746 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:56,747 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:56:56,747 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:56:56,747 INFO L85 PathProgramCache]: Analyzing trace with hash -1211630783, now seen corresponding path program 3 times [2022-04-28 12:56:56,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:56:56,755 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [782151984] [2022-04-28 12:56:56,755 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:56:56,755 INFO L85 PathProgramCache]: Analyzing trace with hash -1211630783, now seen corresponding path program 4 times [2022-04-28 12:56:56,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:56:56,755 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [336211307] [2022-04-28 12:56:56,756 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:56:56,756 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:56:56,764 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:56:56,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [517661522] [2022-04-28 12:56:56,764 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:56:56,765 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:56:56,765 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:56:56,765 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:56:56,766 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 12:56:56,806 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:56:56,806 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:56:56,807 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:56:56,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:56:56,822 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:00,929 INFO L272 TraceCheckUtils]: 0: Hoare triple {4790#true} call ULTIMATE.init(); {4790#true} is VALID [2022-04-28 12:57:00,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {4790#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(10, 2);call #Ultimate.allocInit(12, 3); {4790#true} is VALID [2022-04-28 12:57:00,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:00,930 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4790#true} {4790#true} #101#return; {4790#true} is VALID [2022-04-28 12:57:00,930 INFO L272 TraceCheckUtils]: 4: Hoare triple {4790#true} call #t~ret6 := main(); {4790#true} is VALID [2022-04-28 12:57:00,930 INFO L290 TraceCheckUtils]: 5: Hoare triple {4790#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4790#true} is VALID [2022-04-28 12:57:00,930 INFO L272 TraceCheckUtils]: 6: Hoare triple {4790#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:00,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {4790#true} ~cond := #in~cond; {4816#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:57:00,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {4816#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4820#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:57:00,931 INFO L290 TraceCheckUtils]: 9: Hoare triple {4820#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4820#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:57:00,931 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4820#(not (= |assume_abort_if_not_#in~cond| 0))} {4790#true} #81#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-28 12:57:00,932 INFO L290 TraceCheckUtils]: 11: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} ~B~0 := #t~nondet5;havoc #t~nondet5; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-28 12:57:00,932 INFO L272 TraceCheckUtils]: 12: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:00,932 INFO L290 TraceCheckUtils]: 13: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:00,932 INFO L290 TraceCheckUtils]: 14: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:00,932 INFO L290 TraceCheckUtils]: 15: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:00,932 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4790#true} {4827#(<= (mod main_~A~0 4294967296) 1)} #83#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-28 12:57:00,932 INFO L272 TraceCheckUtils]: 17: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:00,932 INFO L290 TraceCheckUtils]: 18: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:00,933 INFO L290 TraceCheckUtils]: 19: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:00,933 INFO L290 TraceCheckUtils]: 20: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:00,933 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4790#true} {4827#(<= (mod main_~A~0 4294967296) 1)} #85#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-28 12:57:00,935 INFO L290 TraceCheckUtils]: 22: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,935 INFO L290 TraceCheckUtils]: 23: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,935 INFO L272 TraceCheckUtils]: 24: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:00,935 INFO L290 TraceCheckUtils]: 25: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:00,935 INFO L290 TraceCheckUtils]: 26: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:00,935 INFO L290 TraceCheckUtils]: 27: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:00,936 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4790#true} {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,936 INFO L272 TraceCheckUtils]: 29: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:00,936 INFO L290 TraceCheckUtils]: 30: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:00,936 INFO L290 TraceCheckUtils]: 31: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:00,936 INFO L290 TraceCheckUtils]: 32: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:00,937 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4790#true} {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,937 INFO L272 TraceCheckUtils]: 34: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:00,937 INFO L290 TraceCheckUtils]: 35: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:00,937 INFO L290 TraceCheckUtils]: 36: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:00,937 INFO L290 TraceCheckUtils]: 37: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:00,938 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4790#true} {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,939 INFO L290 TraceCheckUtils]: 39: Hoare triple {4864#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,939 INFO L290 TraceCheckUtils]: 40: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,939 INFO L272 TraceCheckUtils]: 41: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:00,939 INFO L290 TraceCheckUtils]: 42: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:00,939 INFO L290 TraceCheckUtils]: 43: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:00,939 INFO L290 TraceCheckUtils]: 44: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:00,940 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4790#true} {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,940 INFO L272 TraceCheckUtils]: 46: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:00,940 INFO L290 TraceCheckUtils]: 47: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:00,940 INFO L290 TraceCheckUtils]: 48: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:00,940 INFO L290 TraceCheckUtils]: 49: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:00,941 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4790#true} {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,941 INFO L272 TraceCheckUtils]: 51: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:00,941 INFO L290 TraceCheckUtils]: 52: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:00,941 INFO L290 TraceCheckUtils]: 53: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:00,941 INFO L290 TraceCheckUtils]: 54: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:00,942 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4790#true} {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,943 INFO L290 TraceCheckUtils]: 56: Hoare triple {4916#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,944 INFO L290 TraceCheckUtils]: 57: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,944 INFO L272 TraceCheckUtils]: 58: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:00,944 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:00,944 INFO L290 TraceCheckUtils]: 60: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:00,944 INFO L290 TraceCheckUtils]: 61: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:00,944 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4790#true} {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,944 INFO L272 TraceCheckUtils]: 63: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:00,945 INFO L290 TraceCheckUtils]: 64: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:00,945 INFO L290 TraceCheckUtils]: 65: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:00,945 INFO L290 TraceCheckUtils]: 66: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:00,945 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4790#true} {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,945 INFO L272 TraceCheckUtils]: 68: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:00,945 INFO L290 TraceCheckUtils]: 69: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:00,945 INFO L290 TraceCheckUtils]: 70: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:00,945 INFO L290 TraceCheckUtils]: 71: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:00,946 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {4790#true} {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-28 12:57:00,947 INFO L290 TraceCheckUtils]: 73: Hoare triple {4968#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (< (div main_~r~0 (- 2)) 1) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !(~r~0 >= ~d~0); {4791#false} is VALID [2022-04-28 12:57:00,947 INFO L290 TraceCheckUtils]: 74: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-28 12:57:00,947 INFO L272 TraceCheckUtils]: 75: Hoare triple {4791#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4791#false} is VALID [2022-04-28 12:57:00,947 INFO L290 TraceCheckUtils]: 76: Hoare triple {4791#false} ~cond := #in~cond; {4791#false} is VALID [2022-04-28 12:57:00,947 INFO L290 TraceCheckUtils]: 77: Hoare triple {4791#false} assume 0 == ~cond; {4791#false} is VALID [2022-04-28 12:57:00,947 INFO L290 TraceCheckUtils]: 78: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-28 12:57:00,947 INFO L134 CoverageAnalysis]: Checked inductivity of 189 backedges. 23 proven. 16 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-28 12:57:00,948 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:01,634 INFO L290 TraceCheckUtils]: 78: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-28 12:57:01,635 INFO L290 TraceCheckUtils]: 77: Hoare triple {4791#false} assume 0 == ~cond; {4791#false} is VALID [2022-04-28 12:57:01,635 INFO L290 TraceCheckUtils]: 76: Hoare triple {4791#false} ~cond := #in~cond; {4791#false} is VALID [2022-04-28 12:57:01,635 INFO L272 TraceCheckUtils]: 75: Hoare triple {4791#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4791#false} is VALID [2022-04-28 12:57:01,635 INFO L290 TraceCheckUtils]: 74: Hoare triple {4791#false} assume !false; {4791#false} is VALID [2022-04-28 12:57:01,635 INFO L290 TraceCheckUtils]: 73: Hoare triple {5050#(<= main_~d~0 main_~r~0)} assume !(~r~0 >= ~d~0); {4791#false} is VALID [2022-04-28 12:57:01,636 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {4790#true} {5050#(<= main_~d~0 main_~r~0)} #91#return; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-28 12:57:01,636 INFO L290 TraceCheckUtils]: 71: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:01,636 INFO L290 TraceCheckUtils]: 70: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:01,636 INFO L290 TraceCheckUtils]: 69: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:01,636 INFO L272 TraceCheckUtils]: 68: Hoare triple {5050#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:01,636 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4790#true} {5050#(<= main_~d~0 main_~r~0)} #89#return; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-28 12:57:01,636 INFO L290 TraceCheckUtils]: 66: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:01,636 INFO L290 TraceCheckUtils]: 65: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:01,636 INFO L290 TraceCheckUtils]: 64: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:01,637 INFO L272 TraceCheckUtils]: 63: Hoare triple {5050#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:01,637 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4790#true} {5050#(<= main_~d~0 main_~r~0)} #87#return; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-28 12:57:01,637 INFO L290 TraceCheckUtils]: 61: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:01,637 INFO L290 TraceCheckUtils]: 60: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:01,637 INFO L290 TraceCheckUtils]: 59: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:01,637 INFO L272 TraceCheckUtils]: 58: Hoare triple {5050#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:01,638 INFO L290 TraceCheckUtils]: 57: Hoare triple {5050#(<= main_~d~0 main_~r~0)} assume !false; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-28 12:57:01,638 INFO L290 TraceCheckUtils]: 56: Hoare triple {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5050#(<= main_~d~0 main_~r~0)} is VALID [2022-04-28 12:57:01,639 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4790#true} {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:57:01,639 INFO L290 TraceCheckUtils]: 54: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:01,639 INFO L290 TraceCheckUtils]: 53: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:01,639 INFO L290 TraceCheckUtils]: 52: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:01,639 INFO L272 TraceCheckUtils]: 51: Hoare triple {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:01,639 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4790#true} {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:57:01,639 INFO L290 TraceCheckUtils]: 49: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:01,639 INFO L290 TraceCheckUtils]: 48: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:01,640 INFO L290 TraceCheckUtils]: 47: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:01,640 INFO L272 TraceCheckUtils]: 46: Hoare triple {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:01,640 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4790#true} {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:57:01,640 INFO L290 TraceCheckUtils]: 44: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:01,640 INFO L290 TraceCheckUtils]: 43: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:01,640 INFO L290 TraceCheckUtils]: 42: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:01,640 INFO L272 TraceCheckUtils]: 41: Hoare triple {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:01,641 INFO L290 TraceCheckUtils]: 40: Hoare triple {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:57:01,641 INFO L290 TraceCheckUtils]: 39: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5102#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:57:01,642 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4790#true} {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} #91#return; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-28 12:57:01,642 INFO L290 TraceCheckUtils]: 37: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:01,642 INFO L290 TraceCheckUtils]: 36: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:01,642 INFO L290 TraceCheckUtils]: 35: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:01,642 INFO L272 TraceCheckUtils]: 34: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:01,642 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4790#true} {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} #89#return; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-28 12:57:01,643 INFO L290 TraceCheckUtils]: 32: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:01,643 INFO L290 TraceCheckUtils]: 31: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:01,643 INFO L290 TraceCheckUtils]: 30: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:01,643 INFO L272 TraceCheckUtils]: 29: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:01,643 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4790#true} {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} #87#return; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-28 12:57:01,643 INFO L290 TraceCheckUtils]: 27: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:01,643 INFO L290 TraceCheckUtils]: 26: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:01,643 INFO L290 TraceCheckUtils]: 25: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:01,643 INFO L272 TraceCheckUtils]: 24: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:01,644 INFO L290 TraceCheckUtils]: 23: Hoare triple {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} assume !false; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-28 12:57:01,645 INFO L290 TraceCheckUtils]: 22: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5154#(or (<= (* main_~d~0 4) main_~r~0) (< main_~r~0 (* main_~d~0 2)))} is VALID [2022-04-28 12:57:01,646 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4790#true} {4827#(<= (mod main_~A~0 4294967296) 1)} #85#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-28 12:57:01,646 INFO L290 TraceCheckUtils]: 20: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:01,646 INFO L290 TraceCheckUtils]: 19: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:01,646 INFO L290 TraceCheckUtils]: 18: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:01,646 INFO L272 TraceCheckUtils]: 17: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:01,653 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4790#true} {4827#(<= (mod main_~A~0 4294967296) 1)} #83#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-28 12:57:01,653 INFO L290 TraceCheckUtils]: 15: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:01,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {4790#true} assume !(0 == ~cond); {4790#true} is VALID [2022-04-28 12:57:01,654 INFO L290 TraceCheckUtils]: 13: Hoare triple {4790#true} ~cond := #in~cond; {4790#true} is VALID [2022-04-28 12:57:01,654 INFO L272 TraceCheckUtils]: 12: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:01,654 INFO L290 TraceCheckUtils]: 11: Hoare triple {4827#(<= (mod main_~A~0 4294967296) 1)} ~B~0 := #t~nondet5;havoc #t~nondet5; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-28 12:57:01,654 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4820#(not (= |assume_abort_if_not_#in~cond| 0))} {4790#true} #81#return; {4827#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-28 12:57:01,655 INFO L290 TraceCheckUtils]: 9: Hoare triple {4820#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4820#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:57:01,655 INFO L290 TraceCheckUtils]: 8: Hoare triple {5251#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4820#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:57:01,656 INFO L290 TraceCheckUtils]: 7: Hoare triple {4790#true} ~cond := #in~cond; {5251#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:57:01,656 INFO L272 TraceCheckUtils]: 6: Hoare triple {4790#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {4790#true} is VALID [2022-04-28 12:57:01,656 INFO L290 TraceCheckUtils]: 5: Hoare triple {4790#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4790#true} is VALID [2022-04-28 12:57:01,656 INFO L272 TraceCheckUtils]: 4: Hoare triple {4790#true} call #t~ret6 := main(); {4790#true} is VALID [2022-04-28 12:57:01,656 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4790#true} {4790#true} #101#return; {4790#true} is VALID [2022-04-28 12:57:01,656 INFO L290 TraceCheckUtils]: 2: Hoare triple {4790#true} assume true; {4790#true} is VALID [2022-04-28 12:57:01,656 INFO L290 TraceCheckUtils]: 1: Hoare triple {4790#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(10, 2);call #Ultimate.allocInit(12, 3); {4790#true} is VALID [2022-04-28 12:57:01,656 INFO L272 TraceCheckUtils]: 0: Hoare triple {4790#true} call ULTIMATE.init(); {4790#true} is VALID [2022-04-28 12:57:01,656 INFO L134 CoverageAnalysis]: Checked inductivity of 189 backedges. 18 proven. 21 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-28 12:57:01,656 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:01,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [336211307] [2022-04-28 12:57:01,657 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:01,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [517661522] [2022-04-28 12:57:01,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [517661522] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:57:01,657 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:57:01,657 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 12:57:01,657 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:01,657 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [782151984] [2022-04-28 12:57:01,657 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [782151984] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:01,657 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:01,657 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:57:01,657 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [731189450] [2022-04-28 12:57:01,657 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:01,658 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-28 12:57:01,658 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:01,658 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:57:01,720 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:01,720 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:57:01,721 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:01,721 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:57:01,721 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:57:01,721 INFO L87 Difference]: Start difference. First operand 96 states and 111 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:57:03,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:03,394 INFO L93 Difference]: Finished difference Result 113 states and 131 transitions. [2022-04-28 12:57:03,394 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:57:03,394 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 79 [2022-04-28 12:57:03,394 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:03,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:57:03,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-28 12:57:03,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:57:03,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-28 12:57:03,397 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-28 12:57:03,481 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:03,482 INFO L225 Difference]: With dead ends: 113 [2022-04-28 12:57:03,482 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 12:57:03,483 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 146 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=59, Invalid=181, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:57:03,483 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 16 mSDsluCounter, 130 mSDsCounter, 0 mSdLazyCounter, 131 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 179 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 131 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 12:57:03,483 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 179 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 131 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 12:57:03,484 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 12:57:03,601 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 76. [2022-04-28 12:57:03,601 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:03,601 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:57:03,601 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:57:03,601 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:57:03,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:03,603 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2022-04-28 12:57:03,603 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2022-04-28 12:57:03,603 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:03,603 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:03,603 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 76 states. [2022-04-28 12:57:03,604 INFO L87 Difference]: Start difference. First operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 76 states. [2022-04-28 12:57:03,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:03,605 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2022-04-28 12:57:03,605 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2022-04-28 12:57:03,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:03,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:03,606 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:03,606 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:03,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 46 states have (on average 1.108695652173913) internal successors, (51), 47 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:57:03,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 87 transitions. [2022-04-28 12:57:03,607 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 87 transitions. Word has length 79 [2022-04-28 12:57:03,608 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:03,608 INFO L495 AbstractCegarLoop]: Abstraction has 76 states and 87 transitions. [2022-04-28 12:57:03,608 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 12:57:03,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 87 transitions. [2022-04-28 12:57:03,735 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:03,735 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2022-04-28 12:57:03,740 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 12:57:03,740 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:03,740 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:57:03,756 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 12:57:03,940 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:03,941 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:03,941 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:03,941 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 3 times [2022-04-28 12:57:03,941 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:03,941 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [470512461] [2022-04-28 12:57:03,941 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:03,941 INFO L85 PathProgramCache]: Analyzing trace with hash -1566820819, now seen corresponding path program 4 times [2022-04-28 12:57:03,942 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:03,942 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [889594073] [2022-04-28 12:57:03,942 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:03,942 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:03,951 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:03,951 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [784374530] [2022-04-28 12:57:03,951 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:57:03,951 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:03,951 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:03,952 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:57:03,953 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 12:57:03,991 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:57:03,992 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:03,992 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 12:57:04,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:04,006 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:05,746 INFO L272 TraceCheckUtils]: 0: Hoare triple {5813#true} call ULTIMATE.init(); {5813#true} is VALID [2022-04-28 12:57:05,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {5813#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(10, 2);call #Ultimate.allocInit(12, 3); {5813#true} is VALID [2022-04-28 12:57:05,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:05,747 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5813#true} {5813#true} #101#return; {5813#true} is VALID [2022-04-28 12:57:05,747 INFO L272 TraceCheckUtils]: 4: Hoare triple {5813#true} call #t~ret6 := main(); {5813#true} is VALID [2022-04-28 12:57:05,747 INFO L290 TraceCheckUtils]: 5: Hoare triple {5813#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5813#true} is VALID [2022-04-28 12:57:05,747 INFO L272 TraceCheckUtils]: 6: Hoare triple {5813#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:05,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:05,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:05,747 INFO L290 TraceCheckUtils]: 9: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:05,747 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5813#true} {5813#true} #81#return; {5813#true} is VALID [2022-04-28 12:57:05,747 INFO L290 TraceCheckUtils]: 11: Hoare triple {5813#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5813#true} is VALID [2022-04-28 12:57:05,747 INFO L272 TraceCheckUtils]: 12: Hoare triple {5813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:05,748 INFO L290 TraceCheckUtils]: 13: Hoare triple {5813#true} ~cond := #in~cond; {5857#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:57:05,748 INFO L290 TraceCheckUtils]: 14: Hoare triple {5857#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5861#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:57:05,748 INFO L290 TraceCheckUtils]: 15: Hoare triple {5861#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5861#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:57:05,749 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5861#(not (= |assume_abort_if_not_#in~cond| 0))} {5813#true} #83#return; {5868#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:57:05,749 INFO L272 TraceCheckUtils]: 17: Hoare triple {5868#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:05,749 INFO L290 TraceCheckUtils]: 18: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:05,749 INFO L290 TraceCheckUtils]: 19: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:05,749 INFO L290 TraceCheckUtils]: 20: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:05,749 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5813#true} {5868#(<= (mod main_~B~0 4294967296) 1)} #85#return; {5868#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:57:05,750 INFO L290 TraceCheckUtils]: 22: Hoare triple {5868#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-28 12:57:05,750 INFO L290 TraceCheckUtils]: 23: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} assume !false; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-28 12:57:05,750 INFO L272 TraceCheckUtils]: 24: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:05,750 INFO L290 TraceCheckUtils]: 25: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:05,750 INFO L290 TraceCheckUtils]: 26: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:05,750 INFO L290 TraceCheckUtils]: 27: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:05,751 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5813#true} {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} #87#return; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-28 12:57:05,751 INFO L272 TraceCheckUtils]: 29: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:05,751 INFO L290 TraceCheckUtils]: 30: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:05,751 INFO L290 TraceCheckUtils]: 31: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:05,751 INFO L290 TraceCheckUtils]: 32: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:05,751 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5813#true} {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} #89#return; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-28 12:57:05,752 INFO L272 TraceCheckUtils]: 34: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:05,752 INFO L290 TraceCheckUtils]: 35: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:05,752 INFO L290 TraceCheckUtils]: 36: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:05,752 INFO L290 TraceCheckUtils]: 37: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:05,752 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5813#true} {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} #91#return; {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-28 12:57:05,753 INFO L290 TraceCheckUtils]: 39: Hoare triple {5887#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:05,754 INFO L290 TraceCheckUtils]: 40: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:05,754 INFO L272 TraceCheckUtils]: 41: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:05,754 INFO L290 TraceCheckUtils]: 42: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:05,754 INFO L290 TraceCheckUtils]: 43: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:05,754 INFO L290 TraceCheckUtils]: 44: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:05,754 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5813#true} {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:05,754 INFO L272 TraceCheckUtils]: 46: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:05,755 INFO L290 TraceCheckUtils]: 47: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:05,755 INFO L290 TraceCheckUtils]: 48: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:05,755 INFO L290 TraceCheckUtils]: 49: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:05,755 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5813#true} {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:05,755 INFO L272 TraceCheckUtils]: 51: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:05,755 INFO L290 TraceCheckUtils]: 52: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:05,755 INFO L290 TraceCheckUtils]: 53: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:05,755 INFO L290 TraceCheckUtils]: 54: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:05,756 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5813#true} {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-28 12:57:05,757 INFO L290 TraceCheckUtils]: 56: Hoare triple {5939#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 12:57:05,757 INFO L290 TraceCheckUtils]: 57: Hoare triple {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 12:57:05,757 INFO L272 TraceCheckUtils]: 58: Hoare triple {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:05,757 INFO L290 TraceCheckUtils]: 59: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:05,757 INFO L290 TraceCheckUtils]: 60: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:05,758 INFO L290 TraceCheckUtils]: 61: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:05,758 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5813#true} {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 12:57:05,758 INFO L272 TraceCheckUtils]: 63: Hoare triple {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:05,758 INFO L290 TraceCheckUtils]: 64: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:05,758 INFO L290 TraceCheckUtils]: 65: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:05,758 INFO L290 TraceCheckUtils]: 66: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:05,759 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5813#true} {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-28 12:57:05,760 INFO L290 TraceCheckUtils]: 68: Hoare triple {5991#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-28 12:57:05,760 INFO L290 TraceCheckUtils]: 69: Hoare triple {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-28 12:57:05,761 INFO L290 TraceCheckUtils]: 70: Hoare triple {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} assume !false; {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-28 12:57:05,761 INFO L272 TraceCheckUtils]: 71: Hoare triple {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:05,761 INFO L290 TraceCheckUtils]: 72: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:05,761 INFO L290 TraceCheckUtils]: 73: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:05,761 INFO L290 TraceCheckUtils]: 74: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:05,772 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5813#true} {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} #93#return; {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} is VALID [2022-04-28 12:57:05,772 INFO L272 TraceCheckUtils]: 76: Hoare triple {6028#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:57:05,773 INFO L290 TraceCheckUtils]: 77: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:05,773 INFO L290 TraceCheckUtils]: 78: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5814#false} is VALID [2022-04-28 12:57:05,773 INFO L290 TraceCheckUtils]: 79: Hoare triple {5814#false} assume !false; {5814#false} is VALID [2022-04-28 12:57:05,773 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 21 proven. 11 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-28 12:57:05,773 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:08,361 INFO L290 TraceCheckUtils]: 79: Hoare triple {5814#false} assume !false; {5814#false} is VALID [2022-04-28 12:57:08,362 INFO L290 TraceCheckUtils]: 78: Hoare triple {6057#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5814#false} is VALID [2022-04-28 12:57:08,362 INFO L290 TraceCheckUtils]: 77: Hoare triple {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6057#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:08,362 INFO L272 TraceCheckUtils]: 76: Hoare triple {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6053#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:57:08,363 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5813#true} {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #93#return; {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:57:08,363 INFO L290 TraceCheckUtils]: 74: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,363 INFO L290 TraceCheckUtils]: 73: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:08,363 INFO L290 TraceCheckUtils]: 72: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:08,363 INFO L272 TraceCheckUtils]: 71: Hoare triple {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:08,364 INFO L290 TraceCheckUtils]: 70: Hoare triple {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:57:08,364 INFO L290 TraceCheckUtils]: 69: Hoare triple {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:57:08,375 INFO L290 TraceCheckUtils]: 68: Hoare triple {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (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); {6073#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-28 12:57:08,375 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5813#true} {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #95#return; {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 12:57:08,375 INFO L290 TraceCheckUtils]: 66: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,375 INFO L290 TraceCheckUtils]: 65: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:08,376 INFO L290 TraceCheckUtils]: 64: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:08,376 INFO L272 TraceCheckUtils]: 63: Hoare triple {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:08,376 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5813#true} {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} #93#return; {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 12:57:08,376 INFO L290 TraceCheckUtils]: 61: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,376 INFO L290 TraceCheckUtils]: 60: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:08,376 INFO L290 TraceCheckUtils]: 59: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:08,376 INFO L272 TraceCheckUtils]: 58: Hoare triple {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:08,378 INFO L290 TraceCheckUtils]: 57: Hoare triple {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} assume !false; {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 12:57:08,379 INFO L290 TraceCheckUtils]: 56: Hoare triple {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {6098#(and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2))))))} is VALID [2022-04-28 12:57:08,379 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5813#true} {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #91#return; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:08,379 INFO L290 TraceCheckUtils]: 54: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,379 INFO L290 TraceCheckUtils]: 53: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:08,379 INFO L290 TraceCheckUtils]: 52: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:08,379 INFO L272 TraceCheckUtils]: 51: Hoare triple {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:08,380 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5813#true} {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #89#return; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:08,380 INFO L290 TraceCheckUtils]: 49: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,380 INFO L290 TraceCheckUtils]: 48: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:08,380 INFO L290 TraceCheckUtils]: 47: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:08,380 INFO L272 TraceCheckUtils]: 46: Hoare triple {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:08,381 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5813#true} {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} #87#return; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:08,381 INFO L290 TraceCheckUtils]: 44: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,381 INFO L290 TraceCheckUtils]: 43: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:08,381 INFO L290 TraceCheckUtils]: 42: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:08,381 INFO L272 TraceCheckUtils]: 41: Hoare triple {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:08,382 INFO L290 TraceCheckUtils]: 40: Hoare triple {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} assume !false; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:08,386 INFO L290 TraceCheckUtils]: 39: Hoare triple {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6135#(or (and (or (not (< main_~p~0 0)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))) (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1)))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:08,386 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5813#true} {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #91#return; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:57:08,386 INFO L290 TraceCheckUtils]: 37: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,386 INFO L290 TraceCheckUtils]: 36: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:08,387 INFO L290 TraceCheckUtils]: 35: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:08,387 INFO L272 TraceCheckUtils]: 34: Hoare triple {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:08,387 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5813#true} {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #89#return; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:57:08,387 INFO L290 TraceCheckUtils]: 32: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,387 INFO L290 TraceCheckUtils]: 31: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:08,387 INFO L290 TraceCheckUtils]: 30: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:08,387 INFO L272 TraceCheckUtils]: 29: Hoare triple {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:08,388 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5813#true} {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} #87#return; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:57:08,388 INFO L290 TraceCheckUtils]: 27: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,388 INFO L290 TraceCheckUtils]: 26: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:08,388 INFO L290 TraceCheckUtils]: 25: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:08,388 INFO L272 TraceCheckUtils]: 24: Hoare triple {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:08,389 INFO L290 TraceCheckUtils]: 23: Hoare triple {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} assume !false; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:57:08,389 INFO L290 TraceCheckUtils]: 22: Hoare triple {5813#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6187#(or (<= main_~d~0 0) (= (div (* main_~d~0 2) 2) (* (div (* main_~p~0 2) 2) (mod main_~B~0 4294967296))))} is VALID [2022-04-28 12:57:08,389 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5813#true} {5813#true} #85#return; {5813#true} is VALID [2022-04-28 12:57:08,389 INFO L290 TraceCheckUtils]: 20: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,389 INFO L290 TraceCheckUtils]: 19: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:08,389 INFO L290 TraceCheckUtils]: 18: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:08,389 INFO L272 TraceCheckUtils]: 17: Hoare triple {5813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:08,389 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5813#true} {5813#true} #83#return; {5813#true} is VALID [2022-04-28 12:57:08,389 INFO L290 TraceCheckUtils]: 15: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L290 TraceCheckUtils]: 14: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L290 TraceCheckUtils]: 13: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L272 TraceCheckUtils]: 12: Hoare triple {5813#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L290 TraceCheckUtils]: 11: Hoare triple {5813#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5813#true} {5813#true} #81#return; {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L290 TraceCheckUtils]: 9: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L290 TraceCheckUtils]: 8: Hoare triple {5813#true} assume !(0 == ~cond); {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L290 TraceCheckUtils]: 7: Hoare triple {5813#true} ~cond := #in~cond; {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L272 TraceCheckUtils]: 6: Hoare triple {5813#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L290 TraceCheckUtils]: 5: Hoare triple {5813#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L272 TraceCheckUtils]: 4: Hoare triple {5813#true} call #t~ret6 := main(); {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5813#true} {5813#true} #101#return; {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L290 TraceCheckUtils]: 2: Hoare triple {5813#true} assume true; {5813#true} is VALID [2022-04-28 12:57:08,390 INFO L290 TraceCheckUtils]: 1: Hoare triple {5813#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(10, 2);call #Ultimate.allocInit(12, 3); {5813#true} is VALID [2022-04-28 12:57:08,391 INFO L272 TraceCheckUtils]: 0: Hoare triple {5813#true} call ULTIMATE.init(); {5813#true} is VALID [2022-04-28 12:57:08,391 INFO L134 CoverageAnalysis]: Checked inductivity of 182 backedges. 18 proven. 8 refuted. 0 times theorem prover too weak. 156 trivial. 0 not checked. [2022-04-28 12:57:08,391 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:08,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [889594073] [2022-04-28 12:57:08,391 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:08,391 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [784374530] [2022-04-28 12:57:08,391 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [784374530] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:57:08,391 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:57:08,391 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-28 12:57:08,392 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:08,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [470512461] [2022-04-28 12:57:08,392 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [470512461] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:08,392 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:08,392 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:57:08,392 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1047490619] [2022-04-28 12:57:08,392 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:08,392 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-28 12:57:08,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:08,393 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), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:57:08,442 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-28 12:57:08,442 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:57:08,442 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:08,442 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:57:08,443 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=160, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:57:08,443 INFO L87 Difference]: Start difference. First operand 76 states and 87 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:57:09,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:09,176 INFO L93 Difference]: Finished difference Result 96 states and 109 transitions. [2022-04-28 12:57:09,176 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:57:09,176 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 80 [2022-04-28 12:57:09,176 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:09,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:57:09,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-28 12:57:09,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:57:09,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 76 transitions. [2022-04-28 12:57:09,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 76 transitions. [2022-04-28 12:57:09,252 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-28 12:57:09,253 INFO L225 Difference]: With dead ends: 96 [2022-04-28 12:57:09,253 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 12:57:09,253 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 145 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=67, Invalid=239, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:57:09,254 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 20 mSDsluCounter, 134 mSDsCounter, 0 mSdLazyCounter, 188 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 210 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 188 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:57:09,254 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 175 Invalid, 210 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 188 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:57:09,254 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 12:57:09,353 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-28 12:57:09,353 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:09,354 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:57:09,355 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:57:09,355 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:57:09,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:09,356 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-28 12:57:09,356 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-28 12:57:09,357 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:09,357 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:09,357 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-28 12:57:09,357 INFO L87 Difference]: Start difference. First operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-04-28 12:57:09,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:09,358 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-28 12:57:09,358 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-28 12:57:09,358 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:09,358 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:09,358 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:09,358 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:09,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 44 states have (on average 1.0) internal successors, (44), 44 states have internal predecessors, (44), 16 states have call successors, (16), 12 states have call predecessors, (16), 10 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:57:09,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 74 transitions. [2022-04-28 12:57:09,360 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 74 transitions. Word has length 80 [2022-04-28 12:57:09,360 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:09,360 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 74 transitions. [2022-04-28 12:57:09,360 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:57:09,360 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 74 transitions. [2022-04-28 12:57:09,469 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:09,469 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 74 transitions. [2022-04-28 12:57:09,470 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 12:57:09,470 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:57:09,470 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:57:09,490 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-28 12:57:09,683 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:09,684 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:57:09,684 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:57:09,684 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-28 12:57:09,684 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:09,684 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [733452539] [2022-04-28 12:57:09,685 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:57:09,685 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 2 times [2022-04-28 12:57:09,685 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:57:09,685 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1303839130] [2022-04-28 12:57:09,685 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:57:09,685 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:57:09,699 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:57:09,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1044939893] [2022-04-28 12:57:09,700 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:57:09,700 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:57:09,700 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:57:09,701 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:57:09,702 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 12:57:09,746 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:57:09,747 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:57:09,748 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 12:57:09,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:57:09,762 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:57:36,279 INFO L272 TraceCheckUtils]: 0: Hoare triple {6789#true} call ULTIMATE.init(); {6789#true} is VALID [2022-04-28 12:57:36,280 INFO L290 TraceCheckUtils]: 1: Hoare triple {6789#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(10, 2);call #Ultimate.allocInit(12, 3); {6789#true} is VALID [2022-04-28 12:57:36,280 INFO L290 TraceCheckUtils]: 2: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,280 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6789#true} {6789#true} #101#return; {6789#true} is VALID [2022-04-28 12:57:36,280 INFO L272 TraceCheckUtils]: 4: Hoare triple {6789#true} call #t~ret6 := main(); {6789#true} is VALID [2022-04-28 12:57:36,280 INFO L290 TraceCheckUtils]: 5: Hoare triple {6789#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {6789#true} is VALID [2022-04-28 12:57:36,280 INFO L272 TraceCheckUtils]: 6: Hoare triple {6789#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,280 INFO L290 TraceCheckUtils]: 7: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:36,280 INFO L290 TraceCheckUtils]: 8: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:36,280 INFO L290 TraceCheckUtils]: 9: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,280 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6789#true} {6789#true} #81#return; {6789#true} is VALID [2022-04-28 12:57:36,280 INFO L290 TraceCheckUtils]: 11: Hoare triple {6789#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6789#true} is VALID [2022-04-28 12:57:36,281 INFO L272 TraceCheckUtils]: 12: Hoare triple {6789#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,285 INFO L290 TraceCheckUtils]: 13: Hoare triple {6789#true} ~cond := #in~cond; {6833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:57:36,286 INFO L290 TraceCheckUtils]: 14: Hoare triple {6833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:57:36,286 INFO L290 TraceCheckUtils]: 15: Hoare triple {6837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:57:36,286 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6837#(not (= |assume_abort_if_not_#in~cond| 0))} {6789#true} #83#return; {6844#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:57:36,286 INFO L272 TraceCheckUtils]: 17: Hoare triple {6844#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,287 INFO L290 TraceCheckUtils]: 18: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:36,287 INFO L290 TraceCheckUtils]: 19: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:36,287 INFO L290 TraceCheckUtils]: 20: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,287 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6789#true} {6844#(<= (mod main_~B~0 4294967296) 1)} #85#return; {6844#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-28 12:57:36,289 INFO L290 TraceCheckUtils]: 22: Hoare triple {6844#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:57:36,289 INFO L290 TraceCheckUtils]: 23: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:57:36,290 INFO L272 TraceCheckUtils]: 24: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,290 INFO L290 TraceCheckUtils]: 25: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:36,290 INFO L290 TraceCheckUtils]: 26: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:36,290 INFO L290 TraceCheckUtils]: 27: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,290 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6789#true} {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:57:36,291 INFO L272 TraceCheckUtils]: 29: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,291 INFO L290 TraceCheckUtils]: 30: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:36,291 INFO L290 TraceCheckUtils]: 31: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:36,291 INFO L290 TraceCheckUtils]: 32: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,291 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6789#true} {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:57:36,291 INFO L272 TraceCheckUtils]: 34: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,291 INFO L290 TraceCheckUtils]: 35: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:36,291 INFO L290 TraceCheckUtils]: 36: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:36,292 INFO L290 TraceCheckUtils]: 37: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,292 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6789#true} {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:57:36,294 INFO L290 TraceCheckUtils]: 39: Hoare triple {6863#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:57:36,295 INFO L290 TraceCheckUtils]: 40: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:57:36,295 INFO L272 TraceCheckUtils]: 41: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,295 INFO L290 TraceCheckUtils]: 42: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:36,295 INFO L290 TraceCheckUtils]: 43: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:36,295 INFO L290 TraceCheckUtils]: 44: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,295 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6789#true} {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #87#return; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:57:36,296 INFO L272 TraceCheckUtils]: 46: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,296 INFO L290 TraceCheckUtils]: 47: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:36,296 INFO L290 TraceCheckUtils]: 48: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:36,296 INFO L290 TraceCheckUtils]: 49: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,296 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6789#true} {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #89#return; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:57:36,296 INFO L272 TraceCheckUtils]: 51: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,296 INFO L290 TraceCheckUtils]: 52: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:36,296 INFO L290 TraceCheckUtils]: 53: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:36,297 INFO L290 TraceCheckUtils]: 54: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,297 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6789#true} {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #91#return; {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:57:36,298 INFO L290 TraceCheckUtils]: 56: Hoare triple {6915#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:57:36,298 INFO L290 TraceCheckUtils]: 57: Hoare triple {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:57:36,298 INFO L272 TraceCheckUtils]: 58: Hoare triple {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,298 INFO L290 TraceCheckUtils]: 59: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:36,298 INFO L290 TraceCheckUtils]: 60: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:36,298 INFO L290 TraceCheckUtils]: 61: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,304 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6789#true} {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #93#return; {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:57:36,305 INFO L272 TraceCheckUtils]: 63: Hoare triple {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,305 INFO L290 TraceCheckUtils]: 64: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:36,305 INFO L290 TraceCheckUtils]: 65: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:36,305 INFO L290 TraceCheckUtils]: 66: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,305 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6789#true} {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #95#return; {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-28 12:57:36,310 INFO L290 TraceCheckUtils]: 68: Hoare triple {6967#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7004#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ 1 (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) (- 4294967296)) (+ (div main_~r~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (< main_~r~0 (+ (* main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (= main_~p~0 1))} is VALID [2022-04-28 12:57:36,313 INFO L290 TraceCheckUtils]: 69: Hoare triple {7004#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ 1 (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) (- 4294967296)) (+ (div main_~r~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (< main_~r~0 (+ (* main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-28 12:57:36,313 INFO L290 TraceCheckUtils]: 70: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} assume !false; {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-28 12:57:36,314 INFO L272 TraceCheckUtils]: 71: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,314 INFO L290 TraceCheckUtils]: 72: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:36,314 INFO L290 TraceCheckUtils]: 73: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:36,314 INFO L290 TraceCheckUtils]: 74: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,314 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6789#true} {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} #93#return; {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-28 12:57:36,314 INFO L272 TraceCheckUtils]: 76: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:36,314 INFO L290 TraceCheckUtils]: 77: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:36,315 INFO L290 TraceCheckUtils]: 78: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:36,315 INFO L290 TraceCheckUtils]: 79: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:36,315 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6789#true} {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} #95#return; {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-28 12:57:36,316 INFO L290 TraceCheckUtils]: 81: Hoare triple {7008#(and (= main_~q~0 main_~p~0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} assume !(1 != ~p~0); {7045#(and (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1))} is VALID [2022-04-28 12:57:36,316 INFO L272 TraceCheckUtils]: 82: Hoare triple {7045#(and (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:57:36,317 INFO L290 TraceCheckUtils]: 83: Hoare triple {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7053#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:36,317 INFO L290 TraceCheckUtils]: 84: Hoare triple {7053#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6790#false} is VALID [2022-04-28 12:57:36,317 INFO L290 TraceCheckUtils]: 85: Hoare triple {6790#false} assume !false; {6790#false} is VALID [2022-04-28 12:57:36,318 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 23 proven. 12 refuted. 0 times theorem prover too weak. 186 trivial. 0 not checked. [2022-04-28 12:57:36,318 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:57:55,725 INFO L290 TraceCheckUtils]: 85: Hoare triple {6790#false} assume !false; {6790#false} is VALID [2022-04-28 12:57:55,725 INFO L290 TraceCheckUtils]: 84: Hoare triple {7053#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6790#false} is VALID [2022-04-28 12:57:55,726 INFO L290 TraceCheckUtils]: 83: Hoare triple {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7053#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:57:55,726 INFO L272 TraceCheckUtils]: 82: Hoare triple {7069#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7049#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:57:55,727 INFO L290 TraceCheckUtils]: 81: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {7069#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-28 12:57:55,727 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6789#true} {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-28 12:57:55,727 INFO L290 TraceCheckUtils]: 79: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,727 INFO L290 TraceCheckUtils]: 78: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,727 INFO L290 TraceCheckUtils]: 77: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,727 INFO L272 TraceCheckUtils]: 76: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,728 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6789#true} {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-28 12:57:55,728 INFO L290 TraceCheckUtils]: 74: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,728 INFO L290 TraceCheckUtils]: 73: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,728 INFO L290 TraceCheckUtils]: 72: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,728 INFO L272 TraceCheckUtils]: 71: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,729 INFO L290 TraceCheckUtils]: 70: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-28 12:57:55,731 INFO L290 TraceCheckUtils]: 69: Hoare triple {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-28 12:57:55,738 INFO L290 TraceCheckUtils]: 68: Hoare triple {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7073#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-28 12:57:55,739 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6789#true} {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} #95#return; {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-28 12:57:55,739 INFO L290 TraceCheckUtils]: 66: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,739 INFO L290 TraceCheckUtils]: 65: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,739 INFO L290 TraceCheckUtils]: 64: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,739 INFO L272 TraceCheckUtils]: 63: Hoare triple {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,740 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6789#true} {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} #93#return; {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-28 12:57:55,740 INFO L290 TraceCheckUtils]: 61: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,740 INFO L290 TraceCheckUtils]: 60: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,740 INFO L290 TraceCheckUtils]: 59: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,740 INFO L272 TraceCheckUtils]: 58: Hoare triple {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,744 INFO L290 TraceCheckUtils]: 57: Hoare triple {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume !false; {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-28 12:57:55,745 INFO L290 TraceCheckUtils]: 56: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {7113#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-28 12:57:55,745 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6789#true} {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #91#return; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:55,745 INFO L290 TraceCheckUtils]: 54: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,745 INFO L290 TraceCheckUtils]: 53: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,745 INFO L290 TraceCheckUtils]: 52: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,746 INFO L272 TraceCheckUtils]: 51: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,746 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6789#true} {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #89#return; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:55,746 INFO L290 TraceCheckUtils]: 49: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,746 INFO L290 TraceCheckUtils]: 48: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,746 INFO L290 TraceCheckUtils]: 47: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,746 INFO L272 TraceCheckUtils]: 46: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,747 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6789#true} {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #87#return; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:55,747 INFO L290 TraceCheckUtils]: 44: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,747 INFO L290 TraceCheckUtils]: 43: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,747 INFO L290 TraceCheckUtils]: 42: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,747 INFO L272 TraceCheckUtils]: 41: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,748 INFO L290 TraceCheckUtils]: 40: Hoare triple {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !false; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:55,752 INFO L290 TraceCheckUtils]: 39: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7150#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-28 12:57:55,753 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6789#true} {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:57:55,753 INFO L290 TraceCheckUtils]: 37: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,753 INFO L290 TraceCheckUtils]: 36: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,753 INFO L290 TraceCheckUtils]: 35: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,753 INFO L272 TraceCheckUtils]: 34: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,754 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6789#true} {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:57:55,754 INFO L290 TraceCheckUtils]: 32: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,754 INFO L290 TraceCheckUtils]: 31: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,754 INFO L290 TraceCheckUtils]: 30: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,754 INFO L272 TraceCheckUtils]: 29: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,755 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6789#true} {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:57:55,755 INFO L290 TraceCheckUtils]: 27: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,755 INFO L290 TraceCheckUtils]: 26: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,755 INFO L290 TraceCheckUtils]: 25: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,755 INFO L272 TraceCheckUtils]: 24: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,756 INFO L290 TraceCheckUtils]: 23: Hoare triple {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:57:55,756 INFO L290 TraceCheckUtils]: 22: Hoare triple {6789#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7202#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-28 12:57:55,756 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6789#true} {6789#true} #85#return; {6789#true} is VALID [2022-04-28 12:57:55,756 INFO L290 TraceCheckUtils]: 20: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,756 INFO L290 TraceCheckUtils]: 19: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L290 TraceCheckUtils]: 18: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L272 TraceCheckUtils]: 17: Hoare triple {6789#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6789#true} {6789#true} #83#return; {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L290 TraceCheckUtils]: 15: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L290 TraceCheckUtils]: 14: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L290 TraceCheckUtils]: 13: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L272 TraceCheckUtils]: 12: Hoare triple {6789#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L290 TraceCheckUtils]: 11: Hoare triple {6789#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6789#true} {6789#true} #81#return; {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L290 TraceCheckUtils]: 9: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {6789#true} assume !(0 == ~cond); {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L290 TraceCheckUtils]: 7: Hoare triple {6789#true} ~cond := #in~cond; {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L272 TraceCheckUtils]: 6: Hoare triple {6789#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {6789#true} is VALID [2022-04-28 12:57:55,757 INFO L290 TraceCheckUtils]: 5: Hoare triple {6789#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {6789#true} is VALID [2022-04-28 12:57:55,758 INFO L272 TraceCheckUtils]: 4: Hoare triple {6789#true} call #t~ret6 := main(); {6789#true} is VALID [2022-04-28 12:57:55,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6789#true} {6789#true} #101#return; {6789#true} is VALID [2022-04-28 12:57:55,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {6789#true} assume true; {6789#true} is VALID [2022-04-28 12:57:55,758 INFO L290 TraceCheckUtils]: 1: Hoare triple {6789#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(10, 2);call #Ultimate.allocInit(12, 3); {6789#true} is VALID [2022-04-28 12:57:55,758 INFO L272 TraceCheckUtils]: 0: Hoare triple {6789#true} call ULTIMATE.init(); {6789#true} is VALID [2022-04-28 12:57:55,758 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-28 12:57:55,758 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:57:55,758 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1303839130] [2022-04-28 12:57:55,758 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:57:55,758 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1044939893] [2022-04-28 12:57:55,759 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1044939893] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:57:55,759 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:57:55,759 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-28 12:57:55,759 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:57:55,759 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [733452539] [2022-04-28 12:57:55,759 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [733452539] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:57:55,759 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:57:55,759 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 12:57:55,759 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [639527086] [2022-04-28 12:57:55,759 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:57:55,760 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-28 12:57:55,760 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:57:55,760 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:57:55,826 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-28 12:57:55,826 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 12:57:55,826 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:57:55,827 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 12:57:55,827 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-28 12:57:55,827 INFO L87 Difference]: Start difference. First operand 71 states and 74 transitions. Second operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:57:58,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:58,377 INFO L93 Difference]: Finished difference Result 71 states and 74 transitions. [2022-04-28 12:57:58,377 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:57:58,377 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-28 12:57:58,377 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:57:58,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:57:58,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 12:57:58,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:57:58,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 12:57:58,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-28 12:57:58,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:58,451 INFO L225 Difference]: With dead ends: 71 [2022-04-28 12:57:58,451 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 12:57:58,451 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 153 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=126, Invalid=474, Unknown=0, NotChecked=0, Total=600 [2022-04-28 12:57:58,453 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 18 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 311 mSolverCounterSat, 24 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 335 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 24 IncrementalHoareTripleChecker+Valid, 311 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:57:58,453 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 185 Invalid, 335 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [24 Valid, 311 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-28 12:57:58,454 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 12:57:58,454 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 12:57:58,454 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:57:58,454 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 12:57:58,454 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 12:57:58,454 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 12:57:58,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:58,454 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 12:57:58,454 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 12:57:58,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:58,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:58,454 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 12:57:58,454 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 12:57:58,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:57:58,454 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 12:57:58,454 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 12:57:58,455 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:58,455 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:57:58,455 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:57:58,455 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:57:58,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 12:57:58,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 12:57:58,455 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2022-04-28 12:57:58,455 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:57:58,455 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 12:57:58,455 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 12:57:58,455 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 12:57:58,455 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:57:58,455 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 12:57:58,455 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:57:58,457 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 12:57:58,473 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-28 12:57:58,668 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 12:57:58,669 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 12:58:02,208 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-28 12:58:02,209 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-28 12:58:02,209 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-28 12:58:02,209 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-28 12:58:02,209 INFO L895 garLoopResultBuilder]: At program point L12(line 12) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 12:58:02,209 INFO L895 garLoopResultBuilder]: At program point L12-2(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 12:58:02,209 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 12:58:02,209 INFO L895 garLoopResultBuilder]: At program point L29(line 29) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (and (<= (mod main_~A~0 4294967296) 1) (<= .cse0 1) (<= 1 .cse0))) [2022-04-28 12:58:02,209 INFO L895 garLoopResultBuilder]: At program point L60(line 60) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (and (= main_~d~0 .cse0) (<= .cse0 1) (<= 1 .cse0) (= main_~p~0 1))) [2022-04-28 12:58:02,209 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 22 63) the Hoare annotation is: true [2022-04-28 12:58:02,209 INFO L895 garLoopResultBuilder]: At program point L54(lines 54 57) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (+ (* main_~d~0 2) 1)) (<= 1 .cse0) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (<= .cse0 main_~r~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)) (= main_~p~0 1))) [2022-04-28 12:58:02,209 INFO L895 garLoopResultBuilder]: At program point L54-2(lines 22 63) the Hoare annotation is: (let ((.cse2 (= main_~q~0 0)) (.cse3 (* (- 1) main_~d~0)) (.cse4 (* (- 1) main_~r~0)) (.cse0 (mod main_~A~0 4294967296)) (.cse1 (mod main_~B~0 4294967296)) (.cse5 (= main_~p~0 1))) (or (and (= .cse0 main_~r~0) (= main_~p~0 2) (<= 1 .cse1) .cse2 (<= (div .cse3 (- 2)) main_~r~0) (< 0 (+ (div (+ .cse4 1) 4294967296) 1)) (< .cse1 main_~d~0)) (and (= main_~d~0 .cse1) (< main_~r~0 .cse1) (<= .cse1 1) .cse2 (<= .cse0 main_~r~0) .cse5) (let ((.cse6 (+ main_~d~0 main_~r~0))) (and (<= .cse1 .cse0) (<= 0 main_~r~0) (= .cse6 .cse0) (< (div (+ (* (- 1) (div (+ (- 1) .cse3 .cse4) (- 2))) 1) (- 4294967296)) (+ (div .cse6 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) (< .cse0 (* 2 .cse1)) .cse5)))) [2022-04-28 12:58:02,210 INFO L895 garLoopResultBuilder]: At program point L48(lines 46 58) the Hoare annotation is: (let ((.cse2 (= main_~q~0 0)) (.cse1 (mod main_~B~0 4294967296)) (.cse0 (mod main_~A~0 4294967296)) (.cse3 (* (- 1) main_~d~0)) (.cse4 (* (- 1) main_~r~0)) (.cse5 (= main_~p~0 1))) (or (and (= .cse0 main_~r~0) (< main_~r~0 (* 2 .cse1)) (= main_~p~0 2) .cse2 (<= (div .cse3 (- 2)) main_~r~0) (< 0 (+ (div (+ .cse4 1) 4294967296) 1)) (< .cse1 main_~d~0)) (and (= main_~d~0 .cse1) (< main_~r~0 .cse1) (<= .cse1 1) .cse2 (<= .cse0 main_~r~0) .cse5) (let ((.cse6 (+ main_~d~0 main_~r~0))) (and (< 0 .cse1) (<= .cse1 .cse0) (<= 0 main_~r~0) (= .cse6 .cse0) (< (div (+ (* (- 1) (div (+ (- 1) .cse3 .cse4) (- 2))) 1) (- 4294967296)) (+ (div .cse6 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) .cse5)))) [2022-04-28 12:58:02,210 INFO L895 garLoopResultBuilder]: At program point L46-1(lines 46 58) the Hoare annotation is: (let ((.cse1 (mod main_~B~0 4294967296))) (let ((.cse4 (<= .cse1 1)) (.cse0 (mod main_~A~0 4294967296)) (.cse5 (= main_~p~0 1))) (or (let ((.cse2 (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) (.cse3 (+ main_~d~0 main_~r~0))) (and (= main_~q~0 main_~p~0) (= .cse0 (+ main_~r~0 .cse1)) (< .cse2 (+ main_~d~0 main_~r~0 1)) (= .cse3 .cse0) .cse4 (< (div (+ (* (- 1) .cse2) 1) (- 4294967296)) (+ (div .cse3 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) .cse5)) (and (= main_~d~0 .cse1) (< main_~r~0 .cse1) .cse4 (= main_~q~0 0) (<= .cse0 main_~r~0) .cse5)))) [2022-04-28 12:58:02,210 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 22 63) the Hoare annotation is: true [2022-04-28 12:58:02,210 INFO L895 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-28 12:58:02,210 INFO L895 garLoopResultBuilder]: At program point L36-2(lines 36 44) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-28 12:58:02,210 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 22 63) the Hoare annotation is: true [2022-04-28 12:58:02,210 INFO L902 garLoopResultBuilder]: At program point L61(line 61) the Hoare annotation is: true [2022-04-28 12:58:02,210 INFO L895 garLoopResultBuilder]: At program point L28(line 28) the Hoare annotation is: (<= (mod main_~A~0 4294967296) 1) [2022-04-28 12:58:02,210 INFO L895 garLoopResultBuilder]: At program point L28-1(line 28) the Hoare annotation is: (and (<= (mod main_~A~0 4294967296) 1) (<= (mod main_~B~0 4294967296) 1)) [2022-04-28 12:58:02,210 INFO L902 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-28 12:58:02,210 INFO L895 garLoopResultBuilder]: At program point L26-1(line 26) the Hoare annotation is: (<= (mod main_~A~0 4294967296) 1) [2022-04-28 12:58:02,210 INFO L895 garLoopResultBuilder]: At program point L47(line 47) the Hoare annotation is: (let ((.cse2 (= main_~q~0 0)) (.cse3 (* (- 1) main_~d~0)) (.cse4 (* (- 1) main_~r~0)) (.cse0 (mod main_~A~0 4294967296)) (.cse1 (mod main_~B~0 4294967296)) (.cse5 (= main_~p~0 1))) (or (and (= .cse0 main_~r~0) (= main_~p~0 2) (<= 1 .cse1) .cse2 (<= (div .cse3 (- 2)) main_~r~0) (< 0 (+ (div (+ .cse4 1) 4294967296) 1)) (< .cse1 main_~d~0)) (and (= main_~d~0 .cse1) (< main_~r~0 .cse1) (<= .cse1 1) .cse2 (<= .cse0 main_~r~0) .cse5) (let ((.cse6 (+ main_~d~0 main_~r~0))) (and (<= .cse1 .cse0) (<= 0 main_~r~0) (= .cse6 .cse0) (< (div (+ (* (- 1) (div (+ (- 1) .cse3 .cse4) (- 2))) 1) (- 4294967296)) (+ (div .cse6 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) (< .cse0 (* 2 .cse1)) .cse5)))) [2022-04-28 12:58:02,211 INFO L895 garLoopResultBuilder]: At program point L47-1(line 47) the Hoare annotation is: (let ((.cse2 (= main_~q~0 0)) (.cse3 (* (- 1) main_~d~0)) (.cse4 (* (- 1) main_~r~0)) (.cse0 (mod main_~A~0 4294967296)) (.cse1 (mod main_~B~0 4294967296)) (.cse5 (= main_~p~0 1))) (or (and (= .cse0 main_~r~0) (= main_~p~0 2) (<= 1 .cse1) .cse2 (<= (div .cse3 (- 2)) main_~r~0) (< 0 (+ (div (+ .cse4 1) 4294967296) 1)) (< .cse1 main_~d~0)) (and (= main_~d~0 .cse1) (< main_~r~0 .cse1) (<= .cse1 1) .cse2 (<= .cse0 main_~r~0) .cse5) (let ((.cse6 (+ main_~d~0 main_~r~0))) (and (<= .cse1 .cse0) (<= 0 main_~r~0) (= .cse6 .cse0) (< (div (+ (* (- 1) (div (+ (- 1) .cse3 .cse4) (- 2))) 1) (- 4294967296)) (+ (div .cse6 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1) (< .cse0 (* 2 .cse1)) .cse5)))) [2022-04-28 12:58:02,211 INFO L895 garLoopResultBuilder]: At program point L39(lines 36 44) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-28 12:58:02,211 INFO L895 garLoopResultBuilder]: At program point L37(line 37) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-28 12:58:02,211 INFO L895 garLoopResultBuilder]: At program point L37-1(line 37) the Hoare annotation is: (let ((.cse10 (* (- 1) main_~d~0))) (let ((.cse6 (div .cse10 (- 2))) (.cse7 (mod main_~B~0 4294967296))) (let ((.cse0 (= (mod main_~A~0 4294967296) main_~r~0)) (.cse1 (= main_~d~0 (* main_~p~0 .cse7))) (.cse2 (<= 0 .cse6)) (.cse9 (<= .cse7 1)) (.cse3 (<= 1 .cse7)) (.cse4 (= (mod main_~d~0 2) 0)) (.cse5 (= main_~q~0 0)) (.cse8 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= .cse6 main_~r~0) (<= .cse7 main_~r~0) .cse8) (and .cse0 .cse1 .cse9 .cse3 .cse5 .cse8 (= main_~p~0 1)) (and (= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296))) (<= (div main_~r~0 (- 2)) (div .cse10 4)) .cse1 .cse2 .cse9 .cse3 .cse4 .cse5 .cse8))))) [2022-04-28 12:58:02,211 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 12:58:02,211 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 12:58:02,211 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 12:58:02,211 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 12:58:02,211 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 12:58:02,211 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 12:58:02,211 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 12:58:02,211 INFO L895 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (= |__VERIFIER_assert_#in~cond| 0) [2022-04-28 12:58:02,211 INFO L895 garLoopResultBuilder]: At program point L15(lines 15 18) the Hoare annotation is: (and (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) (or (= |__VERIFIER_assert_#in~cond| 0) (not (= __VERIFIER_assert_~cond 0)))) [2022-04-28 12:58:02,211 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-28 12:58:02,211 INFO L895 garLoopResultBuilder]: At program point L15-2(lines 14 20) the Hoare annotation is: (and (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) (or (= |__VERIFIER_assert_#in~cond| 0) (not (= __VERIFIER_assert_~cond 0)))) [2022-04-28 12:58:02,212 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 14 20) the Hoare annotation is: (and (or (not (<= 1 |__VERIFIER_assert_#in~cond|)) (<= 1 __VERIFIER_assert_~cond)) (or (= |__VERIFIER_assert_#in~cond| 0) (not (= __VERIFIER_assert_~cond 0)))) [2022-04-28 12:58:02,212 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) the Hoare annotation is: (= |__VERIFIER_assert_#in~cond| 0) [2022-04-28 12:58:02,213 INFO L356 BasicCegarLoop]: Path program histogram: [4, 4, 2, 2, 2, 2, 2, 2, 2] [2022-04-28 12:58:02,215 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 12:58:02,216 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 12:58:02,219 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 12:58:02,281 INFO L163 areAnnotationChecker]: CFG has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 12:58:02,296 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 12:58:02 BoogieIcfgContainer [2022-04-28 12:58:02,296 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 12:58:02,297 INFO L158 Benchmark]: Toolchain (without parser) took 99282.15ms. Allocated memory was 177.2MB in the beginning and 283.1MB in the end (delta: 105.9MB). Free memory was 128.0MB in the beginning and 228.1MB in the end (delta: -100.1MB). Peak memory consumption was 146.1MB. Max. memory is 8.0GB. [2022-04-28 12:58:02,297 INFO L158 Benchmark]: CDTParser took 0.12ms. Allocated memory is still 177.2MB. Free memory was 144.2MB in the beginning and 144.1MB in the end (delta: 75.2kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 12:58:02,297 INFO L158 Benchmark]: CACSL2BoogieTranslator took 232.37ms. Allocated memory is still 177.2MB. Free memory was 127.9MB in the beginning and 152.1MB in the end (delta: -24.3MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-28 12:58:02,297 INFO L158 Benchmark]: Boogie Preprocessor took 36.08ms. Allocated memory is still 177.2MB. Free memory was 152.1MB in the beginning and 150.6MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-28 12:58:02,297 INFO L158 Benchmark]: RCFGBuilder took 252.02ms. Allocated memory is still 177.2MB. Free memory was 150.3MB in the beginning and 138.8MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 12:58:02,297 INFO L158 Benchmark]: TraceAbstraction took 98757.56ms. Allocated memory was 177.2MB in the beginning and 283.1MB in the end (delta: 105.9MB). Free memory was 138.2MB in the beginning and 228.1MB in the end (delta: -89.9MB). Peak memory consumption was 156.2MB. Max. memory is 8.0GB. [2022-04-28 12:58:02,298 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.12ms. Allocated memory is still 177.2MB. Free memory was 144.2MB in the beginning and 144.1MB in the end (delta: 75.2kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 232.37ms. Allocated memory is still 177.2MB. Free memory was 127.9MB in the beginning and 152.1MB in the end (delta: -24.3MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 36.08ms. Allocated memory is still 177.2MB. Free memory was 152.1MB in the beginning and 150.6MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 252.02ms. Allocated memory is still 177.2MB. Free memory was 150.3MB in the beginning and 138.8MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 98757.56ms. Allocated memory was 177.2MB in the beginning and 283.1MB in the end (delta: 105.9MB). Free memory was 138.2MB in the beginning and 228.1MB in the end (delta: -89.9MB). Peak memory consumption was 156.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 17]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 41 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 98.6s, OverallIterations: 11, TraceHistogramMax: 11, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 13.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 3.5s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 320 SdHoareTripleChecker+Valid, 4.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 261 mSDsluCounter, 1540 SdHoareTripleChecker+Invalid, 4.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1116 mSDsCounter, 221 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1796 IncrementalHoareTripleChecker+Invalid, 2017 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 221 mSolverCounterUnsat, 424 mSDtfsCounter, 1796 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1068 GetRequests, 926 SyntacticMatches, 9 SemanticMatches, 133 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 282 ImplicationChecksByTransitivity, 5.2s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=96occurred in iteration=8, InterpolantAutomatonStates: 93, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.7s AutomataMinimizationTime, 11 MinimizatonAttempts, 20 StatesRemovedByMinimization, 5 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 38 LocationsWithAnnotation, 342 PreInvPairs, 453 NumberOfFragments, 1608 HoareAnnotationTreeSize, 342 FomulaSimplifications, 447 FormulaSimplificationTreeSizeReduction, 0.4s HoareSimplificationTime, 38 FomulaSimplificationsInter, 1563 FormulaSimplificationTreeSizeReductionInter, 3.1s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 36]: Loop Invariant Derived loop invariant: (((((((((A % 4294967296 == r && d == p * (B % 4294967296)) && 0 <= -1 * d / -2) && 1 <= B % 4294967296) && d % 2 == 0) && q == 0) && -1 * d / -2 <= r) && B % 4294967296 <= r) && 0 < (-1 * r + 1) / 4294967296 + 1) || ((((((A % 4294967296 == r && d == p * (B % 4294967296)) && B % 4294967296 <= 1) && 1 <= B % 4294967296) && q == 0) && 0 < (-1 * r + 1) / 4294967296 + 1) && p == 1)) || ((((((((A == r + A / 4294967296 * 4294967296 && r / -2 <= -1 * d / 4) && d == p * (B % 4294967296)) && 0 <= -1 * d / -2) && B % 4294967296 <= 1) && 1 <= B % 4294967296) && d % 2 == 0) && q == 0) && 0 < (-1 * r + 1) / 4294967296 + 1) - ProcedureContractResult [Line: 11]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 22]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 14]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: (!(1 <= \old(cond)) || 1 <= cond) && (\old(cond) == 0 || !(cond == 0)) RESULT: Ultimate proved your program to be correct! [2022-04-28 12:58:02,401 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...