/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:22:10,709 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:22:10,711 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:22:10,730 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:22:10,730 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:22:10,731 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:22:10,732 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:22:10,733 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:22:10,734 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:22:10,734 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:22:10,735 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:22:10,736 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:22:10,736 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:22:10,736 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:22:10,737 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:22:10,738 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:22:10,738 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:22:10,739 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:22:10,740 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:22:10,741 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:22:10,741 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:22:10,742 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:22:10,743 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:22:10,743 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:22:10,744 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:22:10,746 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:22:10,746 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:22:10,746 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:22:10,747 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:22:10,747 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:22:10,747 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:22:10,748 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:22:10,748 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:22:10,748 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:22:10,749 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:22:10,749 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:22:10,750 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:22:10,750 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:22:10,750 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:22:10,750 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:22:10,751 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:22:10,751 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:22:10,752 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 13:22:10,768 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:22:10,768 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:22:10,768 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:22:10,768 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:22:10,769 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:22:10,769 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:22:10,769 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:22:10,769 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:22:10,769 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:22:10,770 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:22:10,770 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:22:10,770 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:22:10,770 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:22:10,770 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:22:10,770 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:22:10,770 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:22:10,770 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:22:10,770 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:22:10,770 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:22:10,770 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:22:10,771 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:22:10,771 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:22:10,771 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:22:10,771 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:22:10,771 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:22:10,771 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:22:10,771 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:22:10,771 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:22:10,771 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:22:10,772 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:22:10,772 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:22:10,772 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:22:10,772 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:22:10,772 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-27 13:22:10,904 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:22:10,917 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:22:10,918 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:22:10,919 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:22:10,920 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:22:10,920 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound10.c [2022-04-27 13:22:10,959 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d130cb3d7/62263a4b1a764220850e62ed0f7b6ee6/FLAG22384747f [2022-04-27 13:22:11,300 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:22:11,301 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound10.c [2022-04-27 13:22:11,309 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d130cb3d7/62263a4b1a764220850e62ed0f7b6ee6/FLAG22384747f [2022-04-27 13:22:11,752 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d130cb3d7/62263a4b1a764220850e62ed0f7b6ee6 [2022-04-27 13:22:11,754 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:22:11,754 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:22:11,755 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:22:11,756 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:22:11,766 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:22:11,767 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:22:11" (1/1) ... [2022-04-27 13:22:11,768 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2ad6052f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:11, skipping insertion in model container [2022-04-27 13:22:11,768 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:22:11" (1/1) ... [2022-04-27 13:22:11,790 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:22:11,798 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:22:11,913 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_unwindbound10.c[538,551] [2022-04-27 13:22:11,924 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:22:11,929 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:22:11,936 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_unwindbound10.c[538,551] [2022-04-27 13:22:11,941 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:22:11,950 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:22:11,950 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:11 WrapperNode [2022-04-27 13:22:11,950 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:22:11,951 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:22:11,951 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:22:11,951 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:22:11,957 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:11" (1/1) ... [2022-04-27 13:22:11,957 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:11" (1/1) ... [2022-04-27 13:22:11,962 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:11" (1/1) ... [2022-04-27 13:22:11,962 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:11" (1/1) ... [2022-04-27 13:22:11,974 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:11" (1/1) ... [2022-04-27 13:22:11,977 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:11" (1/1) ... [2022-04-27 13:22:11,982 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:11" (1/1) ... [2022-04-27 13:22:11,984 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:22:11,984 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:22:11,984 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:22:11,984 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:22:11,985 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:11" (1/1) ... [2022-04-27 13:22:11,989 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:22:11,998 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:12,005 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-27 13:22:12,020 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-27 13:22:12,034 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:22:12,034 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:22:12,034 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:22:12,034 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:22:12,034 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:22:12,034 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:22:12,035 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:22:12,036 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:22:12,076 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:22:12,077 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:22:12,191 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:22:12,195 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:22:12,195 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:22:12,196 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:22:12 BoogieIcfgContainer [2022-04-27 13:22:12,196 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:22:12,197 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:22:12,198 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:22:12,200 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:22:12,200 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:22:11" (1/3) ... [2022-04-27 13:22:12,200 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4b4fca10 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:22:12, skipping insertion in model container [2022-04-27 13:22:12,200 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:11" (2/3) ... [2022-04-27 13:22:12,201 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4b4fca10 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:22:12, skipping insertion in model container [2022-04-27 13:22:12,201 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:22:12" (3/3) ... [2022-04-27 13:22:12,201 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_unwindbound10.c [2022-04-27 13:22:12,209 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:22:12,210 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:22:12,236 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:22:12,241 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@40b883cd, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@3b612ff8 [2022-04-27 13:22:12,241 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:22:12,261 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:12,266 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-27 13:22:12,266 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:12,266 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:12,266 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:12,270 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:12,270 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 1 times [2022-04-27 13:22:12,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:12,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1487763344] [2022-04-27 13:22:12,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:12,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:12,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:12,387 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:12,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:12,419 INFO L290 TraceCheckUtils]: 0: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-27 13:22:12,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-27 13:22:12,420 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-27 13:22:12,421 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:12,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:12,438 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 13:22:12,438 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 13:22:12,439 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 13:22:12,439 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-27 13:22:12,441 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:22:12,441 INFO L290 TraceCheckUtils]: 1: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-27 13:22:12,441 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-27 13:22:12,441 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-27 13:22:12,442 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret8 := main(); {40#true} is VALID [2022-04-27 13:22:12,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#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;~B~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-27 13:22:12,442 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-27 13:22:12,442 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 13:22:12,443 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 13:22:12,443 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 13:22:12,443 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-27 13:22:12,443 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {41#false} is VALID [2022-04-27 13:22:12,443 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-27 13:22:12,444 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-27 13:22:12,444 INFO L272 TraceCheckUtils]: 14: Hoare triple {41#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {41#false} is VALID [2022-04-27 13:22:12,444 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-27 13:22:12,445 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-27 13:22:12,445 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-27 13:22:12,445 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:22:12,445 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:12,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1487763344] [2022-04-27 13:22:12,447 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1487763344] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:12,447 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:12,447 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:22:12,449 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [963053880] [2022-04-27 13:22:12,451 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:12,455 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-27 13:22:12,456 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:12,458 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:12,488 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:12,488 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:22:12,488 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:12,512 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:22:12,513 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:22:12,515 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:12,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:12,684 INFO L93 Difference]: Finished difference Result 66 states and 101 transitions. [2022-04-27 13:22:12,685 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:22:12,685 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-27 13:22:12,685 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:12,686 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:12,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-27 13:22:12,691 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:12,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-27 13:22:12,695 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 101 transitions. [2022-04-27 13:22:12,777 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:12,784 INFO L225 Difference]: With dead ends: 66 [2022-04-27 13:22:12,784 INFO L226 Difference]: Without dead ends: 33 [2022-04-27 13:22:12,786 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:22:12,788 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 33 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:12,788 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 49 Invalid, 33 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:12,798 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-27 13:22:12,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2022-04-27 13:22:12,806 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:12,807 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:12,807 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:12,808 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:12,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:12,810 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:22:12,811 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:22:12,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:12,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:12,811 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-27 13:22:12,812 INFO L87 Difference]: Start difference. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 33 states. [2022-04-27 13:22:12,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:12,814 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:22:12,814 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:22:12,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:12,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:12,815 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:12,815 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:12,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:12,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-27 13:22:12,818 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 18 [2022-04-27 13:22:12,818 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:12,818 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-27 13:22:12,819 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:12,819 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-27 13:22:12,819 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-27 13:22:12,819 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:12,819 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:12,819 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:22:12,820 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:12,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:12,820 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 1 times [2022-04-27 13:22:12,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:12,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2105649189] [2022-04-27 13:22:12,821 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:12,821 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:12,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:12,879 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:12,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:12,885 INFO L290 TraceCheckUtils]: 0: Hoare triple {268#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {256#true} is VALID [2022-04-27 13:22:12,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 13:22:12,886 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {256#true} {256#true} #96#return; {256#true} is VALID [2022-04-27 13:22:12,886 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:12,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:12,890 INFO L290 TraceCheckUtils]: 0: Hoare triple {256#true} ~cond := #in~cond; {256#true} is VALID [2022-04-27 13:22:12,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {256#true} assume !(0 == ~cond); {256#true} is VALID [2022-04-27 13:22:12,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 13:22:12,890 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {256#true} {256#true} #80#return; {256#true} is VALID [2022-04-27 13:22:12,891 INFO L272 TraceCheckUtils]: 0: Hoare triple {256#true} call ULTIMATE.init(); {268#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:22:12,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {268#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {256#true} is VALID [2022-04-27 13:22:12,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 13:22:12,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {256#true} {256#true} #96#return; {256#true} is VALID [2022-04-27 13:22:12,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {256#true} call #t~ret8 := main(); {256#true} is VALID [2022-04-27 13:22:12,892 INFO L290 TraceCheckUtils]: 5: Hoare triple {256#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;~B~0 := #t~nondet5;havoc #t~nondet5; {256#true} is VALID [2022-04-27 13:22:12,892 INFO L272 TraceCheckUtils]: 6: Hoare triple {256#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {256#true} is VALID [2022-04-27 13:22:12,892 INFO L290 TraceCheckUtils]: 7: Hoare triple {256#true} ~cond := #in~cond; {256#true} is VALID [2022-04-27 13:22:12,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {256#true} assume !(0 == ~cond); {256#true} is VALID [2022-04-27 13:22:12,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 13:22:12,892 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {256#true} {256#true} #80#return; {256#true} is VALID [2022-04-27 13:22:12,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {256#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {265#(= main_~q~0 0)} is VALID [2022-04-27 13:22:12,893 INFO L290 TraceCheckUtils]: 12: Hoare triple {265#(= main_~q~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {265#(= main_~q~0 0)} is VALID [2022-04-27 13:22:12,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {265#(= main_~q~0 0)} assume !!(#t~post6 < 10);havoc #t~post6; {265#(= main_~q~0 0)} is VALID [2022-04-27 13:22:12,894 INFO L272 TraceCheckUtils]: 14: Hoare triple {265#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {266#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:12,894 INFO L290 TraceCheckUtils]: 15: Hoare triple {266#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {267#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:22:12,895 INFO L290 TraceCheckUtils]: 16: Hoare triple {267#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {257#false} is VALID [2022-04-27 13:22:12,895 INFO L290 TraceCheckUtils]: 17: Hoare triple {257#false} assume !false; {257#false} is VALID [2022-04-27 13:22:12,895 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:22:12,895 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:12,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2105649189] [2022-04-27 13:22:12,895 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2105649189] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:12,895 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:12,895 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:12,896 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1208016743] [2022-04-27 13:22:12,896 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:12,897 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-27 13:22:12,897 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:12,897 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:12,909 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:12,909 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:12,909 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:12,909 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:12,909 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:12,910 INFO L87 Difference]: Start difference. First operand 32 states and 42 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:13,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:13,185 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-27 13:22:13,185 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:22:13,185 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-27 13:22:13,186 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:13,186 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:13,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:22:13,188 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:13,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:22:13,189 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-27 13:22:13,239 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:13,240 INFO L225 Difference]: With dead ends: 47 [2022-04-27 13:22:13,240 INFO L226 Difference]: Without dead ends: 45 [2022-04-27 13:22:13,241 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:13,242 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 28 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 99 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 90 SdHoareTripleChecker+Invalid, 113 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 99 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:13,242 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 90 Invalid, 113 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 99 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:13,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-27 13:22:13,246 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 36. [2022-04-27 13:22:13,246 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:13,247 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:13,247 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:13,247 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:13,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:13,250 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-27 13:22:13,250 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-27 13:22:13,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:13,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:13,251 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-27 13:22:13,251 INFO L87 Difference]: Start difference. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-27 13:22:13,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:13,253 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-27 13:22:13,254 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-27 13:22:13,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:13,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:13,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:13,254 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:13,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:13,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 45 transitions. [2022-04-27 13:22:13,256 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 45 transitions. Word has length 18 [2022-04-27 13:22:13,256 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:13,256 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 45 transitions. [2022-04-27 13:22:13,257 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, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:22:13,257 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 45 transitions. [2022-04-27 13:22:13,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-27 13:22:13,257 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:13,257 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:13,257 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:22:13,258 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:13,258 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:13,258 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 1 times [2022-04-27 13:22:13,258 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:13,258 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [251445028] [2022-04-27 13:22:13,258 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:13,259 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:13,271 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:13,271 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1395318939] [2022-04-27 13:22:13,271 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:13,271 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:13,272 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:13,273 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:13,274 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-27 13:22:13,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:13,318 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 13:22:13,325 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:13,328 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:13,442 INFO L272 TraceCheckUtils]: 0: Hoare triple {489#true} call ULTIMATE.init(); {489#true} is VALID [2022-04-27 13:22:13,443 INFO L290 TraceCheckUtils]: 1: Hoare triple {489#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);~counter~0 := 0; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:13,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {497#(<= ~counter~0 0)} assume true; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:13,444 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {497#(<= ~counter~0 0)} {489#true} #96#return; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:13,444 INFO L272 TraceCheckUtils]: 4: Hoare triple {497#(<= ~counter~0 0)} call #t~ret8 := main(); {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:13,445 INFO L290 TraceCheckUtils]: 5: Hoare triple {497#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:13,445 INFO L272 TraceCheckUtils]: 6: Hoare triple {497#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:13,446 INFO L290 TraceCheckUtils]: 7: Hoare triple {497#(<= ~counter~0 0)} ~cond := #in~cond; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:13,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {497#(<= ~counter~0 0)} assume !(0 == ~cond); {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:13,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {497#(<= ~counter~0 0)} assume true; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:13,447 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {497#(<= ~counter~0 0)} {497#(<= ~counter~0 0)} #80#return; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:13,447 INFO L290 TraceCheckUtils]: 11: Hoare triple {497#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:13,448 INFO L290 TraceCheckUtils]: 12: Hoare triple {497#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {531#(<= |main_#t~post6| 0)} is VALID [2022-04-27 13:22:13,448 INFO L290 TraceCheckUtils]: 13: Hoare triple {531#(<= |main_#t~post6| 0)} assume !(#t~post6 < 10);havoc #t~post6; {490#false} is VALID [2022-04-27 13:22:13,448 INFO L290 TraceCheckUtils]: 14: Hoare triple {490#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {490#false} is VALID [2022-04-27 13:22:13,449 INFO L290 TraceCheckUtils]: 15: Hoare triple {490#false} assume !(#t~post7 < 10);havoc #t~post7; {490#false} is VALID [2022-04-27 13:22:13,449 INFO L272 TraceCheckUtils]: 16: Hoare triple {490#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {490#false} is VALID [2022-04-27 13:22:13,449 INFO L290 TraceCheckUtils]: 17: Hoare triple {490#false} ~cond := #in~cond; {490#false} is VALID [2022-04-27 13:22:13,449 INFO L290 TraceCheckUtils]: 18: Hoare triple {490#false} assume 0 == ~cond; {490#false} is VALID [2022-04-27 13:22:13,449 INFO L290 TraceCheckUtils]: 19: Hoare triple {490#false} assume !false; {490#false} is VALID [2022-04-27 13:22:13,449 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:22:13,449 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:13,450 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:13,450 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [251445028] [2022-04-27 13:22:13,450 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:13,450 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1395318939] [2022-04-27 13:22:13,450 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1395318939] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:13,450 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:13,450 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 13:22:13,451 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [929247868] [2022-04-27 13:22:13,451 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:13,451 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-27 13:22:13,451 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:13,451 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:13,464 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:13,464 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-27 13:22:13,464 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:13,465 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-27 13:22:13,465 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 13:22:13,465 INFO L87 Difference]: Start difference. First operand 36 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:13,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:13,526 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-04-27 13:22:13,526 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 13:22:13,526 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-27 13:22:13,526 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:13,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:13,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-27 13:22:13,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:13,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-27 13:22:13,529 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 64 transitions. [2022-04-27 13:22:13,571 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-27 13:22:13,572 INFO L225 Difference]: With dead ends: 52 [2022-04-27 13:22:13,572 INFO L226 Difference]: Without dead ends: 38 [2022-04-27 13:22:13,573 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 13:22:13,574 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 0 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:13,574 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 107 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:13,574 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-27 13:22:13,579 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-27 13:22:13,580 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:13,580 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:13,580 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:13,580 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:13,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:13,582 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-27 13:22:13,582 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-27 13:22:13,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:13,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:13,583 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-27 13:22:13,583 INFO L87 Difference]: Start difference. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 38 states. [2022-04-27 13:22:13,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:13,584 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-27 13:22:13,584 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-27 13:22:13,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:13,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:13,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:13,585 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:13,585 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:13,586 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 47 transitions. [2022-04-27 13:22:13,586 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 47 transitions. Word has length 20 [2022-04-27 13:22:13,587 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:13,587 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 47 transitions. [2022-04-27 13:22:13,587 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:13,587 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-27 13:22:13,587 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 13:22:13,587 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:13,587 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:13,616 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-27 13:22:13,817 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:13,817 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:13,817 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:13,818 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 1 times [2022-04-27 13:22:13,818 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:13,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1493879415] [2022-04-27 13:22:13,818 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:13,818 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:13,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:13,867 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:13,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:13,872 INFO L290 TraceCheckUtils]: 0: Hoare triple {773#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {757#true} is VALID [2022-04-27 13:22:13,873 INFO L290 TraceCheckUtils]: 1: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:13,873 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {757#true} {757#true} #96#return; {757#true} is VALID [2022-04-27 13:22:13,873 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:13,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:13,876 INFO L290 TraceCheckUtils]: 0: Hoare triple {757#true} ~cond := #in~cond; {757#true} is VALID [2022-04-27 13:22:13,876 INFO L290 TraceCheckUtils]: 1: Hoare triple {757#true} assume !(0 == ~cond); {757#true} is VALID [2022-04-27 13:22:13,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:13,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {757#true} {757#true} #80#return; {757#true} is VALID [2022-04-27 13:22:13,876 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-27 13:22:13,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:13,881 INFO L290 TraceCheckUtils]: 0: Hoare triple {757#true} ~cond := #in~cond; {757#true} is VALID [2022-04-27 13:22:13,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {757#true} assume !(0 == ~cond); {757#true} is VALID [2022-04-27 13:22:13,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:13,882 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {757#true} {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:13,883 INFO L272 TraceCheckUtils]: 0: Hoare triple {757#true} call ULTIMATE.init(); {773#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:22:13,883 INFO L290 TraceCheckUtils]: 1: Hoare triple {773#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {757#true} is VALID [2022-04-27 13:22:13,883 INFO L290 TraceCheckUtils]: 2: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:13,883 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {757#true} {757#true} #96#return; {757#true} is VALID [2022-04-27 13:22:13,883 INFO L272 TraceCheckUtils]: 4: Hoare triple {757#true} call #t~ret8 := main(); {757#true} is VALID [2022-04-27 13:22:13,883 INFO L290 TraceCheckUtils]: 5: Hoare triple {757#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;~B~0 := #t~nondet5;havoc #t~nondet5; {757#true} is VALID [2022-04-27 13:22:13,883 INFO L272 TraceCheckUtils]: 6: Hoare triple {757#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {757#true} is VALID [2022-04-27 13:22:13,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {757#true} ~cond := #in~cond; {757#true} is VALID [2022-04-27 13:22:13,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {757#true} assume !(0 == ~cond); {757#true} is VALID [2022-04-27 13:22:13,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:13,884 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {757#true} {757#true} #80#return; {757#true} is VALID [2022-04-27 13:22:13,884 INFO L290 TraceCheckUtils]: 11: Hoare triple {757#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:13,885 INFO L290 TraceCheckUtils]: 12: Hoare triple {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:13,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !!(#t~post6 < 10);havoc #t~post6; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:13,885 INFO L272 TraceCheckUtils]: 14: Hoare triple {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {757#true} is VALID [2022-04-27 13:22:13,886 INFO L290 TraceCheckUtils]: 15: Hoare triple {757#true} ~cond := #in~cond; {757#true} is VALID [2022-04-27 13:22:13,886 INFO L290 TraceCheckUtils]: 16: Hoare triple {757#true} assume !(0 == ~cond); {757#true} is VALID [2022-04-27 13:22:13,886 INFO L290 TraceCheckUtils]: 17: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:13,886 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {757#true} {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:13,889 INFO L272 TraceCheckUtils]: 19: Hoare triple {766#(= 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)); {771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:13,889 INFO L290 TraceCheckUtils]: 20: Hoare triple {771#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {772#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:22:13,890 INFO L290 TraceCheckUtils]: 21: Hoare triple {772#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {758#false} is VALID [2022-04-27 13:22:13,890 INFO L290 TraceCheckUtils]: 22: Hoare triple {758#false} assume !false; {758#false} is VALID [2022-04-27 13:22:13,890 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:22:13,890 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:13,890 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1493879415] [2022-04-27 13:22:13,890 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1493879415] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:13,891 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:13,891 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:13,891 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1932059533] [2022-04-27 13:22:13,891 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:13,891 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-27 13:22:13,891 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:13,891 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:22:13,905 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:13,905 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:13,906 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:13,906 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:13,906 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:13,906 INFO L87 Difference]: Start difference. First operand 38 states and 47 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:22:14,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:14,214 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 13:22:14,215 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:22:14,215 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-27 13:22:14,215 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:14,215 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:22:14,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:22:14,217 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:22:14,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:22:14,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-27 13:22:14,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:14,270 INFO L225 Difference]: With dead ends: 52 [2022-04-27 13:22:14,270 INFO L226 Difference]: Without dead ends: 50 [2022-04-27 13:22:14,270 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:14,271 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 23 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:14,271 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 83 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:14,272 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-27 13:22:14,278 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 42. [2022-04-27 13:22:14,278 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:14,278 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:14,278 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:14,279 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:14,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:14,280 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-27 13:22:14,280 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-27 13:22:14,281 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:14,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:14,281 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-27 13:22:14,281 INFO L87 Difference]: Start difference. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-27 13:22:14,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:14,283 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-27 13:22:14,283 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-27 13:22:14,283 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:14,283 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:14,284 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:14,284 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:14,284 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:22:14,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2022-04-27 13:22:14,285 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 23 [2022-04-27 13:22:14,285 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:14,285 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2022-04-27 13:22:14,285 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, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:22:14,285 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2022-04-27 13:22:14,286 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:22:14,286 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:14,286 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:14,286 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-27 13:22:14,286 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:14,286 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:14,286 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 1 times [2022-04-27 13:22:14,286 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:14,287 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1307641830] [2022-04-27 13:22:14,287 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:14,287 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:14,295 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:14,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2064133603] [2022-04-27 13:22:14,296 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:14,296 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:14,296 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:14,297 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:14,311 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-27 13:22:14,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:14,346 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:22:14,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:14,364 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:14,492 INFO L272 TraceCheckUtils]: 0: Hoare triple {1018#true} call ULTIMATE.init(); {1018#true} is VALID [2022-04-27 13:22:14,492 INFO L290 TraceCheckUtils]: 1: Hoare triple {1018#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);~counter~0 := 0; {1018#true} is VALID [2022-04-27 13:22:14,492 INFO L290 TraceCheckUtils]: 2: Hoare triple {1018#true} assume true; {1018#true} is VALID [2022-04-27 13:22:14,492 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1018#true} {1018#true} #96#return; {1018#true} is VALID [2022-04-27 13:22:14,493 INFO L272 TraceCheckUtils]: 4: Hoare triple {1018#true} call #t~ret8 := main(); {1018#true} is VALID [2022-04-27 13:22:14,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {1018#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;~B~0 := #t~nondet5;havoc #t~nondet5; {1018#true} is VALID [2022-04-27 13:22:14,493 INFO L272 TraceCheckUtils]: 6: Hoare triple {1018#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1018#true} is VALID [2022-04-27 13:22:14,493 INFO L290 TraceCheckUtils]: 7: Hoare triple {1018#true} ~cond := #in~cond; {1018#true} is VALID [2022-04-27 13:22:14,493 INFO L290 TraceCheckUtils]: 8: Hoare triple {1018#true} assume !(0 == ~cond); {1018#true} is VALID [2022-04-27 13:22:14,493 INFO L290 TraceCheckUtils]: 9: Hoare triple {1018#true} assume true; {1018#true} is VALID [2022-04-27 13:22:14,493 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1018#true} {1018#true} #80#return; {1018#true} is VALID [2022-04-27 13:22:14,494 INFO L290 TraceCheckUtils]: 11: Hoare triple {1018#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:14,495 INFO L290 TraceCheckUtils]: 12: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:14,495 INFO L290 TraceCheckUtils]: 13: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:14,495 INFO L272 TraceCheckUtils]: 14: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1018#true} is VALID [2022-04-27 13:22:14,495 INFO L290 TraceCheckUtils]: 15: Hoare triple {1018#true} ~cond := #in~cond; {1018#true} is VALID [2022-04-27 13:22:14,495 INFO L290 TraceCheckUtils]: 16: Hoare triple {1018#true} assume !(0 == ~cond); {1018#true} is VALID [2022-04-27 13:22:14,495 INFO L290 TraceCheckUtils]: 17: Hoare triple {1018#true} assume true; {1018#true} is VALID [2022-04-27 13:22:14,497 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1018#true} {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:14,497 INFO L272 TraceCheckUtils]: 19: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1018#true} is VALID [2022-04-27 13:22:14,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {1018#true} ~cond := #in~cond; {1018#true} is VALID [2022-04-27 13:22:14,498 INFO L290 TraceCheckUtils]: 21: Hoare triple {1018#true} assume !(0 == ~cond); {1018#true} is VALID [2022-04-27 13:22:14,498 INFO L290 TraceCheckUtils]: 22: Hoare triple {1018#true} assume true; {1018#true} is VALID [2022-04-27 13:22:14,507 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1018#true} {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:14,508 INFO L272 TraceCheckUtils]: 24: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1096#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:14,508 INFO L290 TraceCheckUtils]: 25: Hoare triple {1096#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1100#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:14,509 INFO L290 TraceCheckUtils]: 26: Hoare triple {1100#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1019#false} is VALID [2022-04-27 13:22:14,509 INFO L290 TraceCheckUtils]: 27: Hoare triple {1019#false} assume !false; {1019#false} is VALID [2022-04-27 13:22:14,514 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 13:22:14,514 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:14,515 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:14,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1307641830] [2022-04-27 13:22:14,515 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:14,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2064133603] [2022-04-27 13:22:14,515 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2064133603] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:14,515 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:14,515 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:22:14,515 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [161339823] [2022-04-27 13:22:14,515 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:14,516 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 13:22:14,516 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:14,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:14,531 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:14,531 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:22:14,532 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:14,532 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:22:14,532 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:22:14,532 INFO L87 Difference]: Start difference. First operand 42 states and 50 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:14,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:14,708 INFO L93 Difference]: Finished difference Result 71 states and 93 transitions. [2022-04-27 13:22:14,708 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:14,708 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 13:22:14,708 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:14,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:14,710 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-27 13:22:14,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:14,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-27 13:22:14,735 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 87 transitions. [2022-04-27 13:22:14,811 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-27 13:22:14,812 INFO L225 Difference]: With dead ends: 71 [2022-04-27 13:22:14,812 INFO L226 Difference]: Without dead ends: 56 [2022-04-27 13:22:14,813 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:14,813 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 10 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:14,813 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 143 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:14,814 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-27 13:22:14,825 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-27 13:22:14,825 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:14,825 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:14,826 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:14,826 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:14,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:14,828 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-27 13:22:14,828 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-27 13:22:14,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:14,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:14,829 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-27 13:22:14,829 INFO L87 Difference]: Start difference. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 56 states. [2022-04-27 13:22:14,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:14,831 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-27 13:22:14,831 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-27 13:22:14,831 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:14,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:14,831 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:14,831 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:14,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:14,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 70 transitions. [2022-04-27 13:22:14,833 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 70 transitions. Word has length 28 [2022-04-27 13:22:14,833 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:14,833 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 70 transitions. [2022-04-27 13:22:14,833 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:14,833 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-27 13:22:14,834 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-27 13:22:14,834 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:14,834 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:14,860 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:15,050 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:15,050 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:15,051 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:15,051 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 1 times [2022-04-27 13:22:15,051 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:15,051 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1887909448] [2022-04-27 13:22:15,051 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:15,051 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:15,065 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:15,065 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [269102408] [2022-04-27 13:22:15,065 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:15,065 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:15,065 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:15,066 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:15,067 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-27 13:22:15,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:15,100 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:22:15,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:15,108 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:15,251 INFO L272 TraceCheckUtils]: 0: Hoare triple {1403#true} call ULTIMATE.init(); {1403#true} is VALID [2022-04-27 13:22:15,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {1403#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);~counter~0 := 0; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:15,252 INFO L290 TraceCheckUtils]: 2: Hoare triple {1411#(<= ~counter~0 0)} assume true; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:15,253 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1411#(<= ~counter~0 0)} {1403#true} #96#return; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:15,253 INFO L272 TraceCheckUtils]: 4: Hoare triple {1411#(<= ~counter~0 0)} call #t~ret8 := main(); {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:15,253 INFO L290 TraceCheckUtils]: 5: Hoare triple {1411#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:15,254 INFO L272 TraceCheckUtils]: 6: Hoare triple {1411#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:15,254 INFO L290 TraceCheckUtils]: 7: Hoare triple {1411#(<= ~counter~0 0)} ~cond := #in~cond; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:15,254 INFO L290 TraceCheckUtils]: 8: Hoare triple {1411#(<= ~counter~0 0)} assume !(0 == ~cond); {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:15,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {1411#(<= ~counter~0 0)} assume true; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:15,255 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1411#(<= ~counter~0 0)} {1411#(<= ~counter~0 0)} #80#return; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:15,255 INFO L290 TraceCheckUtils]: 11: Hoare triple {1411#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:15,255 INFO L290 TraceCheckUtils]: 12: Hoare triple {1411#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,256 INFO L290 TraceCheckUtils]: 13: Hoare triple {1445#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,256 INFO L272 TraceCheckUtils]: 14: Hoare triple {1445#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,256 INFO L290 TraceCheckUtils]: 15: Hoare triple {1445#(<= ~counter~0 1)} ~cond := #in~cond; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,257 INFO L290 TraceCheckUtils]: 16: Hoare triple {1445#(<= ~counter~0 1)} assume !(0 == ~cond); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,257 INFO L290 TraceCheckUtils]: 17: Hoare triple {1445#(<= ~counter~0 1)} assume true; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,257 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1445#(<= ~counter~0 1)} {1445#(<= ~counter~0 1)} #82#return; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,258 INFO L272 TraceCheckUtils]: 19: Hoare triple {1445#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,258 INFO L290 TraceCheckUtils]: 20: Hoare triple {1445#(<= ~counter~0 1)} ~cond := #in~cond; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,258 INFO L290 TraceCheckUtils]: 21: Hoare triple {1445#(<= ~counter~0 1)} assume !(0 == ~cond); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,259 INFO L290 TraceCheckUtils]: 22: Hoare triple {1445#(<= ~counter~0 1)} assume true; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,259 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1445#(<= ~counter~0 1)} {1445#(<= ~counter~0 1)} #84#return; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,259 INFO L272 TraceCheckUtils]: 24: Hoare triple {1445#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,260 INFO L290 TraceCheckUtils]: 25: Hoare triple {1445#(<= ~counter~0 1)} ~cond := #in~cond; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,260 INFO L290 TraceCheckUtils]: 26: Hoare triple {1445#(<= ~counter~0 1)} assume !(0 == ~cond); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,260 INFO L290 TraceCheckUtils]: 27: Hoare triple {1445#(<= ~counter~0 1)} assume true; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,261 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1445#(<= ~counter~0 1)} {1445#(<= ~counter~0 1)} #86#return; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,261 INFO L290 TraceCheckUtils]: 29: Hoare triple {1445#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:15,261 INFO L290 TraceCheckUtils]: 30: Hoare triple {1445#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1500#(<= |main_#t~post7| 1)} is VALID [2022-04-27 13:22:15,262 INFO L290 TraceCheckUtils]: 31: Hoare triple {1500#(<= |main_#t~post7| 1)} assume !(#t~post7 < 10);havoc #t~post7; {1404#false} is VALID [2022-04-27 13:22:15,262 INFO L272 TraceCheckUtils]: 32: Hoare triple {1404#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {1404#false} is VALID [2022-04-27 13:22:15,262 INFO L290 TraceCheckUtils]: 33: Hoare triple {1404#false} ~cond := #in~cond; {1404#false} is VALID [2022-04-27 13:22:15,262 INFO L290 TraceCheckUtils]: 34: Hoare triple {1404#false} assume 0 == ~cond; {1404#false} is VALID [2022-04-27 13:22:15,262 INFO L290 TraceCheckUtils]: 35: Hoare triple {1404#false} assume !false; {1404#false} is VALID [2022-04-27 13:22:15,262 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:15,262 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:15,262 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:15,262 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1887909448] [2022-04-27 13:22:15,262 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:15,263 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [269102408] [2022-04-27 13:22:15,263 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [269102408] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:15,263 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:15,263 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:22:15,263 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1807961316] [2022-04-27 13:22:15,263 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:15,263 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-27 13:22:15,263 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:15,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:15,281 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:15,281 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:22:15,281 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:15,282 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:22:15,282 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:22:15,282 INFO L87 Difference]: Start difference. First operand 56 states and 70 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:15,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:15,374 INFO L93 Difference]: Finished difference Result 76 states and 86 transitions. [2022-04-27 13:22:15,374 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:15,374 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-27 13:22:15,374 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:15,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:15,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:22:15,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:15,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:22:15,376 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-27 13:22:15,416 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:15,417 INFO L225 Difference]: With dead ends: 76 [2022-04-27 13:22:15,418 INFO L226 Difference]: Without dead ends: 69 [2022-04-27 13:22:15,418 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:22:15,418 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:15,418 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 136 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:15,419 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-27 13:22:15,430 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2022-04-27 13:22:15,430 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:15,430 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:15,430 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:15,431 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:15,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:15,432 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-27 13:22:15,432 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-27 13:22:15,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:15,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:15,433 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-27 13:22:15,433 INFO L87 Difference]: Start difference. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-27 13:22:15,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:15,435 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-27 13:22:15,435 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-27 13:22:15,435 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:15,435 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:15,435 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:15,435 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:15,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:15,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 78 transitions. [2022-04-27 13:22:15,437 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 78 transitions. Word has length 36 [2022-04-27 13:22:15,437 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:15,437 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 78 transitions. [2022-04-27 13:22:15,437 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:15,437 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 78 transitions. [2022-04-27 13:22:15,438 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-27 13:22:15,438 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:15,438 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:15,456 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:15,651 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:15,651 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:15,652 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:15,652 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 1 times [2022-04-27 13:22:15,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:15,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1671634891] [2022-04-27 13:22:15,652 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:15,652 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:15,664 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:15,664 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [593973747] [2022-04-27 13:22:15,664 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:15,664 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:15,664 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:15,665 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:15,666 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-27 13:22:15,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:15,696 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:22:15,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:15,707 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:16,174 INFO L272 TraceCheckUtils]: 0: Hoare triple {1856#true} call ULTIMATE.init(); {1856#true} is VALID [2022-04-27 13:22:16,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {1856#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);~counter~0 := 0; {1856#true} is VALID [2022-04-27 13:22:16,175 INFO L290 TraceCheckUtils]: 2: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:16,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1856#true} {1856#true} #96#return; {1856#true} is VALID [2022-04-27 13:22:16,175 INFO L272 TraceCheckUtils]: 4: Hoare triple {1856#true} call #t~ret8 := main(); {1856#true} is VALID [2022-04-27 13:22:16,175 INFO L290 TraceCheckUtils]: 5: Hoare triple {1856#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;~B~0 := #t~nondet5;havoc #t~nondet5; {1856#true} is VALID [2022-04-27 13:22:16,175 INFO L272 TraceCheckUtils]: 6: Hoare triple {1856#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1856#true} is VALID [2022-04-27 13:22:16,175 INFO L290 TraceCheckUtils]: 7: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2022-04-27 13:22:16,175 INFO L290 TraceCheckUtils]: 8: Hoare triple {1856#true} assume !(0 == ~cond); {1856#true} is VALID [2022-04-27 13:22:16,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:16,175 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1856#true} {1856#true} #80#return; {1856#true} is VALID [2022-04-27 13:22:16,176 INFO L290 TraceCheckUtils]: 11: Hoare triple {1856#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:16,176 INFO L290 TraceCheckUtils]: 12: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:16,177 INFO L290 TraceCheckUtils]: 13: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:16,177 INFO L272 TraceCheckUtils]: 14: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1856#true} is VALID [2022-04-27 13:22:16,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2022-04-27 13:22:16,177 INFO L290 TraceCheckUtils]: 16: Hoare triple {1856#true} assume !(0 == ~cond); {1856#true} is VALID [2022-04-27 13:22:16,177 INFO L290 TraceCheckUtils]: 17: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:16,180 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1856#true} {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:16,181 INFO L272 TraceCheckUtils]: 19: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1856#true} is VALID [2022-04-27 13:22:16,181 INFO L290 TraceCheckUtils]: 20: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2022-04-27 13:22:16,181 INFO L290 TraceCheckUtils]: 21: Hoare triple {1856#true} assume !(0 == ~cond); {1856#true} is VALID [2022-04-27 13:22:16,181 INFO L290 TraceCheckUtils]: 22: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:16,181 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1856#true} {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:16,181 INFO L272 TraceCheckUtils]: 24: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1856#true} is VALID [2022-04-27 13:22:16,181 INFO L290 TraceCheckUtils]: 25: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2022-04-27 13:22:16,182 INFO L290 TraceCheckUtils]: 26: Hoare triple {1856#true} assume !(0 == ~cond); {1856#true} is VALID [2022-04-27 13:22:16,182 INFO L290 TraceCheckUtils]: 27: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:16,182 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1856#true} {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:16,183 INFO L290 TraceCheckUtils]: 29: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:16,186 INFO L290 TraceCheckUtils]: 30: Hoare triple {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:16,187 INFO L290 TraceCheckUtils]: 31: Hoare triple {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post7 < 10);havoc #t~post7; {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:16,188 INFO L272 TraceCheckUtils]: 32: Hoare triple {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:16,188 INFO L290 TraceCheckUtils]: 33: Hoare triple {1959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:16,188 INFO L290 TraceCheckUtils]: 34: Hoare triple {1963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1857#false} is VALID [2022-04-27 13:22:16,188 INFO L290 TraceCheckUtils]: 35: Hoare triple {1857#false} assume !false; {1857#false} is VALID [2022-04-27 13:22:16,189 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:16,189 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:16,189 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:16,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1671634891] [2022-04-27 13:22:16,189 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:16,189 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [593973747] [2022-04-27 13:22:16,189 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [593973747] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:16,189 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:16,189 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:16,189 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2117436430] [2022-04-27 13:22:16,189 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:16,190 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-27 13:22:16,190 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:16,190 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:16,209 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:16,209 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:16,210 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:16,210 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:16,210 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:16,210 INFO L87 Difference]: Start difference. First operand 68 states and 78 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:16,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:16,471 INFO L93 Difference]: Finished difference Result 74 states and 83 transitions. [2022-04-27 13:22:16,471 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:22:16,471 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-27 13:22:16,471 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:16,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:16,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-04-27 13:22:16,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:16,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-04-27 13:22:16,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 65 transitions. [2022-04-27 13:22:16,525 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:16,525 INFO L225 Difference]: With dead ends: 74 [2022-04-27 13:22:16,526 INFO L226 Difference]: Without dead ends: 58 [2022-04-27 13:22:16,526 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:22:16,526 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 78 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:16,527 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 160 Invalid, 78 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:16,527 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-27 13:22:16,540 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 58. [2022-04-27 13:22:16,540 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:16,540 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:22:16,540 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:22:16,540 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:22:16,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:16,542 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2022-04-27 13:22:16,542 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2022-04-27 13:22:16,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:16,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:16,542 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 58 states. [2022-04-27 13:22:16,542 INFO L87 Difference]: Start difference. First operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 58 states. [2022-04-27 13:22:16,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:16,544 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2022-04-27 13:22:16,544 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2022-04-27 13:22:16,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:16,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:16,544 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:16,544 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:16,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:22:16,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 66 transitions. [2022-04-27 13:22:16,546 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 66 transitions. Word has length 36 [2022-04-27 13:22:16,546 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:16,546 INFO L495 AbstractCegarLoop]: Abstraction has 58 states and 66 transitions. [2022-04-27 13:22:16,546 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:16,546 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2022-04-27 13:22:16,546 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 13:22:16,546 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:16,546 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:16,562 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:16,759 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:16,759 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:16,760 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:16,760 INFO L85 PathProgramCache]: Analyzing trace with hash -1189074514, now seen corresponding path program 1 times [2022-04-27 13:22:16,760 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:16,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2126933821] [2022-04-27 13:22:16,760 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:16,760 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:16,777 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:16,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1220689417] [2022-04-27 13:22:16,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:16,777 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:16,777 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:16,793 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:16,812 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-27 13:22:16,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:16,844 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:22:16,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:16,856 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:16,990 INFO L272 TraceCheckUtils]: 0: Hoare triple {2274#true} call ULTIMATE.init(); {2274#true} is VALID [2022-04-27 13:22:16,990 INFO L290 TraceCheckUtils]: 1: Hoare triple {2274#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);~counter~0 := 0; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:16,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {2282#(<= ~counter~0 0)} assume true; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:16,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2282#(<= ~counter~0 0)} {2274#true} #96#return; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:16,991 INFO L272 TraceCheckUtils]: 4: Hoare triple {2282#(<= ~counter~0 0)} call #t~ret8 := main(); {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:16,991 INFO L290 TraceCheckUtils]: 5: Hoare triple {2282#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:16,992 INFO L272 TraceCheckUtils]: 6: Hoare triple {2282#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:16,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {2282#(<= ~counter~0 0)} ~cond := #in~cond; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:16,992 INFO L290 TraceCheckUtils]: 8: Hoare triple {2282#(<= ~counter~0 0)} assume !(0 == ~cond); {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:16,993 INFO L290 TraceCheckUtils]: 9: Hoare triple {2282#(<= ~counter~0 0)} assume true; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:16,993 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2282#(<= ~counter~0 0)} {2282#(<= ~counter~0 0)} #80#return; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:16,993 INFO L290 TraceCheckUtils]: 11: Hoare triple {2282#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:16,994 INFO L290 TraceCheckUtils]: 12: Hoare triple {2282#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,994 INFO L290 TraceCheckUtils]: 13: Hoare triple {2316#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,994 INFO L272 TraceCheckUtils]: 14: Hoare triple {2316#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,995 INFO L290 TraceCheckUtils]: 15: Hoare triple {2316#(<= ~counter~0 1)} ~cond := #in~cond; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,995 INFO L290 TraceCheckUtils]: 16: Hoare triple {2316#(<= ~counter~0 1)} assume !(0 == ~cond); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,995 INFO L290 TraceCheckUtils]: 17: Hoare triple {2316#(<= ~counter~0 1)} assume true; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,996 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2316#(<= ~counter~0 1)} {2316#(<= ~counter~0 1)} #82#return; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,996 INFO L272 TraceCheckUtils]: 19: Hoare triple {2316#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,996 INFO L290 TraceCheckUtils]: 20: Hoare triple {2316#(<= ~counter~0 1)} ~cond := #in~cond; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,996 INFO L290 TraceCheckUtils]: 21: Hoare triple {2316#(<= ~counter~0 1)} assume !(0 == ~cond); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,997 INFO L290 TraceCheckUtils]: 22: Hoare triple {2316#(<= ~counter~0 1)} assume true; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,997 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2316#(<= ~counter~0 1)} {2316#(<= ~counter~0 1)} #84#return; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,998 INFO L272 TraceCheckUtils]: 24: Hoare triple {2316#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,998 INFO L290 TraceCheckUtils]: 25: Hoare triple {2316#(<= ~counter~0 1)} ~cond := #in~cond; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,998 INFO L290 TraceCheckUtils]: 26: Hoare triple {2316#(<= ~counter~0 1)} assume !(0 == ~cond); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:16,999 INFO L290 TraceCheckUtils]: 27: Hoare triple {2316#(<= ~counter~0 1)} assume true; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:17,000 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2316#(<= ~counter~0 1)} {2316#(<= ~counter~0 1)} #86#return; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:17,000 INFO L290 TraceCheckUtils]: 29: Hoare triple {2316#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:17,000 INFO L290 TraceCheckUtils]: 30: Hoare triple {2316#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2371#(<= |main_#t~post6| 1)} is VALID [2022-04-27 13:22:17,000 INFO L290 TraceCheckUtils]: 31: Hoare triple {2371#(<= |main_#t~post6| 1)} assume !(#t~post6 < 10);havoc #t~post6; {2275#false} is VALID [2022-04-27 13:22:17,001 INFO L290 TraceCheckUtils]: 32: Hoare triple {2275#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2275#false} is VALID [2022-04-27 13:22:17,001 INFO L290 TraceCheckUtils]: 33: Hoare triple {2275#false} assume !(#t~post7 < 10);havoc #t~post7; {2275#false} is VALID [2022-04-27 13:22:17,001 INFO L272 TraceCheckUtils]: 34: Hoare triple {2275#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2275#false} is VALID [2022-04-27 13:22:17,001 INFO L290 TraceCheckUtils]: 35: Hoare triple {2275#false} ~cond := #in~cond; {2275#false} is VALID [2022-04-27 13:22:17,001 INFO L290 TraceCheckUtils]: 36: Hoare triple {2275#false} assume 0 == ~cond; {2275#false} is VALID [2022-04-27 13:22:17,001 INFO L290 TraceCheckUtils]: 37: Hoare triple {2275#false} assume !false; {2275#false} is VALID [2022-04-27 13:22:17,001 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:17,001 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:17,144 INFO L290 TraceCheckUtils]: 37: Hoare triple {2275#false} assume !false; {2275#false} is VALID [2022-04-27 13:22:17,145 INFO L290 TraceCheckUtils]: 36: Hoare triple {2275#false} assume 0 == ~cond; {2275#false} is VALID [2022-04-27 13:22:17,145 INFO L290 TraceCheckUtils]: 35: Hoare triple {2275#false} ~cond := #in~cond; {2275#false} is VALID [2022-04-27 13:22:17,145 INFO L272 TraceCheckUtils]: 34: Hoare triple {2275#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2275#false} is VALID [2022-04-27 13:22:17,145 INFO L290 TraceCheckUtils]: 33: Hoare triple {2275#false} assume !(#t~post7 < 10);havoc #t~post7; {2275#false} is VALID [2022-04-27 13:22:17,145 INFO L290 TraceCheckUtils]: 32: Hoare triple {2275#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2275#false} is VALID [2022-04-27 13:22:17,146 INFO L290 TraceCheckUtils]: 31: Hoare triple {2411#(< |main_#t~post6| 10)} assume !(#t~post6 < 10);havoc #t~post6; {2275#false} is VALID [2022-04-27 13:22:17,147 INFO L290 TraceCheckUtils]: 30: Hoare triple {2415#(< ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2411#(< |main_#t~post6| 10)} is VALID [2022-04-27 13:22:17,148 INFO L290 TraceCheckUtils]: 29: Hoare triple {2415#(< ~counter~0 10)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2415#(< ~counter~0 10)} is VALID [2022-04-27 13:22:17,148 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2274#true} {2415#(< ~counter~0 10)} #86#return; {2415#(< ~counter~0 10)} is VALID [2022-04-27 13:22:17,148 INFO L290 TraceCheckUtils]: 27: Hoare triple {2274#true} assume true; {2274#true} is VALID [2022-04-27 13:22:17,149 INFO L290 TraceCheckUtils]: 26: Hoare triple {2274#true} assume !(0 == ~cond); {2274#true} is VALID [2022-04-27 13:22:17,149 INFO L290 TraceCheckUtils]: 25: Hoare triple {2274#true} ~cond := #in~cond; {2274#true} is VALID [2022-04-27 13:22:17,149 INFO L272 TraceCheckUtils]: 24: Hoare triple {2415#(< ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2274#true} is VALID [2022-04-27 13:22:17,152 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2274#true} {2415#(< ~counter~0 10)} #84#return; {2415#(< ~counter~0 10)} is VALID [2022-04-27 13:22:17,152 INFO L290 TraceCheckUtils]: 22: Hoare triple {2274#true} assume true; {2274#true} is VALID [2022-04-27 13:22:17,152 INFO L290 TraceCheckUtils]: 21: Hoare triple {2274#true} assume !(0 == ~cond); {2274#true} is VALID [2022-04-27 13:22:17,152 INFO L290 TraceCheckUtils]: 20: Hoare triple {2274#true} ~cond := #in~cond; {2274#true} is VALID [2022-04-27 13:22:17,152 INFO L272 TraceCheckUtils]: 19: Hoare triple {2415#(< ~counter~0 10)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2274#true} is VALID [2022-04-27 13:22:17,152 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2274#true} {2415#(< ~counter~0 10)} #82#return; {2415#(< ~counter~0 10)} is VALID [2022-04-27 13:22:17,152 INFO L290 TraceCheckUtils]: 17: Hoare triple {2274#true} assume true; {2274#true} is VALID [2022-04-27 13:22:17,153 INFO L290 TraceCheckUtils]: 16: Hoare triple {2274#true} assume !(0 == ~cond); {2274#true} is VALID [2022-04-27 13:22:17,153 INFO L290 TraceCheckUtils]: 15: Hoare triple {2274#true} ~cond := #in~cond; {2274#true} is VALID [2022-04-27 13:22:17,153 INFO L272 TraceCheckUtils]: 14: Hoare triple {2415#(< ~counter~0 10)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2274#true} is VALID [2022-04-27 13:22:17,153 INFO L290 TraceCheckUtils]: 13: Hoare triple {2415#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {2415#(< ~counter~0 10)} is VALID [2022-04-27 13:22:17,153 INFO L290 TraceCheckUtils]: 12: Hoare triple {2470#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2415#(< ~counter~0 10)} is VALID [2022-04-27 13:22:17,154 INFO L290 TraceCheckUtils]: 11: Hoare triple {2470#(< ~counter~0 9)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2470#(< ~counter~0 9)} is VALID [2022-04-27 13:22:17,154 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2274#true} {2470#(< ~counter~0 9)} #80#return; {2470#(< ~counter~0 9)} is VALID [2022-04-27 13:22:17,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {2274#true} assume true; {2274#true} is VALID [2022-04-27 13:22:17,154 INFO L290 TraceCheckUtils]: 8: Hoare triple {2274#true} assume !(0 == ~cond); {2274#true} is VALID [2022-04-27 13:22:17,154 INFO L290 TraceCheckUtils]: 7: Hoare triple {2274#true} ~cond := #in~cond; {2274#true} is VALID [2022-04-27 13:22:17,155 INFO L272 TraceCheckUtils]: 6: Hoare triple {2470#(< ~counter~0 9)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2274#true} is VALID [2022-04-27 13:22:17,155 INFO L290 TraceCheckUtils]: 5: Hoare triple {2470#(< ~counter~0 9)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {2470#(< ~counter~0 9)} is VALID [2022-04-27 13:22:17,155 INFO L272 TraceCheckUtils]: 4: Hoare triple {2470#(< ~counter~0 9)} call #t~ret8 := main(); {2470#(< ~counter~0 9)} is VALID [2022-04-27 13:22:17,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2470#(< ~counter~0 9)} {2274#true} #96#return; {2470#(< ~counter~0 9)} is VALID [2022-04-27 13:22:17,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {2470#(< ~counter~0 9)} assume true; {2470#(< ~counter~0 9)} is VALID [2022-04-27 13:22:17,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {2274#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);~counter~0 := 0; {2470#(< ~counter~0 9)} is VALID [2022-04-27 13:22:17,156 INFO L272 TraceCheckUtils]: 0: Hoare triple {2274#true} call ULTIMATE.init(); {2274#true} is VALID [2022-04-27 13:22:17,156 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:17,156 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:17,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2126933821] [2022-04-27 13:22:17,157 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:17,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1220689417] [2022-04-27 13:22:17,157 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1220689417] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:22:17,157 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:22:17,157 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-27 13:22:17,157 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [908697954] [2022-04-27 13:22:17,157 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:17,157 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 38 [2022-04-27 13:22:17,158 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:17,158 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:17,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:17,191 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 13:22:17,191 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:17,191 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 13:22:17,191 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:22:17,192 INFO L87 Difference]: Start difference. First operand 58 states and 66 transitions. Second operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:17,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:17,445 INFO L93 Difference]: Finished difference Result 123 states and 147 transitions. [2022-04-27 13:22:17,445 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:22:17,445 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 38 [2022-04-27 13:22:17,445 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:17,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:17,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 123 transitions. [2022-04-27 13:22:17,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:17,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 123 transitions. [2022-04-27 13:22:17,448 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 123 transitions. [2022-04-27 13:22:17,535 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:17,536 INFO L225 Difference]: With dead ends: 123 [2022-04-27 13:22:17,536 INFO L226 Difference]: Without dead ends: 109 [2022-04-27 13:22:17,537 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:22:17,537 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 48 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 74 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:17,537 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 178 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:17,538 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2022-04-27 13:22:17,566 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 103. [2022-04-27 13:22:17,566 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:17,567 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:22:17,567 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:22:17,567 INFO L87 Difference]: Start difference. First operand 109 states. Second operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:22:17,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:17,569 INFO L93 Difference]: Finished difference Result 109 states and 125 transitions. [2022-04-27 13:22:17,570 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 125 transitions. [2022-04-27 13:22:17,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:17,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:17,570 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 109 states. [2022-04-27 13:22:17,570 INFO L87 Difference]: Start difference. First operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 109 states. [2022-04-27 13:22:17,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:17,573 INFO L93 Difference]: Finished difference Result 109 states and 125 transitions. [2022-04-27 13:22:17,573 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 125 transitions. [2022-04-27 13:22:17,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:17,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:17,573 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:17,573 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:17,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:22:17,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 120 transitions. [2022-04-27 13:22:17,576 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 120 transitions. Word has length 38 [2022-04-27 13:22:17,576 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:17,576 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 120 transitions. [2022-04-27 13:22:17,576 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:17,576 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 120 transitions. [2022-04-27 13:22:17,577 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-27 13:22:17,577 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:17,577 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:17,595 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:17,793 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:17,793 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:17,793 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:17,793 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 1 times [2022-04-27 13:22:17,793 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:17,793 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1767315061] [2022-04-27 13:22:17,793 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:17,794 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:17,802 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:17,802 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [876588443] [2022-04-27 13:22:17,802 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:17,802 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:17,802 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:17,803 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:17,804 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-27 13:22:17,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:17,836 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-27 13:22:17,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:17,849 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:18,514 INFO L272 TraceCheckUtils]: 0: Hoare triple {3050#true} call ULTIMATE.init(); {3050#true} is VALID [2022-04-27 13:22:18,514 INFO L290 TraceCheckUtils]: 1: Hoare triple {3050#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);~counter~0 := 0; {3050#true} is VALID [2022-04-27 13:22:18,514 INFO L290 TraceCheckUtils]: 2: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,514 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3050#true} {3050#true} #96#return; {3050#true} is VALID [2022-04-27 13:22:18,514 INFO L272 TraceCheckUtils]: 4: Hoare triple {3050#true} call #t~ret8 := main(); {3050#true} is VALID [2022-04-27 13:22:18,529 INFO L290 TraceCheckUtils]: 5: Hoare triple {3050#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;~B~0 := #t~nondet5;havoc #t~nondet5; {3050#true} is VALID [2022-04-27 13:22:18,529 INFO L272 TraceCheckUtils]: 6: Hoare triple {3050#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:18,531 INFO L290 TraceCheckUtils]: 7: Hoare triple {3050#true} ~cond := #in~cond; {3076#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:22:18,532 INFO L290 TraceCheckUtils]: 8: Hoare triple {3076#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:18,532 INFO L290 TraceCheckUtils]: 9: Hoare triple {3080#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:18,533 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3080#(not (= |assume_abort_if_not_#in~cond| 0))} {3050#true} #80#return; {3087#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:22:18,533 INFO L290 TraceCheckUtils]: 11: Hoare triple {3087#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:18,534 INFO L290 TraceCheckUtils]: 12: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:18,534 INFO L290 TraceCheckUtils]: 13: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:18,534 INFO L272 TraceCheckUtils]: 14: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:18,534 INFO L290 TraceCheckUtils]: 15: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:18,534 INFO L290 TraceCheckUtils]: 16: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:18,534 INFO L290 TraceCheckUtils]: 17: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,535 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3050#true} {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:18,535 INFO L272 TraceCheckUtils]: 19: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:18,535 INFO L290 TraceCheckUtils]: 20: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:18,535 INFO L290 TraceCheckUtils]: 21: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:18,535 INFO L290 TraceCheckUtils]: 22: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,536 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3050#true} {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:18,536 INFO L272 TraceCheckUtils]: 24: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 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)); {3050#true} is VALID [2022-04-27 13:22:18,536 INFO L290 TraceCheckUtils]: 25: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:18,536 INFO L290 TraceCheckUtils]: 26: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:18,536 INFO L290 TraceCheckUtils]: 27: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,536 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3050#true} {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:18,537 INFO L290 TraceCheckUtils]: 29: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 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; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,538 INFO L290 TraceCheckUtils]: 30: Hoare triple {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,538 INFO L290 TraceCheckUtils]: 31: Hoare triple {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 10);havoc #t~post6; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,538 INFO L272 TraceCheckUtils]: 32: Hoare triple {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:18,538 INFO L290 TraceCheckUtils]: 33: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:18,538 INFO L290 TraceCheckUtils]: 34: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:18,538 INFO L290 TraceCheckUtils]: 35: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,539 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3050#true} {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,539 INFO L272 TraceCheckUtils]: 37: Hoare triple {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:18,539 INFO L290 TraceCheckUtils]: 38: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:18,539 INFO L290 TraceCheckUtils]: 39: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:18,539 INFO L290 TraceCheckUtils]: 40: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,540 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3050#true} {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,540 INFO L272 TraceCheckUtils]: 42: Hoare triple {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3186#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:18,541 INFO L290 TraceCheckUtils]: 43: Hoare triple {3186#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3190#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:18,541 INFO L290 TraceCheckUtils]: 44: Hoare triple {3190#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3051#false} is VALID [2022-04-27 13:22:18,541 INFO L290 TraceCheckUtils]: 45: Hoare triple {3051#false} assume !false; {3051#false} is VALID [2022-04-27 13:22:18,541 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-27 13:22:18,541 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:18,835 INFO L290 TraceCheckUtils]: 45: Hoare triple {3051#false} assume !false; {3051#false} is VALID [2022-04-27 13:22:18,836 INFO L290 TraceCheckUtils]: 44: Hoare triple {3190#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3051#false} is VALID [2022-04-27 13:22:18,836 INFO L290 TraceCheckUtils]: 43: Hoare triple {3186#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3190#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:18,837 INFO L272 TraceCheckUtils]: 42: Hoare triple {3206#(= 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)); {3186#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:18,837 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,837 INFO L290 TraceCheckUtils]: 40: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,838 INFO L290 TraceCheckUtils]: 39: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:18,838 INFO L290 TraceCheckUtils]: 38: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:18,838 INFO L272 TraceCheckUtils]: 37: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:18,838 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,838 INFO L290 TraceCheckUtils]: 35: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,838 INFO L290 TraceCheckUtils]: 34: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:18,838 INFO L290 TraceCheckUtils]: 33: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:18,838 INFO L272 TraceCheckUtils]: 32: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:18,839 INFO L290 TraceCheckUtils]: 31: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 10);havoc #t~post6; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,839 INFO L290 TraceCheckUtils]: 30: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,897 INFO L290 TraceCheckUtils]: 29: Hoare triple {3206#(= 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; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,897 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,897 INFO L290 TraceCheckUtils]: 27: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,897 INFO L290 TraceCheckUtils]: 26: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:18,897 INFO L290 TraceCheckUtils]: 25: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:18,898 INFO L272 TraceCheckUtils]: 24: Hoare triple {3206#(= 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)); {3050#true} is VALID [2022-04-27 13:22:18,898 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,898 INFO L290 TraceCheckUtils]: 22: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,898 INFO L290 TraceCheckUtils]: 21: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:18,898 INFO L290 TraceCheckUtils]: 20: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:18,898 INFO L272 TraceCheckUtils]: 19: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:18,899 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,899 INFO L290 TraceCheckUtils]: 17: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,899 INFO L290 TraceCheckUtils]: 16: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:18,899 INFO L290 TraceCheckUtils]: 15: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:18,899 INFO L272 TraceCheckUtils]: 14: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:18,900 INFO L290 TraceCheckUtils]: 13: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 10);havoc #t~post6; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,900 INFO L290 TraceCheckUtils]: 12: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,900 INFO L290 TraceCheckUtils]: 11: Hoare triple {3050#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:18,901 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3050#true} {3050#true} #80#return; {3050#true} is VALID [2022-04-27 13:22:18,901 INFO L290 TraceCheckUtils]: 9: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,901 INFO L290 TraceCheckUtils]: 8: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:18,901 INFO L290 TraceCheckUtils]: 7: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:18,901 INFO L272 TraceCheckUtils]: 6: Hoare triple {3050#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:18,901 INFO L290 TraceCheckUtils]: 5: Hoare triple {3050#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;~B~0 := #t~nondet5;havoc #t~nondet5; {3050#true} is VALID [2022-04-27 13:22:18,901 INFO L272 TraceCheckUtils]: 4: Hoare triple {3050#true} call #t~ret8 := main(); {3050#true} is VALID [2022-04-27 13:22:18,901 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3050#true} {3050#true} #96#return; {3050#true} is VALID [2022-04-27 13:22:18,901 INFO L290 TraceCheckUtils]: 2: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:18,901 INFO L290 TraceCheckUtils]: 1: Hoare triple {3050#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);~counter~0 := 0; {3050#true} is VALID [2022-04-27 13:22:18,901 INFO L272 TraceCheckUtils]: 0: Hoare triple {3050#true} call ULTIMATE.init(); {3050#true} is VALID [2022-04-27 13:22:18,901 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:22:18,902 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:18,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1767315061] [2022-04-27 13:22:18,902 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:18,902 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [876588443] [2022-04-27 13:22:18,902 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [876588443] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:22:18,902 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:22:18,902 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 13:22:18,902 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2083087007] [2022-04-27 13:22:18,902 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:18,902 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-27 13:22:18,903 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:18,903 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:18,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:18,926 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:22:18,926 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:18,927 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:22:18,927 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:18,927 INFO L87 Difference]: Start difference. First operand 103 states and 120 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:19,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:19,279 INFO L93 Difference]: Finished difference Result 120 states and 141 transitions. [2022-04-27 13:22:19,279 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:19,279 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 46 [2022-04-27 13:22:19,279 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:19,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:19,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-27 13:22:19,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:19,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-27 13:22:19,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-27 13:22:19,329 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:19,330 INFO L225 Difference]: With dead ends: 120 [2022-04-27 13:22:19,330 INFO L226 Difference]: Without dead ends: 118 [2022-04-27 13:22:19,331 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 81 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:22:19,331 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 11 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:19,331 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 125 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:22:19,332 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2022-04-27 13:22:19,359 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 115. [2022-04-27 13:22:19,359 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:19,359 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:22:19,360 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:22:19,360 INFO L87 Difference]: Start difference. First operand 118 states. Second operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:22:19,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:19,362 INFO L93 Difference]: Finished difference Result 118 states and 137 transitions. [2022-04-27 13:22:19,362 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 137 transitions. [2022-04-27 13:22:19,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:19,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:19,363 INFO L74 IsIncluded]: Start isIncluded. First operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 118 states. [2022-04-27 13:22:19,363 INFO L87 Difference]: Start difference. First operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 118 states. [2022-04-27 13:22:19,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:19,365 INFO L93 Difference]: Finished difference Result 118 states and 137 transitions. [2022-04-27 13:22:19,365 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 137 transitions. [2022-04-27 13:22:19,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:19,366 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:19,366 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:19,366 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:19,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:22:19,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 132 transitions. [2022-04-27 13:22:19,368 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 132 transitions. Word has length 46 [2022-04-27 13:22:19,368 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:19,368 INFO L495 AbstractCegarLoop]: Abstraction has 115 states and 132 transitions. [2022-04-27 13:22:19,368 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:19,368 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 132 transitions. [2022-04-27 13:22:19,368 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 13:22:19,369 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:19,369 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:19,385 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:19,585 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:19,585 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:19,585 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:19,585 INFO L85 PathProgramCache]: Analyzing trace with hash 243046571, now seen corresponding path program 1 times [2022-04-27 13:22:19,586 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:19,586 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [712927372] [2022-04-27 13:22:19,586 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:19,586 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:19,608 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:19,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1695398476] [2022-04-27 13:22:19,608 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:19,608 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:19,608 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:19,609 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:19,610 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-27 13:22:19,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:19,643 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:22:19,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:19,653 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:19,828 INFO L272 TraceCheckUtils]: 0: Hoare triple {3904#true} call ULTIMATE.init(); {3904#true} is VALID [2022-04-27 13:22:19,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {3904#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);~counter~0 := 0; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:19,829 INFO L290 TraceCheckUtils]: 2: Hoare triple {3912#(<= ~counter~0 0)} assume true; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:19,831 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3912#(<= ~counter~0 0)} {3904#true} #96#return; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:19,834 INFO L272 TraceCheckUtils]: 4: Hoare triple {3912#(<= ~counter~0 0)} call #t~ret8 := main(); {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:19,834 INFO L290 TraceCheckUtils]: 5: Hoare triple {3912#(<= ~counter~0 0)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:19,835 INFO L272 TraceCheckUtils]: 6: Hoare triple {3912#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:19,835 INFO L290 TraceCheckUtils]: 7: Hoare triple {3912#(<= ~counter~0 0)} ~cond := #in~cond; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:19,838 INFO L290 TraceCheckUtils]: 8: Hoare triple {3912#(<= ~counter~0 0)} assume !(0 == ~cond); {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:19,838 INFO L290 TraceCheckUtils]: 9: Hoare triple {3912#(<= ~counter~0 0)} assume true; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:19,838 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3912#(<= ~counter~0 0)} {3912#(<= ~counter~0 0)} #80#return; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:19,839 INFO L290 TraceCheckUtils]: 11: Hoare triple {3912#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:19,839 INFO L290 TraceCheckUtils]: 12: Hoare triple {3912#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,839 INFO L290 TraceCheckUtils]: 13: Hoare triple {3946#(<= ~counter~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,840 INFO L272 TraceCheckUtils]: 14: Hoare triple {3946#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,840 INFO L290 TraceCheckUtils]: 15: Hoare triple {3946#(<= ~counter~0 1)} ~cond := #in~cond; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,841 INFO L290 TraceCheckUtils]: 16: Hoare triple {3946#(<= ~counter~0 1)} assume !(0 == ~cond); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,841 INFO L290 TraceCheckUtils]: 17: Hoare triple {3946#(<= ~counter~0 1)} assume true; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,841 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3946#(<= ~counter~0 1)} {3946#(<= ~counter~0 1)} #82#return; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,842 INFO L272 TraceCheckUtils]: 19: Hoare triple {3946#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,842 INFO L290 TraceCheckUtils]: 20: Hoare triple {3946#(<= ~counter~0 1)} ~cond := #in~cond; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,842 INFO L290 TraceCheckUtils]: 21: Hoare triple {3946#(<= ~counter~0 1)} assume !(0 == ~cond); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,843 INFO L290 TraceCheckUtils]: 22: Hoare triple {3946#(<= ~counter~0 1)} assume true; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,843 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3946#(<= ~counter~0 1)} {3946#(<= ~counter~0 1)} #84#return; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,843 INFO L272 TraceCheckUtils]: 24: Hoare triple {3946#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,844 INFO L290 TraceCheckUtils]: 25: Hoare triple {3946#(<= ~counter~0 1)} ~cond := #in~cond; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,844 INFO L290 TraceCheckUtils]: 26: Hoare triple {3946#(<= ~counter~0 1)} assume !(0 == ~cond); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,844 INFO L290 TraceCheckUtils]: 27: Hoare triple {3946#(<= ~counter~0 1)} assume true; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,844 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3946#(<= ~counter~0 1)} {3946#(<= ~counter~0 1)} #86#return; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,845 INFO L290 TraceCheckUtils]: 29: Hoare triple {3946#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:19,845 INFO L290 TraceCheckUtils]: 30: Hoare triple {3946#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,845 INFO L290 TraceCheckUtils]: 31: Hoare triple {4001#(<= ~counter~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,846 INFO L272 TraceCheckUtils]: 32: Hoare triple {4001#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,851 INFO L290 TraceCheckUtils]: 33: Hoare triple {4001#(<= ~counter~0 2)} ~cond := #in~cond; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,851 INFO L290 TraceCheckUtils]: 34: Hoare triple {4001#(<= ~counter~0 2)} assume !(0 == ~cond); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,851 INFO L290 TraceCheckUtils]: 35: Hoare triple {4001#(<= ~counter~0 2)} assume true; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,851 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4001#(<= ~counter~0 2)} {4001#(<= ~counter~0 2)} #82#return; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,852 INFO L272 TraceCheckUtils]: 37: Hoare triple {4001#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,852 INFO L290 TraceCheckUtils]: 38: Hoare triple {4001#(<= ~counter~0 2)} ~cond := #in~cond; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,852 INFO L290 TraceCheckUtils]: 39: Hoare triple {4001#(<= ~counter~0 2)} assume !(0 == ~cond); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,852 INFO L290 TraceCheckUtils]: 40: Hoare triple {4001#(<= ~counter~0 2)} assume true; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,853 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4001#(<= ~counter~0 2)} {4001#(<= ~counter~0 2)} #84#return; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,853 INFO L272 TraceCheckUtils]: 42: Hoare triple {4001#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,853 INFO L290 TraceCheckUtils]: 43: Hoare triple {4001#(<= ~counter~0 2)} ~cond := #in~cond; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,854 INFO L290 TraceCheckUtils]: 44: Hoare triple {4001#(<= ~counter~0 2)} assume !(0 == ~cond); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,854 INFO L290 TraceCheckUtils]: 45: Hoare triple {4001#(<= ~counter~0 2)} assume true; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,854 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4001#(<= ~counter~0 2)} {4001#(<= ~counter~0 2)} #86#return; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,855 INFO L290 TraceCheckUtils]: 47: Hoare triple {4001#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:19,855 INFO L290 TraceCheckUtils]: 48: Hoare triple {4001#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4056#(<= |main_#t~post7| 2)} is VALID [2022-04-27 13:22:19,855 INFO L290 TraceCheckUtils]: 49: Hoare triple {4056#(<= |main_#t~post7| 2)} assume !(#t~post7 < 10);havoc #t~post7; {3905#false} is VALID [2022-04-27 13:22:19,855 INFO L272 TraceCheckUtils]: 50: Hoare triple {3905#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3905#false} is VALID [2022-04-27 13:22:19,855 INFO L290 TraceCheckUtils]: 51: Hoare triple {3905#false} ~cond := #in~cond; {3905#false} is VALID [2022-04-27 13:22:19,855 INFO L290 TraceCheckUtils]: 52: Hoare triple {3905#false} assume 0 == ~cond; {3905#false} is VALID [2022-04-27 13:22:19,856 INFO L290 TraceCheckUtils]: 53: Hoare triple {3905#false} assume !false; {3905#false} is VALID [2022-04-27 13:22:19,856 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 12 proven. 42 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:22:19,856 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:20,042 INFO L290 TraceCheckUtils]: 53: Hoare triple {3905#false} assume !false; {3905#false} is VALID [2022-04-27 13:22:20,042 INFO L290 TraceCheckUtils]: 52: Hoare triple {3905#false} assume 0 == ~cond; {3905#false} is VALID [2022-04-27 13:22:20,042 INFO L290 TraceCheckUtils]: 51: Hoare triple {3905#false} ~cond := #in~cond; {3905#false} is VALID [2022-04-27 13:22:20,042 INFO L272 TraceCheckUtils]: 50: Hoare triple {3905#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3905#false} is VALID [2022-04-27 13:22:20,043 INFO L290 TraceCheckUtils]: 49: Hoare triple {4084#(< |main_#t~post7| 10)} assume !(#t~post7 < 10);havoc #t~post7; {3905#false} is VALID [2022-04-27 13:22:20,043 INFO L290 TraceCheckUtils]: 48: Hoare triple {4088#(< ~counter~0 10)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4084#(< |main_#t~post7| 10)} is VALID [2022-04-27 13:22:20,043 INFO L290 TraceCheckUtils]: 47: Hoare triple {4088#(< ~counter~0 10)} assume !(~r~0 >= ~d~0); {4088#(< ~counter~0 10)} is VALID [2022-04-27 13:22:20,044 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3904#true} {4088#(< ~counter~0 10)} #86#return; {4088#(< ~counter~0 10)} is VALID [2022-04-27 13:22:20,044 INFO L290 TraceCheckUtils]: 45: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:20,044 INFO L290 TraceCheckUtils]: 44: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:20,044 INFO L290 TraceCheckUtils]: 43: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:20,044 INFO L272 TraceCheckUtils]: 42: Hoare triple {4088#(< ~counter~0 10)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:20,044 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3904#true} {4088#(< ~counter~0 10)} #84#return; {4088#(< ~counter~0 10)} is VALID [2022-04-27 13:22:20,044 INFO L290 TraceCheckUtils]: 40: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:20,044 INFO L290 TraceCheckUtils]: 39: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:20,045 INFO L290 TraceCheckUtils]: 38: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:20,045 INFO L272 TraceCheckUtils]: 37: Hoare triple {4088#(< ~counter~0 10)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:20,045 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3904#true} {4088#(< ~counter~0 10)} #82#return; {4088#(< ~counter~0 10)} is VALID [2022-04-27 13:22:20,045 INFO L290 TraceCheckUtils]: 35: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:20,045 INFO L290 TraceCheckUtils]: 34: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:20,045 INFO L290 TraceCheckUtils]: 33: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:20,045 INFO L272 TraceCheckUtils]: 32: Hoare triple {4088#(< ~counter~0 10)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:20,045 INFO L290 TraceCheckUtils]: 31: Hoare triple {4088#(< ~counter~0 10)} assume !!(#t~post6 < 10);havoc #t~post6; {4088#(< ~counter~0 10)} is VALID [2022-04-27 13:22:20,046 INFO L290 TraceCheckUtils]: 30: Hoare triple {4143#(< ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4088#(< ~counter~0 10)} is VALID [2022-04-27 13:22:20,046 INFO L290 TraceCheckUtils]: 29: Hoare triple {4143#(< ~counter~0 9)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4143#(< ~counter~0 9)} is VALID [2022-04-27 13:22:20,046 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3904#true} {4143#(< ~counter~0 9)} #86#return; {4143#(< ~counter~0 9)} is VALID [2022-04-27 13:22:20,047 INFO L290 TraceCheckUtils]: 27: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:20,047 INFO L290 TraceCheckUtils]: 26: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:20,047 INFO L290 TraceCheckUtils]: 25: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:20,047 INFO L272 TraceCheckUtils]: 24: Hoare triple {4143#(< ~counter~0 9)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:20,047 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3904#true} {4143#(< ~counter~0 9)} #84#return; {4143#(< ~counter~0 9)} is VALID [2022-04-27 13:22:20,047 INFO L290 TraceCheckUtils]: 22: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:20,047 INFO L290 TraceCheckUtils]: 21: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:20,047 INFO L290 TraceCheckUtils]: 20: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:20,047 INFO L272 TraceCheckUtils]: 19: Hoare triple {4143#(< ~counter~0 9)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:20,048 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3904#true} {4143#(< ~counter~0 9)} #82#return; {4143#(< ~counter~0 9)} is VALID [2022-04-27 13:22:20,048 INFO L290 TraceCheckUtils]: 17: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:20,048 INFO L290 TraceCheckUtils]: 16: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:20,048 INFO L290 TraceCheckUtils]: 15: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:20,048 INFO L272 TraceCheckUtils]: 14: Hoare triple {4143#(< ~counter~0 9)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:20,048 INFO L290 TraceCheckUtils]: 13: Hoare triple {4143#(< ~counter~0 9)} assume !!(#t~post6 < 10);havoc #t~post6; {4143#(< ~counter~0 9)} is VALID [2022-04-27 13:22:20,048 INFO L290 TraceCheckUtils]: 12: Hoare triple {4198#(< ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4143#(< ~counter~0 9)} is VALID [2022-04-27 13:22:20,049 INFO L290 TraceCheckUtils]: 11: Hoare triple {4198#(< ~counter~0 8)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4198#(< ~counter~0 8)} is VALID [2022-04-27 13:22:20,049 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3904#true} {4198#(< ~counter~0 8)} #80#return; {4198#(< ~counter~0 8)} is VALID [2022-04-27 13:22:20,049 INFO L290 TraceCheckUtils]: 9: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:20,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:20,049 INFO L290 TraceCheckUtils]: 7: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:20,049 INFO L272 TraceCheckUtils]: 6: Hoare triple {4198#(< ~counter~0 8)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:20,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {4198#(< ~counter~0 8)} 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;~B~0 := #t~nondet5;havoc #t~nondet5; {4198#(< ~counter~0 8)} is VALID [2022-04-27 13:22:20,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {4198#(< ~counter~0 8)} call #t~ret8 := main(); {4198#(< ~counter~0 8)} is VALID [2022-04-27 13:22:20,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4198#(< ~counter~0 8)} {3904#true} #96#return; {4198#(< ~counter~0 8)} is VALID [2022-04-27 13:22:20,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {4198#(< ~counter~0 8)} assume true; {4198#(< ~counter~0 8)} is VALID [2022-04-27 13:22:20,051 INFO L290 TraceCheckUtils]: 1: Hoare triple {3904#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);~counter~0 := 0; {4198#(< ~counter~0 8)} is VALID [2022-04-27 13:22:20,051 INFO L272 TraceCheckUtils]: 0: Hoare triple {3904#true} call ULTIMATE.init(); {3904#true} is VALID [2022-04-27 13:22:20,051 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:22:20,051 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:20,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [712927372] [2022-04-27 13:22:20,051 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:20,051 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1695398476] [2022-04-27 13:22:20,051 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1695398476] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:22:20,051 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:22:20,051 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-27 13:22:20,052 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1283483956] [2022-04-27 13:22:20,052 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:20,052 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) Word has length 54 [2022-04-27 13:22:20,052 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:20,053 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-27 13:22:20,102 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-27 13:22:20,102 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:22:20,102 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:20,102 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:22:20,102 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:20,102 INFO L87 Difference]: Start difference. First operand 115 states and 132 transitions. Second operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-27 13:22:20,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:20,803 INFO L93 Difference]: Finished difference Result 207 states and 246 transitions. [2022-04-27 13:22:20,803 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 13:22:20,803 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) Word has length 54 [2022-04-27 13:22:20,803 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:20,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-27 13:22:20,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 167 transitions. [2022-04-27 13:22:20,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-27 13:22:20,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 167 transitions. [2022-04-27 13:22:20,807 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 167 transitions. [2022-04-27 13:22:20,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:20,945 INFO L225 Difference]: With dead ends: 207 [2022-04-27 13:22:20,945 INFO L226 Difference]: Without dead ends: 193 [2022-04-27 13:22:20,945 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=52, Invalid=104, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:22:20,946 INFO L413 NwaCegarLoop]: 63 mSDtfsCounter, 91 mSDsluCounter, 228 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 91 SdHoareTripleChecker+Valid, 291 SdHoareTripleChecker+Invalid, 144 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:20,946 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [91 Valid, 291 Invalid, 144 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:22:20,947 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states. [2022-04-27 13:22:20,998 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 186. [2022-04-27 13:22:20,998 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:20,998 INFO L82 GeneralOperation]: Start isEquivalent. First operand 193 states. Second operand has 186 states, 118 states have (on average 1.1779661016949152) internal successors, (139), 125 states have internal predecessors, (139), 43 states have call successors, (43), 25 states have call predecessors, (43), 24 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-27 13:22:20,999 INFO L74 IsIncluded]: Start isIncluded. First operand 193 states. Second operand has 186 states, 118 states have (on average 1.1779661016949152) internal successors, (139), 125 states have internal predecessors, (139), 43 states have call successors, (43), 25 states have call predecessors, (43), 24 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-27 13:22:20,999 INFO L87 Difference]: Start difference. First operand 193 states. Second operand has 186 states, 118 states have (on average 1.1779661016949152) internal successors, (139), 125 states have internal predecessors, (139), 43 states have call successors, (43), 25 states have call predecessors, (43), 24 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-27 13:22:21,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:21,002 INFO L93 Difference]: Finished difference Result 193 states and 224 transitions. [2022-04-27 13:22:21,002 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 224 transitions. [2022-04-27 13:22:21,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:21,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:21,003 INFO L74 IsIncluded]: Start isIncluded. First operand has 186 states, 118 states have (on average 1.1779661016949152) internal successors, (139), 125 states have internal predecessors, (139), 43 states have call successors, (43), 25 states have call predecessors, (43), 24 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) Second operand 193 states. [2022-04-27 13:22:21,003 INFO L87 Difference]: Start difference. First operand has 186 states, 118 states have (on average 1.1779661016949152) internal successors, (139), 125 states have internal predecessors, (139), 43 states have call successors, (43), 25 states have call predecessors, (43), 24 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) Second operand 193 states. [2022-04-27 13:22:21,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:21,006 INFO L93 Difference]: Finished difference Result 193 states and 224 transitions. [2022-04-27 13:22:21,006 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 224 transitions. [2022-04-27 13:22:21,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:21,007 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:21,007 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:21,007 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:21,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 186 states, 118 states have (on average 1.1779661016949152) internal successors, (139), 125 states have internal predecessors, (139), 43 states have call successors, (43), 25 states have call predecessors, (43), 24 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-27 13:22:21,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 186 states to 186 states and 220 transitions. [2022-04-27 13:22:21,010 INFO L78 Accepts]: Start accepts. Automaton has 186 states and 220 transitions. Word has length 54 [2022-04-27 13:22:21,011 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:21,011 INFO L495 AbstractCegarLoop]: Abstraction has 186 states and 220 transitions. [2022-04-27 13:22:21,011 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-27 13:22:21,011 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 220 transitions. [2022-04-27 13:22:21,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 13:22:21,011 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:21,011 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:21,028 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:21,228 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:21,228 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:21,228 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:21,229 INFO L85 PathProgramCache]: Analyzing trace with hash 244774449, now seen corresponding path program 1 times [2022-04-27 13:22:21,229 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:21,229 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1972245018] [2022-04-27 13:22:21,229 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:21,229 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:21,238 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:21,238 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [255971362] [2022-04-27 13:22:21,238 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:21,238 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:21,238 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:21,239 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:21,267 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-27 13:22:21,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,300 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 13:22:21,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,309 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:24,807 INFO L272 TraceCheckUtils]: 0: Hoare triple {5177#true} call ULTIMATE.init(); {5177#true} is VALID [2022-04-27 13:22:24,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {5177#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);~counter~0 := 0; {5177#true} is VALID [2022-04-27 13:22:24,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:24,807 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5177#true} {5177#true} #96#return; {5177#true} is VALID [2022-04-27 13:22:24,807 INFO L272 TraceCheckUtils]: 4: Hoare triple {5177#true} call #t~ret8 := main(); {5177#true} is VALID [2022-04-27 13:22:24,807 INFO L290 TraceCheckUtils]: 5: Hoare triple {5177#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;~B~0 := #t~nondet5;havoc #t~nondet5; {5177#true} is VALID [2022-04-27 13:22:24,807 INFO L272 TraceCheckUtils]: 6: Hoare triple {5177#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:24,807 INFO L290 TraceCheckUtils]: 7: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:24,807 INFO L290 TraceCheckUtils]: 8: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:24,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:24,807 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5177#true} {5177#true} #80#return; {5177#true} is VALID [2022-04-27 13:22:24,808 INFO L290 TraceCheckUtils]: 11: Hoare triple {5177#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:24,808 INFO L290 TraceCheckUtils]: 12: Hoare triple {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:24,808 INFO L290 TraceCheckUtils]: 13: Hoare triple {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:24,809 INFO L272 TraceCheckUtils]: 14: Hoare triple {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:24,809 INFO L290 TraceCheckUtils]: 15: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:24,809 INFO L290 TraceCheckUtils]: 16: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:24,809 INFO L290 TraceCheckUtils]: 17: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:24,809 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5177#true} {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:24,809 INFO L272 TraceCheckUtils]: 19: Hoare triple {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:24,809 INFO L290 TraceCheckUtils]: 20: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:24,809 INFO L290 TraceCheckUtils]: 21: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:24,810 INFO L290 TraceCheckUtils]: 22: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:24,810 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5177#true} {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:24,810 INFO L272 TraceCheckUtils]: 24: Hoare triple {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:24,810 INFO L290 TraceCheckUtils]: 25: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:24,810 INFO L290 TraceCheckUtils]: 26: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:24,810 INFO L290 TraceCheckUtils]: 27: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:24,811 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5177#true} {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:24,812 INFO L290 TraceCheckUtils]: 29: Hoare triple {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:24,813 INFO L290 TraceCheckUtils]: 30: Hoare triple {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:24,813 INFO L290 TraceCheckUtils]: 31: Hoare triple {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:24,813 INFO L272 TraceCheckUtils]: 32: Hoare triple {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:24,813 INFO L290 TraceCheckUtils]: 33: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:24,813 INFO L290 TraceCheckUtils]: 34: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:24,813 INFO L290 TraceCheckUtils]: 35: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:24,814 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5177#true} {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #82#return; {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:24,814 INFO L272 TraceCheckUtils]: 37: Hoare triple {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:24,814 INFO L290 TraceCheckUtils]: 38: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:24,814 INFO L290 TraceCheckUtils]: 39: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:24,814 INFO L290 TraceCheckUtils]: 40: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:24,814 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5177#true} {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #84#return; {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:24,815 INFO L272 TraceCheckUtils]: 42: Hoare triple {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:24,815 INFO L290 TraceCheckUtils]: 43: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:24,815 INFO L290 TraceCheckUtils]: 44: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:24,815 INFO L290 TraceCheckUtils]: 45: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:24,815 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5177#true} {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #86#return; {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:24,816 INFO L290 TraceCheckUtils]: 47: Hoare triple {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {5325#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:24,816 INFO L290 TraceCheckUtils]: 48: Hoare triple {5325#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5325#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:24,817 INFO L290 TraceCheckUtils]: 49: Hoare triple {5325#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} assume !!(#t~post7 < 10);havoc #t~post7; {5325#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:24,818 INFO L272 TraceCheckUtils]: 50: Hoare triple {5325#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:24,818 INFO L290 TraceCheckUtils]: 51: Hoare triple {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:24,818 INFO L290 TraceCheckUtils]: 52: Hoare triple {5339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5178#false} is VALID [2022-04-27 13:22:24,818 INFO L290 TraceCheckUtils]: 53: Hoare triple {5178#false} assume !false; {5178#false} is VALID [2022-04-27 13:22:24,818 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:22:24,818 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:25,854 INFO L290 TraceCheckUtils]: 53: Hoare triple {5178#false} assume !false; {5178#false} is VALID [2022-04-27 13:22:25,855 INFO L290 TraceCheckUtils]: 52: Hoare triple {5339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5178#false} is VALID [2022-04-27 13:22:25,855 INFO L290 TraceCheckUtils]: 51: Hoare triple {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:25,856 INFO L272 TraceCheckUtils]: 50: Hoare triple {5355#(= (+ 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)); {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:25,856 INFO L290 TraceCheckUtils]: 49: Hoare triple {5355#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 10);havoc #t~post7; {5355#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:25,856 INFO L290 TraceCheckUtils]: 48: Hoare triple {5355#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5355#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:25,857 INFO L290 TraceCheckUtils]: 47: Hoare triple {5365#(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); {5355#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:25,857 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5177#true} {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #86#return; {5365#(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-27 13:22:25,857 INFO L290 TraceCheckUtils]: 45: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:25,857 INFO L290 TraceCheckUtils]: 44: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:25,857 INFO L290 TraceCheckUtils]: 43: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:25,858 INFO L272 TraceCheckUtils]: 42: Hoare triple {5365#(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)); {5177#true} is VALID [2022-04-27 13:22:25,858 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5177#true} {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #84#return; {5365#(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-27 13:22:25,858 INFO L290 TraceCheckUtils]: 40: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:25,858 INFO L290 TraceCheckUtils]: 39: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:25,858 INFO L290 TraceCheckUtils]: 38: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:25,858 INFO L272 TraceCheckUtils]: 37: Hoare triple {5365#(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)); {5177#true} is VALID [2022-04-27 13:22:25,859 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5177#true} {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #82#return; {5365#(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-27 13:22:25,859 INFO L290 TraceCheckUtils]: 35: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:25,859 INFO L290 TraceCheckUtils]: 34: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:25,878 INFO L290 TraceCheckUtils]: 33: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:25,878 INFO L272 TraceCheckUtils]: 32: Hoare triple {5365#(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)); {5177#true} is VALID [2022-04-27 13:22:25,881 INFO L290 TraceCheckUtils]: 31: Hoare triple {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {5365#(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-27 13:22:25,881 INFO L290 TraceCheckUtils]: 30: Hoare triple {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5365#(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-27 13:22:25,882 INFO L290 TraceCheckUtils]: 29: Hoare triple {5420#(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; {5365#(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-27 13:22:25,882 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5177#true} {5420#(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))} #86#return; {5420#(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-27 13:22:25,883 INFO L290 TraceCheckUtils]: 27: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:25,883 INFO L290 TraceCheckUtils]: 26: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:25,883 INFO L290 TraceCheckUtils]: 25: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:25,883 INFO L272 TraceCheckUtils]: 24: Hoare triple {5420#(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)); {5177#true} is VALID [2022-04-27 13:22:25,883 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5177#true} {5420#(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))} #84#return; {5420#(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-27 13:22:25,883 INFO L290 TraceCheckUtils]: 22: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:25,883 INFO L290 TraceCheckUtils]: 21: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:25,883 INFO L290 TraceCheckUtils]: 20: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:25,884 INFO L272 TraceCheckUtils]: 19: Hoare triple {5420#(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)); {5177#true} is VALID [2022-04-27 13:22:25,884 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5177#true} {5420#(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))} #82#return; {5420#(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-27 13:22:25,884 INFO L290 TraceCheckUtils]: 17: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:25,884 INFO L290 TraceCheckUtils]: 16: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:25,884 INFO L290 TraceCheckUtils]: 15: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:25,884 INFO L272 TraceCheckUtils]: 14: Hoare triple {5420#(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)); {5177#true} is VALID [2022-04-27 13:22:25,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {5420#(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 !!(#t~post6 < 10);havoc #t~post6; {5420#(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-27 13:22:25,885 INFO L290 TraceCheckUtils]: 12: Hoare triple {5420#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5420#(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-27 13:22:25,886 INFO L290 TraceCheckUtils]: 11: Hoare triple {5177#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5420#(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-27 13:22:25,886 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5177#true} {5177#true} #80#return; {5177#true} is VALID [2022-04-27 13:22:25,886 INFO L290 TraceCheckUtils]: 9: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:25,886 INFO L290 TraceCheckUtils]: 8: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:25,886 INFO L290 TraceCheckUtils]: 7: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:25,886 INFO L272 TraceCheckUtils]: 6: Hoare triple {5177#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:25,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {5177#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;~B~0 := #t~nondet5;havoc #t~nondet5; {5177#true} is VALID [2022-04-27 13:22:25,886 INFO L272 TraceCheckUtils]: 4: Hoare triple {5177#true} call #t~ret8 := main(); {5177#true} is VALID [2022-04-27 13:22:25,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5177#true} {5177#true} #96#return; {5177#true} is VALID [2022-04-27 13:22:25,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:25,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {5177#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);~counter~0 := 0; {5177#true} is VALID [2022-04-27 13:22:25,886 INFO L272 TraceCheckUtils]: 0: Hoare triple {5177#true} call ULTIMATE.init(); {5177#true} is VALID [2022-04-27 13:22:25,887 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:22:25,887 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:25,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1972245018] [2022-04-27 13:22:25,887 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:25,887 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [255971362] [2022-04-27 13:22:25,887 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [255971362] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:22:25,887 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:22:25,887 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 13:22:25,888 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [944857454] [2022-04-27 13:22:25,888 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:25,889 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 54 [2022-04-27 13:22:25,889 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:25,889 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:25,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:25,942 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:22:25,942 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:25,943 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:22:25,943 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:25,943 INFO L87 Difference]: Start difference. First operand 186 states and 220 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:28,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:28,946 INFO L93 Difference]: Finished difference Result 268 states and 340 transitions. [2022-04-27 13:22:28,946 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:22:28,947 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 54 [2022-04-27 13:22:28,947 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:28,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:28,948 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-27 13:22:28,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:28,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-27 13:22:28,950 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 117 transitions. [2022-04-27 13:22:29,062 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:29,067 INFO L225 Difference]: With dead ends: 268 [2022-04-27 13:22:29,067 INFO L226 Difference]: Without dead ends: 264 [2022-04-27 13:22:29,067 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 98 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:22:29,068 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 53 mSDsluCounter, 154 mSDsCounter, 0 mSdLazyCounter, 177 mSolverCounterSat, 51 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 228 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 51 IncrementalHoareTripleChecker+Valid, 177 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:29,068 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [62 Valid, 213 Invalid, 228 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [51 Valid, 177 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-27 13:22:29,068 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 264 states. [2022-04-27 13:22:29,172 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 264 to 239. [2022-04-27 13:22:29,172 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:29,173 INFO L82 GeneralOperation]: Start isEquivalent. First operand 264 states. Second operand has 239 states, 155 states have (on average 1.2193548387096773) internal successors, (189), 163 states have internal predecessors, (189), 56 states have call successors, (56), 29 states have call predecessors, (56), 27 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:22:29,173 INFO L74 IsIncluded]: Start isIncluded. First operand 264 states. Second operand has 239 states, 155 states have (on average 1.2193548387096773) internal successors, (189), 163 states have internal predecessors, (189), 56 states have call successors, (56), 29 states have call predecessors, (56), 27 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:22:29,173 INFO L87 Difference]: Start difference. First operand 264 states. Second operand has 239 states, 155 states have (on average 1.2193548387096773) internal successors, (189), 163 states have internal predecessors, (189), 56 states have call successors, (56), 29 states have call predecessors, (56), 27 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:22:29,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:29,178 INFO L93 Difference]: Finished difference Result 264 states and 333 transitions. [2022-04-27 13:22:29,178 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 333 transitions. [2022-04-27 13:22:29,179 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:29,179 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:29,180 INFO L74 IsIncluded]: Start isIncluded. First operand has 239 states, 155 states have (on average 1.2193548387096773) internal successors, (189), 163 states have internal predecessors, (189), 56 states have call successors, (56), 29 states have call predecessors, (56), 27 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) Second operand 264 states. [2022-04-27 13:22:29,180 INFO L87 Difference]: Start difference. First operand has 239 states, 155 states have (on average 1.2193548387096773) internal successors, (189), 163 states have internal predecessors, (189), 56 states have call successors, (56), 29 states have call predecessors, (56), 27 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) Second operand 264 states. [2022-04-27 13:22:29,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:29,185 INFO L93 Difference]: Finished difference Result 264 states and 333 transitions. [2022-04-27 13:22:29,185 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 333 transitions. [2022-04-27 13:22:29,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:29,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:29,186 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:29,186 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:29,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 239 states, 155 states have (on average 1.2193548387096773) internal successors, (189), 163 states have internal predecessors, (189), 56 states have call successors, (56), 29 states have call predecessors, (56), 27 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:22:29,190 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 239 states to 239 states and 296 transitions. [2022-04-27 13:22:29,191 INFO L78 Accepts]: Start accepts. Automaton has 239 states and 296 transitions. Word has length 54 [2022-04-27 13:22:29,191 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:29,191 INFO L495 AbstractCegarLoop]: Abstraction has 239 states and 296 transitions. [2022-04-27 13:22:29,191 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:29,191 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 296 transitions. [2022-04-27 13:22:29,192 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-27 13:22:29,192 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:29,193 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:29,212 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-27 13:22:29,407 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-27 13:22:29,407 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:29,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:29,408 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 1 times [2022-04-27 13:22:29,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:29,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [625679248] [2022-04-27 13:22:29,408 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:29,408 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:29,425 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:29,425 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1076808721] [2022-04-27 13:22:29,425 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:29,425 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:29,425 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:29,427 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:29,450 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-27 13:22:29,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:29,520 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-27 13:22:29,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:29,534 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:35,145 INFO L272 TraceCheckUtils]: 0: Hoare triple {6750#true} call ULTIMATE.init(); {6750#true} is VALID [2022-04-27 13:22:35,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {6750#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);~counter~0 := 0; {6750#true} is VALID [2022-04-27 13:22:35,145 INFO L290 TraceCheckUtils]: 2: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:35,146 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6750#true} {6750#true} #96#return; {6750#true} is VALID [2022-04-27 13:22:35,146 INFO L272 TraceCheckUtils]: 4: Hoare triple {6750#true} call #t~ret8 := main(); {6750#true} is VALID [2022-04-27 13:22:35,146 INFO L290 TraceCheckUtils]: 5: Hoare triple {6750#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;~B~0 := #t~nondet5;havoc #t~nondet5; {6750#true} is VALID [2022-04-27 13:22:35,146 INFO L272 TraceCheckUtils]: 6: Hoare triple {6750#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:35,146 INFO L290 TraceCheckUtils]: 7: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:35,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:35,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:35,146 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6750#true} {6750#true} #80#return; {6750#true} is VALID [2022-04-27 13:22:35,147 INFO L290 TraceCheckUtils]: 11: Hoare triple {6750#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:35,147 INFO L290 TraceCheckUtils]: 12: Hoare triple {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:35,147 INFO L290 TraceCheckUtils]: 13: Hoare triple {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:35,147 INFO L272 TraceCheckUtils]: 14: Hoare triple {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:35,147 INFO L290 TraceCheckUtils]: 15: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:35,147 INFO L290 TraceCheckUtils]: 16: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:35,148 INFO L290 TraceCheckUtils]: 17: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:35,148 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6750#true} {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:35,148 INFO L272 TraceCheckUtils]: 19: Hoare triple {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:35,148 INFO L290 TraceCheckUtils]: 20: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:35,148 INFO L290 TraceCheckUtils]: 21: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:35,148 INFO L290 TraceCheckUtils]: 22: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:35,148 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6750#true} {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:35,149 INFO L272 TraceCheckUtils]: 24: Hoare triple {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:35,149 INFO L290 TraceCheckUtils]: 25: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:35,149 INFO L290 TraceCheckUtils]: 26: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:35,149 INFO L290 TraceCheckUtils]: 27: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:35,149 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6750#true} {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:35,150 INFO L290 TraceCheckUtils]: 29: Hoare triple {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,151 INFO L290 TraceCheckUtils]: 30: Hoare triple {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,151 INFO L290 TraceCheckUtils]: 31: Hoare triple {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,151 INFO L272 TraceCheckUtils]: 32: Hoare triple {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (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)); {6750#true} is VALID [2022-04-27 13:22:35,151 INFO L290 TraceCheckUtils]: 33: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:35,151 INFO L290 TraceCheckUtils]: 34: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:35,151 INFO L290 TraceCheckUtils]: 35: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:35,152 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6750#true} {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #82#return; {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,153 INFO L272 TraceCheckUtils]: 37: Hoare triple {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (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)); {6750#true} is VALID [2022-04-27 13:22:35,153 INFO L290 TraceCheckUtils]: 38: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:35,153 INFO L290 TraceCheckUtils]: 39: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:35,153 INFO L290 TraceCheckUtils]: 40: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:35,153 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6750#true} {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #84#return; {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,153 INFO L272 TraceCheckUtils]: 42: Hoare triple {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (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)); {6750#true} is VALID [2022-04-27 13:22:35,153 INFO L290 TraceCheckUtils]: 43: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:35,153 INFO L290 TraceCheckUtils]: 44: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:35,153 INFO L290 TraceCheckUtils]: 45: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:35,154 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6750#true} {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #86#return; {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,154 INFO L290 TraceCheckUtils]: 47: Hoare triple {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,154 INFO L290 TraceCheckUtils]: 48: Hoare triple {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,155 INFO L290 TraceCheckUtils]: 49: Hoare triple {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 10);havoc #t~post7; {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,155 INFO L272 TraceCheckUtils]: 50: Hoare triple {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= 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)); {6750#true} is VALID [2022-04-27 13:22:35,155 INFO L290 TraceCheckUtils]: 51: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:35,155 INFO L290 TraceCheckUtils]: 52: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:35,155 INFO L290 TraceCheckUtils]: 53: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:35,155 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6750#true} {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #88#return; {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,155 INFO L272 TraceCheckUtils]: 55: Hoare triple {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (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)); {6750#true} is VALID [2022-04-27 13:22:35,156 INFO L290 TraceCheckUtils]: 56: Hoare triple {6750#true} ~cond := #in~cond; {6926#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:35,156 INFO L290 TraceCheckUtils]: 57: Hoare triple {6926#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:35,156 INFO L290 TraceCheckUtils]: 58: Hoare triple {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:35,157 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #90#return; {6937#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,157 INFO L290 TraceCheckUtils]: 60: Hoare triple {6937#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= 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); {6941#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:35,158 INFO L290 TraceCheckUtils]: 61: Hoare triple {6941#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 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; {6945#(and (<= (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) (= main_~q~0 1) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:22:35,159 INFO L290 TraceCheckUtils]: 62: Hoare triple {6945#(and (<= (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) (= main_~q~0 1) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6945#(and (<= (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) (= main_~q~0 1) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:22:35,159 INFO L290 TraceCheckUtils]: 63: Hoare triple {6945#(and (<= (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) (= main_~q~0 1) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 10);havoc #t~post7; {6945#(and (<= (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) (= main_~q~0 1) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:22:35,160 INFO L272 TraceCheckUtils]: 64: Hoare triple {6945#(and (<= (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) (= main_~q~0 1) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:35,160 INFO L290 TraceCheckUtils]: 65: Hoare triple {6955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:35,160 INFO L290 TraceCheckUtils]: 66: Hoare triple {6959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6751#false} is VALID [2022-04-27 13:22:35,160 INFO L290 TraceCheckUtils]: 67: Hoare triple {6751#false} assume !false; {6751#false} is VALID [2022-04-27 13:22:35,160 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 36 proven. 10 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-27 13:22:35,161 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:23:11,403 WARN L232 SmtUtils]: Spent 14.12s on a formula simplification that was a NOOP. DAG size: 53 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:24:51,219 WARN L232 SmtUtils]: Spent 22.63s on a formula simplification that was a NOOP. DAG size: 54 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:26:07,649 INFO L290 TraceCheckUtils]: 67: Hoare triple {6751#false} assume !false; {6751#false} is VALID [2022-04-27 13:26:07,650 INFO L290 TraceCheckUtils]: 66: Hoare triple {6959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6751#false} is VALID [2022-04-27 13:26:07,650 INFO L290 TraceCheckUtils]: 65: Hoare triple {6955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:26:07,651 INFO L272 TraceCheckUtils]: 64: Hoare triple {6975#(= (+ 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)); {6955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:26:07,651 INFO L290 TraceCheckUtils]: 63: Hoare triple {6975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 10);havoc #t~post7; {6975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:26:07,651 INFO L290 TraceCheckUtils]: 62: Hoare triple {6975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:26:07,653 INFO L290 TraceCheckUtils]: 61: Hoare triple {6985#(= (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; {6975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:26:07,664 INFO L290 TraceCheckUtils]: 60: Hoare triple {6989#(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); {6985#(= (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-27 13:26:07,666 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #90#return; {6989#(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-27 13:26:07,666 INFO L290 TraceCheckUtils]: 58: Hoare triple {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:26:07,666 INFO L290 TraceCheckUtils]: 57: Hoare triple {7003#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:26:07,667 INFO L290 TraceCheckUtils]: 56: Hoare triple {6750#true} ~cond := #in~cond; {7003#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:26:07,667 INFO L272 TraceCheckUtils]: 55: Hoare triple {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= 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)); {6750#true} is VALID [2022-04-27 13:26:07,667 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6750#true} {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #88#return; {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:26:07,667 INFO L290 TraceCheckUtils]: 53: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:26:07,667 INFO L290 TraceCheckUtils]: 52: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:26:07,667 INFO L290 TraceCheckUtils]: 51: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:26:07,668 INFO L272 TraceCheckUtils]: 50: Hoare triple {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= 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)); {6750#true} is VALID [2022-04-27 13:26:07,669 INFO L290 TraceCheckUtils]: 49: Hoare triple {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} assume !!(#t~post7 < 10);havoc #t~post7; {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:26:07,670 INFO L290 TraceCheckUtils]: 48: Hoare triple {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:26:07,671 INFO L290 TraceCheckUtils]: 47: Hoare triple {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:26:07,672 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6750#true} {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #86#return; {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:07,672 INFO L290 TraceCheckUtils]: 45: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:26:07,672 INFO L290 TraceCheckUtils]: 44: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:26:07,672 INFO L290 TraceCheckUtils]: 43: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:26:07,672 INFO L272 TraceCheckUtils]: 42: Hoare triple {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:26:07,672 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6750#true} {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #84#return; {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:07,672 INFO L290 TraceCheckUtils]: 40: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:26:07,672 INFO L290 TraceCheckUtils]: 39: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:26:07,673 INFO L290 TraceCheckUtils]: 38: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:26:07,673 INFO L272 TraceCheckUtils]: 37: Hoare triple {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:26:07,673 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6750#true} {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #82#return; {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:07,673 INFO L290 TraceCheckUtils]: 35: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:26:07,673 INFO L290 TraceCheckUtils]: 34: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:26:07,673 INFO L290 TraceCheckUtils]: 33: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:26:07,673 INFO L272 TraceCheckUtils]: 32: Hoare triple {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:26:07,675 INFO L290 TraceCheckUtils]: 31: Hoare triple {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:07,676 INFO L290 TraceCheckUtils]: 30: Hoare triple {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:07,680 INFO L290 TraceCheckUtils]: 29: Hoare triple {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (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)) (or (not (= (mod main_~p~0 2) 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 (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))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:07,681 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6750#true} {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} #86#return; {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:26:07,681 INFO L290 TraceCheckUtils]: 27: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:26:07,681 INFO L290 TraceCheckUtils]: 26: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:26:07,681 INFO L290 TraceCheckUtils]: 25: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:26:07,681 INFO L272 TraceCheckUtils]: 24: Hoare triple {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:26:07,681 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6750#true} {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} #84#return; {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:26:07,681 INFO L290 TraceCheckUtils]: 22: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:26:07,681 INFO L290 TraceCheckUtils]: 21: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:26:07,682 INFO L290 TraceCheckUtils]: 20: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:26:07,682 INFO L272 TraceCheckUtils]: 19: Hoare triple {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:26:07,682 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6750#true} {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} #82#return; {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:26:07,682 INFO L290 TraceCheckUtils]: 17: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:26:07,682 INFO L290 TraceCheckUtils]: 16: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:26:07,682 INFO L290 TraceCheckUtils]: 15: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:26:07,682 INFO L272 TraceCheckUtils]: 14: Hoare triple {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:26:07,683 INFO L290 TraceCheckUtils]: 13: Hoare triple {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:26:07,683 INFO L290 TraceCheckUtils]: 12: Hoare triple {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:26:07,684 INFO L290 TraceCheckUtils]: 11: Hoare triple {6750#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:26:07,684 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6750#true} {6750#true} #80#return; {6750#true} is VALID [2022-04-27 13:26:07,684 INFO L290 TraceCheckUtils]: 9: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:26:07,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:26:07,684 INFO L290 TraceCheckUtils]: 7: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:26:07,684 INFO L272 TraceCheckUtils]: 6: Hoare triple {6750#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:26:07,684 INFO L290 TraceCheckUtils]: 5: Hoare triple {6750#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;~B~0 := #t~nondet5;havoc #t~nondet5; {6750#true} is VALID [2022-04-27 13:26:07,684 INFO L272 TraceCheckUtils]: 4: Hoare triple {6750#true} call #t~ret8 := main(); {6750#true} is VALID [2022-04-27 13:26:07,684 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6750#true} {6750#true} #96#return; {6750#true} is VALID [2022-04-27 13:26:07,684 INFO L290 TraceCheckUtils]: 2: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:26:07,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {6750#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);~counter~0 := 0; {6750#true} is VALID [2022-04-27 13:26:07,685 INFO L272 TraceCheckUtils]: 0: Hoare triple {6750#true} call ULTIMATE.init(); {6750#true} is VALID [2022-04-27 13:26:07,685 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 36 proven. 10 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-27 13:26:07,685 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:26:07,685 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [625679248] [2022-04-27 13:26:07,685 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:26:07,685 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1076808721] [2022-04-27 13:26:07,685 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1076808721] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:26:07,685 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:26:07,686 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-27 13:26:07,686 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [902337320] [2022-04-27 13:26:07,686 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:26:07,686 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) Word has length 68 [2022-04-27 13:26:07,686 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:26:07,687 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:26:07,791 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:26:07,791 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 13:26:07,791 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:26:07,791 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 13:26:07,791 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=271, Unknown=1, NotChecked=0, Total=342 [2022-04-27 13:26:07,792 INFO L87 Difference]: Start difference. First operand 239 states and 296 transitions. Second operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:26:15,501 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.37s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:26:25,693 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:26:29,120 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.17s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:26:44,711 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:26:48,725 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.51s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:26:56,147 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:26:58,164 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:26:59,758 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.53s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:27:25,342 WARN L232 SmtUtils]: Spent 18.61s on a formula simplification that was a NOOP. DAG size: 71 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:27:32,213 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:27:35,405 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:27:40,093 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:27:43,858 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:27:43,858 INFO L93 Difference]: Finished difference Result 361 states and 457 transitions. [2022-04-27 13:27:43,858 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-27 13:27:43,858 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) Word has length 68 [2022-04-27 13:27:43,859 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:27:43,859 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:27:43,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 155 transitions. [2022-04-27 13:27:43,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:27:43,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 155 transitions. [2022-04-27 13:27:43,863 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 155 transitions. [2022-04-27 13:27:44,237 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:27:44,242 INFO L225 Difference]: With dead ends: 361 [2022-04-27 13:27:44,242 INFO L226 Difference]: Without dead ends: 285 [2022-04-27 13:27:44,243 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 117 SyntacticMatches, 1 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 130 ImplicationChecksByTransitivity, 68.1s TimeCoverageRelationStatistics Valid=137, Invalid=563, Unknown=2, NotChecked=0, Total=702 [2022-04-27 13:27:44,243 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 105 mSDsluCounter, 172 mSDsCounter, 0 mSdLazyCounter, 445 mSolverCounterSat, 149 mSolverCounterUnsat, 7 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 28.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 114 SdHoareTripleChecker+Valid, 212 SdHoareTripleChecker+Invalid, 601 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 149 IncrementalHoareTripleChecker+Valid, 445 IncrementalHoareTripleChecker+Invalid, 7 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 28.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:27:44,243 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [114 Valid, 212 Invalid, 601 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [149 Valid, 445 Invalid, 7 Unknown, 0 Unchecked, 28.0s Time] [2022-04-27 13:27:44,244 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 285 states. [2022-04-27 13:27:44,346 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 285 to 252. [2022-04-27 13:27:44,346 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:27:44,347 INFO L82 GeneralOperation]: Start isEquivalent. First operand 285 states. Second operand has 252 states, 168 states have (on average 1.1904761904761905) internal successors, (200), 176 states have internal predecessors, (200), 53 states have call successors, (53), 31 states have call predecessors, (53), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-27 13:27:44,347 INFO L74 IsIncluded]: Start isIncluded. First operand 285 states. Second operand has 252 states, 168 states have (on average 1.1904761904761905) internal successors, (200), 176 states have internal predecessors, (200), 53 states have call successors, (53), 31 states have call predecessors, (53), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-27 13:27:44,347 INFO L87 Difference]: Start difference. First operand 285 states. Second operand has 252 states, 168 states have (on average 1.1904761904761905) internal successors, (200), 176 states have internal predecessors, (200), 53 states have call successors, (53), 31 states have call predecessors, (53), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-27 13:27:44,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:27:44,353 INFO L93 Difference]: Finished difference Result 285 states and 353 transitions. [2022-04-27 13:27:44,353 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 353 transitions. [2022-04-27 13:27:44,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:27:44,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:27:44,354 INFO L74 IsIncluded]: Start isIncluded. First operand has 252 states, 168 states have (on average 1.1904761904761905) internal successors, (200), 176 states have internal predecessors, (200), 53 states have call successors, (53), 31 states have call predecessors, (53), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 285 states. [2022-04-27 13:27:44,354 INFO L87 Difference]: Start difference. First operand has 252 states, 168 states have (on average 1.1904761904761905) internal successors, (200), 176 states have internal predecessors, (200), 53 states have call successors, (53), 31 states have call predecessors, (53), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 285 states. [2022-04-27 13:27:44,359 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:27:44,359 INFO L93 Difference]: Finished difference Result 285 states and 353 transitions. [2022-04-27 13:27:44,360 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 353 transitions. [2022-04-27 13:27:44,360 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:27:44,360 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:27:44,360 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:27:44,360 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:27:44,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 252 states, 168 states have (on average 1.1904761904761905) internal successors, (200), 176 states have internal predecessors, (200), 53 states have call successors, (53), 31 states have call predecessors, (53), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-27 13:27:44,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 252 states to 252 states and 302 transitions. [2022-04-27 13:27:44,365 INFO L78 Accepts]: Start accepts. Automaton has 252 states and 302 transitions. Word has length 68 [2022-04-27 13:27:44,365 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:27:44,365 INFO L495 AbstractCegarLoop]: Abstraction has 252 states and 302 transitions. [2022-04-27 13:27:44,365 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:27:44,366 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 302 transitions. [2022-04-27 13:27:44,366 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-27 13:27:44,366 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:27:44,366 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:27:44,382 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-27 13:27:44,582 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:27:44,582 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:27:44,583 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:27:44,583 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 1 times [2022-04-27 13:27:44,583 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:27:44,583 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1429539883] [2022-04-27 13:27:44,583 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:27:44,583 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:27:44,596 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:27:44,596 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1700101757] [2022-04-27 13:27:44,596 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:27:44,596 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:27:44,596 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:27:44,601 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:27:44,604 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-27 13:27:44,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:27:44,648 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-27 13:27:44,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:27:44,664 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:27:49,273 INFO L272 TraceCheckUtils]: 0: Hoare triple {8604#true} call ULTIMATE.init(); {8604#true} is VALID [2022-04-27 13:27:49,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {8604#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);~counter~0 := 0; {8604#true} is VALID [2022-04-27 13:27:49,273 INFO L290 TraceCheckUtils]: 2: Hoare triple {8604#true} assume true; {8604#true} is VALID [2022-04-27 13:27:49,273 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8604#true} {8604#true} #96#return; {8604#true} is VALID [2022-04-27 13:27:49,273 INFO L272 TraceCheckUtils]: 4: Hoare triple {8604#true} call #t~ret8 := main(); {8604#true} is VALID [2022-04-27 13:27:49,273 INFO L290 TraceCheckUtils]: 5: Hoare triple {8604#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;~B~0 := #t~nondet5;havoc #t~nondet5; {8604#true} is VALID [2022-04-27 13:27:49,273 INFO L272 TraceCheckUtils]: 6: Hoare triple {8604#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8604#true} is VALID [2022-04-27 13:27:49,273 INFO L290 TraceCheckUtils]: 7: Hoare triple {8604#true} ~cond := #in~cond; {8604#true} is VALID [2022-04-27 13:27:49,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {8604#true} assume !(0 == ~cond); {8604#true} is VALID [2022-04-27 13:27:49,274 INFO L290 TraceCheckUtils]: 9: Hoare triple {8604#true} assume true; {8604#true} is VALID [2022-04-27 13:27:49,274 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8604#true} {8604#true} #80#return; {8604#true} is VALID [2022-04-27 13:27:49,274 INFO L290 TraceCheckUtils]: 11: Hoare triple {8604#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:49,274 INFO L290 TraceCheckUtils]: 12: Hoare triple {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:49,275 INFO L290 TraceCheckUtils]: 13: Hoare triple {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:49,275 INFO L272 TraceCheckUtils]: 14: Hoare triple {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8604#true} is VALID [2022-04-27 13:27:49,275 INFO L290 TraceCheckUtils]: 15: Hoare triple {8604#true} ~cond := #in~cond; {8604#true} is VALID [2022-04-27 13:27:49,275 INFO L290 TraceCheckUtils]: 16: Hoare triple {8604#true} assume !(0 == ~cond); {8604#true} is VALID [2022-04-27 13:27:49,275 INFO L290 TraceCheckUtils]: 17: Hoare triple {8604#true} assume true; {8604#true} is VALID [2022-04-27 13:27:49,275 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8604#true} {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:49,276 INFO L272 TraceCheckUtils]: 19: Hoare triple {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8604#true} is VALID [2022-04-27 13:27:49,276 INFO L290 TraceCheckUtils]: 20: Hoare triple {8604#true} ~cond := #in~cond; {8604#true} is VALID [2022-04-27 13:27:49,276 INFO L290 TraceCheckUtils]: 21: Hoare triple {8604#true} assume !(0 == ~cond); {8604#true} is VALID [2022-04-27 13:27:49,276 INFO L290 TraceCheckUtils]: 22: Hoare triple {8604#true} assume true; {8604#true} is VALID [2022-04-27 13:27:49,276 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8604#true} {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:49,276 INFO L272 TraceCheckUtils]: 24: Hoare triple {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8604#true} is VALID [2022-04-27 13:27:49,276 INFO L290 TraceCheckUtils]: 25: Hoare triple {8604#true} ~cond := #in~cond; {8685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:27:49,277 INFO L290 TraceCheckUtils]: 26: Hoare triple {8685#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:27:49,277 INFO L290 TraceCheckUtils]: 27: Hoare triple {8689#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8689#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:27:49,278 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8689#(not (= |__VERIFIER_assert_#in~cond| 0))} {8642#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {8696#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-27 13:27:49,279 INFO L290 TraceCheckUtils]: 29: Hoare triple {8696#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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-27 13:27:49,280 INFO L290 TraceCheckUtils]: 30: Hoare triple {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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-27 13:27:49,280 INFO L290 TraceCheckUtils]: 31: Hoare triple {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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 !!(#t~post6 < 10);havoc #t~post6; {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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-27 13:27:49,280 INFO L272 TraceCheckUtils]: 32: Hoare triple {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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)); {8604#true} is VALID [2022-04-27 13:27:49,280 INFO L290 TraceCheckUtils]: 33: Hoare triple {8604#true} ~cond := #in~cond; {8604#true} is VALID [2022-04-27 13:27:49,280 INFO L290 TraceCheckUtils]: 34: Hoare triple {8604#true} assume !(0 == ~cond); {8604#true} is VALID [2022-04-27 13:27:49,280 INFO L290 TraceCheckUtils]: 35: Hoare triple {8604#true} assume true; {8604#true} is VALID [2022-04-27 13:27:49,281 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8604#true} {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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))} #82#return; {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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-27 13:27:49,281 INFO L272 TraceCheckUtils]: 37: Hoare triple {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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)); {8604#true} is VALID [2022-04-27 13:27:49,281 INFO L290 TraceCheckUtils]: 38: Hoare triple {8604#true} ~cond := #in~cond; {8604#true} is VALID [2022-04-27 13:27:49,281 INFO L290 TraceCheckUtils]: 39: Hoare triple {8604#true} assume !(0 == ~cond); {8604#true} is VALID [2022-04-27 13:27:49,281 INFO L290 TraceCheckUtils]: 40: Hoare triple {8604#true} assume true; {8604#true} is VALID [2022-04-27 13:27:49,282 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8604#true} {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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))} #84#return; {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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-27 13:27:49,282 INFO L272 TraceCheckUtils]: 42: Hoare triple {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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)); {8604#true} is VALID [2022-04-27 13:27:49,282 INFO L290 TraceCheckUtils]: 43: Hoare triple {8604#true} ~cond := #in~cond; {8604#true} is VALID [2022-04-27 13:27:49,282 INFO L290 TraceCheckUtils]: 44: Hoare triple {8604#true} assume !(0 == ~cond); {8604#true} is VALID [2022-04-27 13:27:49,282 INFO L290 TraceCheckUtils]: 45: Hoare triple {8604#true} assume true; {8604#true} is VALID [2022-04-27 13:27:49,282 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8604#true} {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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))} #86#return; {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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-27 13:27:49,283 INFO L290 TraceCheckUtils]: 47: Hoare triple {8700#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 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); {8755#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:49,283 INFO L290 TraceCheckUtils]: 48: Hoare triple {8755#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8755#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:49,284 INFO L290 TraceCheckUtils]: 49: Hoare triple {8755#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 10);havoc #t~post7; {8755#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:49,284 INFO L272 TraceCheckUtils]: 50: Hoare triple {8755#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= 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)); {8604#true} is VALID [2022-04-27 13:27:49,284 INFO L290 TraceCheckUtils]: 51: Hoare triple {8604#true} ~cond := #in~cond; {8604#true} is VALID [2022-04-27 13:27:49,284 INFO L290 TraceCheckUtils]: 52: Hoare triple {8604#true} assume !(0 == ~cond); {8604#true} is VALID [2022-04-27 13:27:49,284 INFO L290 TraceCheckUtils]: 53: Hoare triple {8604#true} assume true; {8604#true} is VALID [2022-04-27 13:27:49,284 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8604#true} {8755#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #88#return; {8755#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:49,284 INFO L272 TraceCheckUtils]: 55: Hoare triple {8755#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (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)); {8604#true} is VALID [2022-04-27 13:27:49,285 INFO L290 TraceCheckUtils]: 56: Hoare triple {8604#true} ~cond := #in~cond; {8604#true} is VALID [2022-04-27 13:27:49,285 INFO L290 TraceCheckUtils]: 57: Hoare triple {8604#true} assume !(0 == ~cond); {8604#true} is VALID [2022-04-27 13:27:49,285 INFO L290 TraceCheckUtils]: 58: Hoare triple {8604#true} assume true; {8604#true} is VALID [2022-04-27 13:27:49,285 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8604#true} {8755#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #90#return; {8755#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:27:49,286 INFO L290 TraceCheckUtils]: 60: Hoare triple {8755#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= 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); {8795#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:27:49,288 INFO L290 TraceCheckUtils]: 61: Hoare triple {8795#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8799#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:27:49,288 INFO L290 TraceCheckUtils]: 62: Hoare triple {8799#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8799#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:27:49,288 INFO L290 TraceCheckUtils]: 63: Hoare triple {8799#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} assume !!(#t~post7 < 10);havoc #t~post7; {8799#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:27:49,288 INFO L272 TraceCheckUtils]: 64: Hoare triple {8799#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8604#true} is VALID [2022-04-27 13:27:49,289 INFO L290 TraceCheckUtils]: 65: Hoare triple {8604#true} ~cond := #in~cond; {8604#true} is VALID [2022-04-27 13:27:49,289 INFO L290 TraceCheckUtils]: 66: Hoare triple {8604#true} assume !(0 == ~cond); {8604#true} is VALID [2022-04-27 13:27:49,289 INFO L290 TraceCheckUtils]: 67: Hoare triple {8604#true} assume true; {8604#true} is VALID [2022-04-27 13:27:49,289 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8604#true} {8799#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} #88#return; {8799#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:27:49,289 INFO L272 TraceCheckUtils]: 69: Hoare triple {8799#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8604#true} is VALID [2022-04-27 13:27:49,289 INFO L290 TraceCheckUtils]: 70: Hoare triple {8604#true} ~cond := #in~cond; {8604#true} is VALID [2022-04-27 13:27:49,289 INFO L290 TraceCheckUtils]: 71: Hoare triple {8604#true} assume !(0 == ~cond); {8604#true} is VALID [2022-04-27 13:27:49,289 INFO L290 TraceCheckUtils]: 72: Hoare triple {8604#true} assume true; {8604#true} is VALID [2022-04-27 13:27:49,290 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8604#true} {8799#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} #90#return; {8799#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:27:49,290 INFO L290 TraceCheckUtils]: 74: Hoare triple {8799#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} assume !(1 != ~p~0); {8839#(and (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 1))} is VALID [2022-04-27 13:27:49,291 INFO L272 TraceCheckUtils]: 75: Hoare triple {8839#(and (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ 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)); {8843#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:27:49,291 INFO L290 TraceCheckUtils]: 76: Hoare triple {8843#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8847#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:27:49,292 INFO L290 TraceCheckUtils]: 77: Hoare triple {8847#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8605#false} is VALID [2022-04-27 13:27:49,292 INFO L290 TraceCheckUtils]: 78: Hoare triple {8605#false} assume !false; {8605#false} is VALID [2022-04-27 13:27:49,292 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 25 proven. 33 refuted. 0 times theorem prover too weak. 153 trivial. 0 not checked. [2022-04-27 13:27:49,292 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:29:18,602 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:29:18,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1429539883] [2022-04-27 13:29:18,603 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:29:18,603 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1700101757] [2022-04-27 13:29:18,603 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1700101757] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:29:18,603 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:29:18,603 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-27 13:29:18,603 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [659965466] [2022-04-27 13:29:18,603 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:29:18,603 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 79 [2022-04-27 13:29:18,603 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:29:18,604 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:29:18,659 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:18,659 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 13:29:18,659 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:29:18,659 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 13:29:18,660 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=266, Unknown=0, NotChecked=0, Total=342 [2022-04-27 13:29:18,660 INFO L87 Difference]: Start difference. First operand 252 states and 302 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:29:22,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:22,843 INFO L93 Difference]: Finished difference Result 350 states and 433 transitions. [2022-04-27 13:29:22,843 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-27 13:29:22,843 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 79 [2022-04-27 13:29:22,843 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:29:22,843 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:29:22,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 137 transitions. [2022-04-27 13:29:22,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:29:22,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 137 transitions. [2022-04-27 13:29:22,847 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 137 transitions. [2022-04-27 13:29:23,002 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:23,007 INFO L225 Difference]: With dead ends: 350 [2022-04-27 13:29:23,008 INFO L226 Difference]: Without dead ends: 287 [2022-04-27 13:29:23,010 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 110 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 87 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=126, Invalid=474, Unknown=0, NotChecked=0, Total=600 [2022-04-27 13:29:23,011 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 30 mSDsluCounter, 291 mSDsCounter, 0 mSdLazyCounter, 574 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 344 SdHoareTripleChecker+Invalid, 609 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 574 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-27 13:29:23,011 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [38 Valid, 344 Invalid, 609 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 574 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-27 13:29:23,011 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 287 states. [2022-04-27 13:29:23,157 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 287 to 268. [2022-04-27 13:29:23,157 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:29:23,158 INFO L82 GeneralOperation]: Start isEquivalent. First operand 287 states. Second operand has 268 states, 178 states have (on average 1.1797752808988764) internal successors, (210), 186 states have internal predecessors, (210), 57 states have call successors, (57), 34 states have call predecessors, (57), 32 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-27 13:29:23,158 INFO L74 IsIncluded]: Start isIncluded. First operand 287 states. Second operand has 268 states, 178 states have (on average 1.1797752808988764) internal successors, (210), 186 states have internal predecessors, (210), 57 states have call successors, (57), 34 states have call predecessors, (57), 32 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-27 13:29:23,158 INFO L87 Difference]: Start difference. First operand 287 states. Second operand has 268 states, 178 states have (on average 1.1797752808988764) internal successors, (210), 186 states have internal predecessors, (210), 57 states have call successors, (57), 34 states have call predecessors, (57), 32 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-27 13:29:23,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:23,166 INFO L93 Difference]: Finished difference Result 287 states and 348 transitions. [2022-04-27 13:29:23,166 INFO L276 IsEmpty]: Start isEmpty. Operand 287 states and 348 transitions. [2022-04-27 13:29:23,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:23,168 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:23,168 INFO L74 IsIncluded]: Start isIncluded. First operand has 268 states, 178 states have (on average 1.1797752808988764) internal successors, (210), 186 states have internal predecessors, (210), 57 states have call successors, (57), 34 states have call predecessors, (57), 32 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) Second operand 287 states. [2022-04-27 13:29:23,168 INFO L87 Difference]: Start difference. First operand has 268 states, 178 states have (on average 1.1797752808988764) internal successors, (210), 186 states have internal predecessors, (210), 57 states have call successors, (57), 34 states have call predecessors, (57), 32 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) Second operand 287 states. [2022-04-27 13:29:23,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:23,173 INFO L93 Difference]: Finished difference Result 287 states and 348 transitions. [2022-04-27 13:29:23,173 INFO L276 IsEmpty]: Start isEmpty. Operand 287 states and 348 transitions. [2022-04-27 13:29:23,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:23,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:23,174 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:29:23,174 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:29:23,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 268 states, 178 states have (on average 1.1797752808988764) internal successors, (210), 186 states have internal predecessors, (210), 57 states have call successors, (57), 34 states have call predecessors, (57), 32 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-27 13:29:23,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 268 states to 268 states and 320 transitions. [2022-04-27 13:29:23,179 INFO L78 Accepts]: Start accepts. Automaton has 268 states and 320 transitions. Word has length 79 [2022-04-27 13:29:23,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:29:23,180 INFO L495 AbstractCegarLoop]: Abstraction has 268 states and 320 transitions. [2022-04-27 13:29:23,180 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:29:23,180 INFO L276 IsEmpty]: Start isEmpty. Operand 268 states and 320 transitions. [2022-04-27 13:29:23,180 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-27 13:29:23,180 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:29:23,181 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:29:23,196 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 13:29:23,407 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-27 13:29:23,407 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:29:23,407 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:29:23,408 INFO L85 PathProgramCache]: Analyzing trace with hash 437079945, now seen corresponding path program 2 times [2022-04-27 13:29:23,408 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:29:23,408 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [713801713] [2022-04-27 13:29:23,408 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:23,408 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:29:23,422 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:29:23,422 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1643637344] [2022-04-27 13:29:23,422 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:29:23,422 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:29:23,422 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:29:23,435 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:29:23,436 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-27 13:29:23,485 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:29:23,485 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:29:23,486 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:29:23,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:23,513 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:29:23,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {10448#true} call ULTIMATE.init(); {10448#true} is VALID [2022-04-27 13:29:23,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {10448#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);~counter~0 := 0; {10448#true} is VALID [2022-04-27 13:29:23,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10448#true} {10448#true} #96#return; {10448#true} is VALID [2022-04-27 13:29:23,662 INFO L272 TraceCheckUtils]: 4: Hoare triple {10448#true} call #t~ret8 := main(); {10448#true} is VALID [2022-04-27 13:29:23,662 INFO L290 TraceCheckUtils]: 5: Hoare triple {10448#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;~B~0 := #t~nondet5;havoc #t~nondet5; {10448#true} is VALID [2022-04-27 13:29:23,662 INFO L272 TraceCheckUtils]: 6: Hoare triple {10448#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,662 INFO L290 TraceCheckUtils]: 7: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,662 INFO L290 TraceCheckUtils]: 8: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,662 INFO L290 TraceCheckUtils]: 9: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,662 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10448#true} {10448#true} #80#return; {10448#true} is VALID [2022-04-27 13:29:23,663 INFO L290 TraceCheckUtils]: 11: Hoare triple {10448#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,663 INFO L290 TraceCheckUtils]: 12: Hoare triple {10486#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,663 INFO L290 TraceCheckUtils]: 13: Hoare triple {10486#(= main_~p~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,663 INFO L272 TraceCheckUtils]: 14: Hoare triple {10486#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,663 INFO L290 TraceCheckUtils]: 15: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,663 INFO L290 TraceCheckUtils]: 16: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,663 INFO L290 TraceCheckUtils]: 17: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,664 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10448#true} {10486#(= main_~p~0 1)} #82#return; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,664 INFO L272 TraceCheckUtils]: 19: Hoare triple {10486#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,664 INFO L290 TraceCheckUtils]: 20: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,664 INFO L290 TraceCheckUtils]: 21: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,664 INFO L290 TraceCheckUtils]: 22: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,665 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10448#true} {10486#(= main_~p~0 1)} #84#return; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,665 INFO L272 TraceCheckUtils]: 24: Hoare triple {10486#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,665 INFO L290 TraceCheckUtils]: 25: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,665 INFO L290 TraceCheckUtils]: 26: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,665 INFO L290 TraceCheckUtils]: 27: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,665 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10448#true} {10486#(= main_~p~0 1)} #86#return; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,666 INFO L290 TraceCheckUtils]: 29: Hoare triple {10486#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10541#(= main_~p~0 2)} is VALID [2022-04-27 13:29:23,666 INFO L290 TraceCheckUtils]: 30: Hoare triple {10541#(= main_~p~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10541#(= main_~p~0 2)} is VALID [2022-04-27 13:29:23,666 INFO L290 TraceCheckUtils]: 31: Hoare triple {10541#(= main_~p~0 2)} assume !!(#t~post6 < 10);havoc #t~post6; {10541#(= main_~p~0 2)} is VALID [2022-04-27 13:29:23,666 INFO L272 TraceCheckUtils]: 32: Hoare triple {10541#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,666 INFO L290 TraceCheckUtils]: 33: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,666 INFO L290 TraceCheckUtils]: 34: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,667 INFO L290 TraceCheckUtils]: 35: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,667 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10448#true} {10541#(= main_~p~0 2)} #82#return; {10541#(= main_~p~0 2)} is VALID [2022-04-27 13:29:23,667 INFO L272 TraceCheckUtils]: 37: Hoare triple {10541#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,667 INFO L290 TraceCheckUtils]: 38: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,667 INFO L290 TraceCheckUtils]: 39: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,667 INFO L290 TraceCheckUtils]: 40: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,668 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10448#true} {10541#(= main_~p~0 2)} #84#return; {10541#(= main_~p~0 2)} is VALID [2022-04-27 13:29:23,668 INFO L272 TraceCheckUtils]: 42: Hoare triple {10541#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,668 INFO L290 TraceCheckUtils]: 43: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,668 INFO L290 TraceCheckUtils]: 44: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,668 INFO L290 TraceCheckUtils]: 45: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,668 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10448#true} {10541#(= main_~p~0 2)} #86#return; {10541#(= main_~p~0 2)} is VALID [2022-04-27 13:29:23,669 INFO L290 TraceCheckUtils]: 47: Hoare triple {10541#(= main_~p~0 2)} assume !(~r~0 >= ~d~0); {10541#(= main_~p~0 2)} is VALID [2022-04-27 13:29:23,669 INFO L290 TraceCheckUtils]: 48: Hoare triple {10541#(= main_~p~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10541#(= main_~p~0 2)} is VALID [2022-04-27 13:29:23,669 INFO L290 TraceCheckUtils]: 49: Hoare triple {10541#(= main_~p~0 2)} assume !!(#t~post7 < 10);havoc #t~post7; {10541#(= main_~p~0 2)} is VALID [2022-04-27 13:29:23,670 INFO L272 TraceCheckUtils]: 50: Hoare triple {10541#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,670 INFO L290 TraceCheckUtils]: 51: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,670 INFO L290 TraceCheckUtils]: 52: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,670 INFO L290 TraceCheckUtils]: 53: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,670 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10448#true} {10541#(= main_~p~0 2)} #88#return; {10541#(= main_~p~0 2)} is VALID [2022-04-27 13:29:23,670 INFO L272 TraceCheckUtils]: 55: Hoare triple {10541#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,670 INFO L290 TraceCheckUtils]: 56: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,671 INFO L290 TraceCheckUtils]: 57: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,671 INFO L290 TraceCheckUtils]: 58: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,671 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10448#true} {10541#(= main_~p~0 2)} #90#return; {10541#(= main_~p~0 2)} is VALID [2022-04-27 13:29:23,672 INFO L290 TraceCheckUtils]: 60: Hoare triple {10541#(= main_~p~0 2)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,672 INFO L290 TraceCheckUtils]: 61: Hoare triple {10486#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,672 INFO L290 TraceCheckUtils]: 62: Hoare triple {10486#(= main_~p~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,672 INFO L290 TraceCheckUtils]: 63: Hoare triple {10486#(= main_~p~0 1)} assume !!(#t~post7 < 10);havoc #t~post7; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,673 INFO L272 TraceCheckUtils]: 64: Hoare triple {10486#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,673 INFO L290 TraceCheckUtils]: 65: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,673 INFO L290 TraceCheckUtils]: 66: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,673 INFO L290 TraceCheckUtils]: 67: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,673 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10448#true} {10486#(= main_~p~0 1)} #88#return; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,673 INFO L272 TraceCheckUtils]: 69: Hoare triple {10486#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,673 INFO L290 TraceCheckUtils]: 70: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,674 INFO L290 TraceCheckUtils]: 71: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,674 INFO L290 TraceCheckUtils]: 72: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,674 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10448#true} {10486#(= main_~p~0 1)} #90#return; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,674 INFO L290 TraceCheckUtils]: 74: Hoare triple {10486#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10449#false} is VALID [2022-04-27 13:29:23,674 INFO L290 TraceCheckUtils]: 75: Hoare triple {10449#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10449#false} is VALID [2022-04-27 13:29:23,675 INFO L290 TraceCheckUtils]: 76: Hoare triple {10449#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10449#false} is VALID [2022-04-27 13:29:23,675 INFO L290 TraceCheckUtils]: 77: Hoare triple {10449#false} assume !!(#t~post7 < 10);havoc #t~post7; {10449#false} is VALID [2022-04-27 13:29:23,675 INFO L272 TraceCheckUtils]: 78: Hoare triple {10449#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10449#false} is VALID [2022-04-27 13:29:23,675 INFO L290 TraceCheckUtils]: 79: Hoare triple {10449#false} ~cond := #in~cond; {10449#false} is VALID [2022-04-27 13:29:23,675 INFO L290 TraceCheckUtils]: 80: Hoare triple {10449#false} assume 0 == ~cond; {10449#false} is VALID [2022-04-27 13:29:23,675 INFO L290 TraceCheckUtils]: 81: Hoare triple {10449#false} assume !false; {10449#false} is VALID [2022-04-27 13:29:23,675 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 27 proven. 11 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-27 13:29:23,675 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:29:23,937 INFO L290 TraceCheckUtils]: 81: Hoare triple {10449#false} assume !false; {10449#false} is VALID [2022-04-27 13:29:23,938 INFO L290 TraceCheckUtils]: 80: Hoare triple {10449#false} assume 0 == ~cond; {10449#false} is VALID [2022-04-27 13:29:23,938 INFO L290 TraceCheckUtils]: 79: Hoare triple {10449#false} ~cond := #in~cond; {10449#false} is VALID [2022-04-27 13:29:23,938 INFO L272 TraceCheckUtils]: 78: Hoare triple {10449#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10449#false} is VALID [2022-04-27 13:29:23,938 INFO L290 TraceCheckUtils]: 77: Hoare triple {10449#false} assume !!(#t~post7 < 10);havoc #t~post7; {10449#false} is VALID [2022-04-27 13:29:23,938 INFO L290 TraceCheckUtils]: 76: Hoare triple {10449#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10449#false} is VALID [2022-04-27 13:29:23,938 INFO L290 TraceCheckUtils]: 75: Hoare triple {10449#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10449#false} is VALID [2022-04-27 13:29:23,938 INFO L290 TraceCheckUtils]: 74: Hoare triple {10486#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10449#false} is VALID [2022-04-27 13:29:23,939 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10448#true} {10486#(= main_~p~0 1)} #90#return; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,939 INFO L290 TraceCheckUtils]: 72: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,939 INFO L290 TraceCheckUtils]: 71: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,939 INFO L290 TraceCheckUtils]: 70: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,939 INFO L272 TraceCheckUtils]: 69: Hoare triple {10486#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,939 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10448#true} {10486#(= main_~p~0 1)} #88#return; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,939 INFO L290 TraceCheckUtils]: 67: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,939 INFO L290 TraceCheckUtils]: 66: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,940 INFO L290 TraceCheckUtils]: 65: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,940 INFO L272 TraceCheckUtils]: 64: Hoare triple {10486#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,940 INFO L290 TraceCheckUtils]: 63: Hoare triple {10486#(= main_~p~0 1)} assume !!(#t~post7 < 10);havoc #t~post7; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,940 INFO L290 TraceCheckUtils]: 62: Hoare triple {10486#(= main_~p~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,940 INFO L290 TraceCheckUtils]: 61: Hoare triple {10486#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,941 INFO L290 TraceCheckUtils]: 60: Hoare triple {10761#(= (div main_~p~0 2) 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,942 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10448#true} {10761#(= (div main_~p~0 2) 1)} #90#return; {10761#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,942 INFO L290 TraceCheckUtils]: 58: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,942 INFO L290 TraceCheckUtils]: 57: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,942 INFO L290 TraceCheckUtils]: 56: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,942 INFO L272 TraceCheckUtils]: 55: Hoare triple {10761#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,942 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10448#true} {10761#(= (div main_~p~0 2) 1)} #88#return; {10761#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,942 INFO L290 TraceCheckUtils]: 53: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,942 INFO L290 TraceCheckUtils]: 52: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,942 INFO L290 TraceCheckUtils]: 51: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,943 INFO L272 TraceCheckUtils]: 50: Hoare triple {10761#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,943 INFO L290 TraceCheckUtils]: 49: Hoare triple {10761#(= (div main_~p~0 2) 1)} assume !!(#t~post7 < 10);havoc #t~post7; {10761#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,943 INFO L290 TraceCheckUtils]: 48: Hoare triple {10761#(= (div main_~p~0 2) 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10761#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,943 INFO L290 TraceCheckUtils]: 47: Hoare triple {10761#(= (div main_~p~0 2) 1)} assume !(~r~0 >= ~d~0); {10761#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,944 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10448#true} {10761#(= (div main_~p~0 2) 1)} #86#return; {10761#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,944 INFO L290 TraceCheckUtils]: 45: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,944 INFO L290 TraceCheckUtils]: 44: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,944 INFO L290 TraceCheckUtils]: 43: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,944 INFO L272 TraceCheckUtils]: 42: Hoare triple {10761#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,944 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10448#true} {10761#(= (div main_~p~0 2) 1)} #84#return; {10761#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,944 INFO L290 TraceCheckUtils]: 40: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,944 INFO L290 TraceCheckUtils]: 39: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,945 INFO L290 TraceCheckUtils]: 38: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,945 INFO L272 TraceCheckUtils]: 37: Hoare triple {10761#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,945 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10448#true} {10761#(= (div main_~p~0 2) 1)} #82#return; {10761#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,945 INFO L290 TraceCheckUtils]: 35: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,945 INFO L290 TraceCheckUtils]: 34: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,945 INFO L290 TraceCheckUtils]: 33: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,945 INFO L272 TraceCheckUtils]: 32: Hoare triple {10761#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,945 INFO L290 TraceCheckUtils]: 31: Hoare triple {10761#(= (div main_~p~0 2) 1)} assume !!(#t~post6 < 10);havoc #t~post6; {10761#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,946 INFO L290 TraceCheckUtils]: 30: Hoare triple {10761#(= (div main_~p~0 2) 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10761#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,946 INFO L290 TraceCheckUtils]: 29: Hoare triple {10486#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10761#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,946 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10448#true} {10486#(= main_~p~0 1)} #86#return; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,947 INFO L290 TraceCheckUtils]: 27: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,947 INFO L290 TraceCheckUtils]: 26: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,947 INFO L290 TraceCheckUtils]: 25: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,947 INFO L272 TraceCheckUtils]: 24: Hoare triple {10486#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,947 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10448#true} {10486#(= main_~p~0 1)} #84#return; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,947 INFO L290 TraceCheckUtils]: 22: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,947 INFO L290 TraceCheckUtils]: 21: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,947 INFO L290 TraceCheckUtils]: 20: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,947 INFO L272 TraceCheckUtils]: 19: Hoare triple {10486#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,948 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10448#true} {10486#(= main_~p~0 1)} #82#return; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,948 INFO L290 TraceCheckUtils]: 17: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,948 INFO L290 TraceCheckUtils]: 16: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,948 INFO L290 TraceCheckUtils]: 15: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,948 INFO L272 TraceCheckUtils]: 14: Hoare triple {10486#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {10486#(= main_~p~0 1)} assume !!(#t~post6 < 10);havoc #t~post6; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,949 INFO L290 TraceCheckUtils]: 12: Hoare triple {10486#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {10448#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10486#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,949 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10448#true} {10448#true} #80#return; {10448#true} is VALID [2022-04-27 13:29:23,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,949 INFO L290 TraceCheckUtils]: 8: Hoare triple {10448#true} assume !(0 == ~cond); {10448#true} is VALID [2022-04-27 13:29:23,949 INFO L290 TraceCheckUtils]: 7: Hoare triple {10448#true} ~cond := #in~cond; {10448#true} is VALID [2022-04-27 13:29:23,949 INFO L272 TraceCheckUtils]: 6: Hoare triple {10448#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10448#true} is VALID [2022-04-27 13:29:23,949 INFO L290 TraceCheckUtils]: 5: Hoare triple {10448#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;~B~0 := #t~nondet5;havoc #t~nondet5; {10448#true} is VALID [2022-04-27 13:29:23,949 INFO L272 TraceCheckUtils]: 4: Hoare triple {10448#true} call #t~ret8 := main(); {10448#true} is VALID [2022-04-27 13:29:23,949 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10448#true} {10448#true} #96#return; {10448#true} is VALID [2022-04-27 13:29:23,949 INFO L290 TraceCheckUtils]: 2: Hoare triple {10448#true} assume true; {10448#true} is VALID [2022-04-27 13:29:23,949 INFO L290 TraceCheckUtils]: 1: Hoare triple {10448#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);~counter~0 := 0; {10448#true} is VALID [2022-04-27 13:29:23,949 INFO L272 TraceCheckUtils]: 0: Hoare triple {10448#true} call ULTIMATE.init(); {10448#true} is VALID [2022-04-27 13:29:23,950 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 27 proven. 11 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-27 13:29:23,950 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:29:23,950 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [713801713] [2022-04-27 13:29:23,950 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:29:23,950 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1643637344] [2022-04-27 13:29:23,950 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1643637344] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:29:23,950 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:29:23,950 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-04-27 13:29:23,950 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1325597326] [2022-04-27 13:29:23,950 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:29:23,951 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) Word has length 82 [2022-04-27 13:29:23,951 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:29:23,951 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:29:23,995 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:23,995 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:29:23,995 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:29:23,995 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:29:23,995 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:29:23,995 INFO L87 Difference]: Start difference. First operand 268 states and 320 transitions. Second operand has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:29:24,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:24,376 INFO L93 Difference]: Finished difference Result 306 states and 366 transitions. [2022-04-27 13:29:24,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 13:29:24,376 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) Word has length 82 [2022-04-27 13:29:24,376 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:29:24,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:29:24,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-04-27 13:29:24,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:29:24,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-04-27 13:29:24,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-04-27 13:29:24,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:24,461 INFO L225 Difference]: With dead ends: 306 [2022-04-27 13:29:24,461 INFO L226 Difference]: Without dead ends: 259 [2022-04-27 13:29:24,462 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 159 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:29:24,463 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 0 mSDsluCounter, 111 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:29:24,463 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1 Valid, 170 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 53 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:29:24,463 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 259 states. [2022-04-27 13:29:24,600 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 259 to 248. [2022-04-27 13:29:24,600 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:29:24,600 INFO L82 GeneralOperation]: Start isEquivalent. First operand 259 states. Second operand has 248 states, 166 states have (on average 1.1686746987951808) internal successors, (194), 171 states have internal predecessors, (194), 51 states have call successors, (51), 32 states have call predecessors, (51), 30 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-27 13:29:24,600 INFO L74 IsIncluded]: Start isIncluded. First operand 259 states. Second operand has 248 states, 166 states have (on average 1.1686746987951808) internal successors, (194), 171 states have internal predecessors, (194), 51 states have call successors, (51), 32 states have call predecessors, (51), 30 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-27 13:29:24,601 INFO L87 Difference]: Start difference. First operand 259 states. Second operand has 248 states, 166 states have (on average 1.1686746987951808) internal successors, (194), 171 states have internal predecessors, (194), 51 states have call successors, (51), 32 states have call predecessors, (51), 30 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-27 13:29:24,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:24,606 INFO L93 Difference]: Finished difference Result 259 states and 306 transitions. [2022-04-27 13:29:24,606 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 306 transitions. [2022-04-27 13:29:24,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:24,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:24,607 INFO L74 IsIncluded]: Start isIncluded. First operand has 248 states, 166 states have (on average 1.1686746987951808) internal successors, (194), 171 states have internal predecessors, (194), 51 states have call successors, (51), 32 states have call predecessors, (51), 30 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) Second operand 259 states. [2022-04-27 13:29:24,607 INFO L87 Difference]: Start difference. First operand has 248 states, 166 states have (on average 1.1686746987951808) internal successors, (194), 171 states have internal predecessors, (194), 51 states have call successors, (51), 32 states have call predecessors, (51), 30 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) Second operand 259 states. [2022-04-27 13:29:24,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:24,611 INFO L93 Difference]: Finished difference Result 259 states and 306 transitions. [2022-04-27 13:29:24,611 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 306 transitions. [2022-04-27 13:29:24,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:24,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:24,612 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:29:24,612 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:29:24,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 248 states, 166 states have (on average 1.1686746987951808) internal successors, (194), 171 states have internal predecessors, (194), 51 states have call successors, (51), 32 states have call predecessors, (51), 30 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-27 13:29:24,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 248 states to 248 states and 293 transitions. [2022-04-27 13:29:24,616 INFO L78 Accepts]: Start accepts. Automaton has 248 states and 293 transitions. Word has length 82 [2022-04-27 13:29:24,616 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:29:24,616 INFO L495 AbstractCegarLoop]: Abstraction has 248 states and 293 transitions. [2022-04-27 13:29:24,616 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:29:24,616 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 293 transitions. [2022-04-27 13:29:24,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-27 13:29:24,617 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:29:24,617 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:29:24,634 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-27 13:29:24,833 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-27 13:29:24,833 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:29:24,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:29:24,834 INFO L85 PathProgramCache]: Analyzing trace with hash 111833757, now seen corresponding path program 1 times [2022-04-27 13:29:24,834 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:29:24,834 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1536456766] [2022-04-27 13:29:24,834 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:24,834 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:29:24,842 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:29:24,842 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2032704364] [2022-04-27 13:29:24,843 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:24,843 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:29:24,843 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:29:24,843 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:29:24,844 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-27 13:29:24,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:24,886 INFO L263 TraceCheckSpWp]: Trace formula consists of 214 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 13:29:24,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:24,899 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:29:25,734 INFO L272 TraceCheckUtils]: 0: Hoare triple {12215#true} call ULTIMATE.init(); {12215#true} is VALID [2022-04-27 13:29:25,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {12215#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);~counter~0 := 0; {12215#true} is VALID [2022-04-27 13:29:25,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,734 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12215#true} {12215#true} #96#return; {12215#true} is VALID [2022-04-27 13:29:25,734 INFO L272 TraceCheckUtils]: 4: Hoare triple {12215#true} call #t~ret8 := main(); {12215#true} is VALID [2022-04-27 13:29:25,734 INFO L290 TraceCheckUtils]: 5: Hoare triple {12215#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;~B~0 := #t~nondet5;havoc #t~nondet5; {12215#true} is VALID [2022-04-27 13:29:25,734 INFO L272 TraceCheckUtils]: 6: Hoare triple {12215#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:25,734 INFO L290 TraceCheckUtils]: 7: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:25,734 INFO L290 TraceCheckUtils]: 8: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:25,734 INFO L290 TraceCheckUtils]: 9: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,735 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12215#true} {12215#true} #80#return; {12215#true} is VALID [2022-04-27 13:29:25,735 INFO L290 TraceCheckUtils]: 11: Hoare triple {12215#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,735 INFO L290 TraceCheckUtils]: 12: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,735 INFO L290 TraceCheckUtils]: 13: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(#t~post6 < 10);havoc #t~post6; {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,735 INFO L272 TraceCheckUtils]: 14: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:25,736 INFO L290 TraceCheckUtils]: 15: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:25,736 INFO L290 TraceCheckUtils]: 16: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:25,736 INFO L290 TraceCheckUtils]: 17: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,736 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12215#true} {12253#(= main_~d~0 (mod main_~B~0 4294967296))} #82#return; {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,736 INFO L272 TraceCheckUtils]: 19: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:25,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:25,736 INFO L290 TraceCheckUtils]: 21: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:25,736 INFO L290 TraceCheckUtils]: 22: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,737 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12215#true} {12253#(= main_~d~0 (mod main_~B~0 4294967296))} #84#return; {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,737 INFO L272 TraceCheckUtils]: 24: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:25,737 INFO L290 TraceCheckUtils]: 25: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:25,737 INFO L290 TraceCheckUtils]: 26: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:25,737 INFO L290 TraceCheckUtils]: 27: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,738 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12215#true} {12253#(= main_~d~0 (mod main_~B~0 4294967296))} #86#return; {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,738 INFO L290 TraceCheckUtils]: 29: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:29:25,739 INFO L290 TraceCheckUtils]: 30: Hoare triple {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:29:25,739 INFO L290 TraceCheckUtils]: 31: Hoare triple {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 10);havoc #t~post6; {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:29:25,739 INFO L272 TraceCheckUtils]: 32: Hoare triple {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:25,739 INFO L290 TraceCheckUtils]: 33: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:25,739 INFO L290 TraceCheckUtils]: 34: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:25,740 INFO L290 TraceCheckUtils]: 35: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,740 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12215#true} {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:29:25,740 INFO L272 TraceCheckUtils]: 37: Hoare triple {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:25,740 INFO L290 TraceCheckUtils]: 38: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:25,740 INFO L290 TraceCheckUtils]: 39: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:25,740 INFO L290 TraceCheckUtils]: 40: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,741 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12215#true} {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:29:25,741 INFO L272 TraceCheckUtils]: 42: Hoare triple {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:25,741 INFO L290 TraceCheckUtils]: 43: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:25,741 INFO L290 TraceCheckUtils]: 44: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:25,741 INFO L290 TraceCheckUtils]: 45: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,741 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {12215#true} {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:29:25,743 INFO L290 TraceCheckUtils]: 47: Hoare triple {12308#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {12363#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:29:25,743 INFO L290 TraceCheckUtils]: 48: Hoare triple {12363#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12363#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:29:25,743 INFO L290 TraceCheckUtils]: 49: Hoare triple {12363#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(#t~post7 < 10);havoc #t~post7; {12363#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:29:25,743 INFO L272 TraceCheckUtils]: 50: Hoare triple {12363#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (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)); {12215#true} is VALID [2022-04-27 13:29:25,743 INFO L290 TraceCheckUtils]: 51: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:25,743 INFO L290 TraceCheckUtils]: 52: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:25,744 INFO L290 TraceCheckUtils]: 53: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,744 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {12215#true} {12363#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #88#return; {12363#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:29:25,744 INFO L272 TraceCheckUtils]: 55: Hoare triple {12363#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:25,744 INFO L290 TraceCheckUtils]: 56: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:25,744 INFO L290 TraceCheckUtils]: 57: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:25,744 INFO L290 TraceCheckUtils]: 58: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,745 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {12215#true} {12363#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #90#return; {12363#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:29:25,746 INFO L290 TraceCheckUtils]: 60: Hoare triple {12363#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (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); {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:25,746 INFO L290 TraceCheckUtils]: 61: Hoare triple {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:25,747 INFO L290 TraceCheckUtils]: 62: Hoare triple {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:25,747 INFO L290 TraceCheckUtils]: 63: Hoare triple {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 10);havoc #t~post7; {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:25,747 INFO L272 TraceCheckUtils]: 64: Hoare triple {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:25,747 INFO L290 TraceCheckUtils]: 65: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:25,747 INFO L290 TraceCheckUtils]: 66: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:25,747 INFO L290 TraceCheckUtils]: 67: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,748 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12215#true} {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #88#return; {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:25,748 INFO L272 TraceCheckUtils]: 69: Hoare triple {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:25,748 INFO L290 TraceCheckUtils]: 70: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:25,748 INFO L290 TraceCheckUtils]: 71: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:25,748 INFO L290 TraceCheckUtils]: 72: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,749 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {12215#true} {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #90#return; {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:25,749 INFO L290 TraceCheckUtils]: 74: Hoare triple {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:25,749 INFO L272 TraceCheckUtils]: 75: Hoare triple {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:25,749 INFO L290 TraceCheckUtils]: 76: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:25,749 INFO L290 TraceCheckUtils]: 77: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:25,749 INFO L290 TraceCheckUtils]: 78: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:25,750 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {12215#true} {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #92#return; {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:25,750 INFO L272 TraceCheckUtils]: 80: Hoare triple {12403#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {12464#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:29:25,750 INFO L290 TraceCheckUtils]: 81: Hoare triple {12464#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12468#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:29:25,751 INFO L290 TraceCheckUtils]: 82: Hoare triple {12468#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12216#false} is VALID [2022-04-27 13:29:25,751 INFO L290 TraceCheckUtils]: 83: Hoare triple {12216#false} assume !false; {12216#false} is VALID [2022-04-27 13:29:25,751 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-27 13:29:25,751 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:29:26,260 INFO L290 TraceCheckUtils]: 83: Hoare triple {12216#false} assume !false; {12216#false} is VALID [2022-04-27 13:29:26,260 INFO L290 TraceCheckUtils]: 82: Hoare triple {12468#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12216#false} is VALID [2022-04-27 13:29:26,261 INFO L290 TraceCheckUtils]: 81: Hoare triple {12464#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12468#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:29:26,261 INFO L272 TraceCheckUtils]: 80: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {12464#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:29:26,262 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {12215#true} {12253#(= main_~d~0 (mod main_~B~0 4294967296))} #92#return; {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:26,262 INFO L290 TraceCheckUtils]: 78: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,262 INFO L290 TraceCheckUtils]: 77: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:26,262 INFO L290 TraceCheckUtils]: 76: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:26,262 INFO L272 TraceCheckUtils]: 75: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:26,262 INFO L290 TraceCheckUtils]: 74: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:26,262 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {12215#true} {12253#(= main_~d~0 (mod main_~B~0 4294967296))} #90#return; {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:26,263 INFO L290 TraceCheckUtils]: 72: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,263 INFO L290 TraceCheckUtils]: 71: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:26,263 INFO L290 TraceCheckUtils]: 70: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:26,263 INFO L272 TraceCheckUtils]: 69: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:26,263 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12215#true} {12253#(= main_~d~0 (mod main_~B~0 4294967296))} #88#return; {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:26,263 INFO L290 TraceCheckUtils]: 67: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,263 INFO L290 TraceCheckUtils]: 66: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:26,263 INFO L290 TraceCheckUtils]: 65: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:26,264 INFO L272 TraceCheckUtils]: 64: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:26,264 INFO L290 TraceCheckUtils]: 63: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(#t~post7 < 10);havoc #t~post7; {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:26,264 INFO L290 TraceCheckUtils]: 62: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:26,264 INFO L290 TraceCheckUtils]: 61: Hoare triple {12253#(= main_~d~0 (mod main_~B~0 4294967296))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:26,266 INFO L290 TraceCheckUtils]: 60: Hoare triple {12544#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {12253#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:26,266 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {12215#true} {12544#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #90#return; {12544#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:29:26,266 INFO L290 TraceCheckUtils]: 58: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,266 INFO L290 TraceCheckUtils]: 57: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:26,266 INFO L290 TraceCheckUtils]: 56: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:26,266 INFO L272 TraceCheckUtils]: 55: Hoare triple {12544#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:26,267 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {12215#true} {12544#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #88#return; {12544#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:29:26,267 INFO L290 TraceCheckUtils]: 53: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,267 INFO L290 TraceCheckUtils]: 52: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:26,267 INFO L290 TraceCheckUtils]: 51: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:26,267 INFO L272 TraceCheckUtils]: 50: Hoare triple {12544#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:26,268 INFO L290 TraceCheckUtils]: 49: Hoare triple {12544#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(#t~post7 < 10);havoc #t~post7; {12544#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:29:26,269 INFO L290 TraceCheckUtils]: 48: Hoare triple {12544#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12544#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:29:26,269 INFO L290 TraceCheckUtils]: 47: Hoare triple {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !(~r~0 >= ~d~0); {12544#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:29:26,270 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {12215#true} {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #86#return; {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:29:26,270 INFO L290 TraceCheckUtils]: 45: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,270 INFO L290 TraceCheckUtils]: 44: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:26,270 INFO L290 TraceCheckUtils]: 43: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:26,270 INFO L272 TraceCheckUtils]: 42: Hoare triple {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:26,271 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12215#true} {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #84#return; {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:29:26,271 INFO L290 TraceCheckUtils]: 40: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,271 INFO L290 TraceCheckUtils]: 39: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:26,271 INFO L290 TraceCheckUtils]: 38: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:26,271 INFO L272 TraceCheckUtils]: 37: Hoare triple {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:26,271 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12215#true} {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #82#return; {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:29:26,271 INFO L290 TraceCheckUtils]: 35: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,271 INFO L290 TraceCheckUtils]: 34: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:26,271 INFO L290 TraceCheckUtils]: 33: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:26,272 INFO L272 TraceCheckUtils]: 32: Hoare triple {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:26,272 INFO L290 TraceCheckUtils]: 31: Hoare triple {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !!(#t~post6 < 10);havoc #t~post6; {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:29:26,273 INFO L290 TraceCheckUtils]: 30: Hoare triple {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:29:26,274 INFO L290 TraceCheckUtils]: 29: Hoare triple {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12584#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:29:26,275 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12215#true} {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #86#return; {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:29:26,275 INFO L290 TraceCheckUtils]: 27: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,275 INFO L290 TraceCheckUtils]: 26: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:26,275 INFO L290 TraceCheckUtils]: 25: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:26,275 INFO L272 TraceCheckUtils]: 24: Hoare triple {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:26,275 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12215#true} {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #84#return; {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:29:26,275 INFO L290 TraceCheckUtils]: 22: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,275 INFO L290 TraceCheckUtils]: 21: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:26,275 INFO L290 TraceCheckUtils]: 20: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:26,275 INFO L272 TraceCheckUtils]: 19: Hoare triple {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:26,276 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12215#true} {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #82#return; {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:29:26,276 INFO L290 TraceCheckUtils]: 17: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,276 INFO L290 TraceCheckUtils]: 16: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:26,276 INFO L290 TraceCheckUtils]: 15: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:26,276 INFO L272 TraceCheckUtils]: 14: Hoare triple {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:26,276 INFO L290 TraceCheckUtils]: 13: Hoare triple {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:29:26,277 INFO L290 TraceCheckUtils]: 12: Hoare triple {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:29:26,277 INFO L290 TraceCheckUtils]: 11: Hoare triple {12215#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12639#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:29:26,277 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12215#true} {12215#true} #80#return; {12215#true} is VALID [2022-04-27 13:29:26,277 INFO L290 TraceCheckUtils]: 9: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,277 INFO L290 TraceCheckUtils]: 8: Hoare triple {12215#true} assume !(0 == ~cond); {12215#true} is VALID [2022-04-27 13:29:26,277 INFO L290 TraceCheckUtils]: 7: Hoare triple {12215#true} ~cond := #in~cond; {12215#true} is VALID [2022-04-27 13:29:26,278 INFO L272 TraceCheckUtils]: 6: Hoare triple {12215#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12215#true} is VALID [2022-04-27 13:29:26,278 INFO L290 TraceCheckUtils]: 5: Hoare triple {12215#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;~B~0 := #t~nondet5;havoc #t~nondet5; {12215#true} is VALID [2022-04-27 13:29:26,278 INFO L272 TraceCheckUtils]: 4: Hoare triple {12215#true} call #t~ret8 := main(); {12215#true} is VALID [2022-04-27 13:29:26,278 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12215#true} {12215#true} #96#return; {12215#true} is VALID [2022-04-27 13:29:26,278 INFO L290 TraceCheckUtils]: 2: Hoare triple {12215#true} assume true; {12215#true} is VALID [2022-04-27 13:29:26,278 INFO L290 TraceCheckUtils]: 1: Hoare triple {12215#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);~counter~0 := 0; {12215#true} is VALID [2022-04-27 13:29:26,278 INFO L272 TraceCheckUtils]: 0: Hoare triple {12215#true} call ULTIMATE.init(); {12215#true} is VALID [2022-04-27 13:29:26,278 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-27 13:29:26,278 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:29:26,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1536456766] [2022-04-27 13:29:26,278 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:29:26,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2032704364] [2022-04-27 13:29:26,279 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2032704364] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:29:26,279 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:29:26,279 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-27 13:29:26,279 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [271812924] [2022-04-27 13:29:26,279 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:29:26,279 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) Word has length 84 [2022-04-27 13:29:26,279 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:29:26,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:29:26,349 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:26,349 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 13:29:26,349 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:29:26,350 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 13:29:26,350 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:29:26,350 INFO L87 Difference]: Start difference. First operand 248 states and 293 transitions. Second operand has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:29:27,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:27,799 INFO L93 Difference]: Finished difference Result 254 states and 299 transitions. [2022-04-27 13:29:27,799 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:29:27,799 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) Word has length 84 [2022-04-27 13:29:27,800 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:29:27,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:29:27,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 82 transitions. [2022-04-27 13:29:27,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:29:27,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 82 transitions. [2022-04-27 13:29:27,802 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 82 transitions. [2022-04-27 13:29:27,880 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:27,883 INFO L225 Difference]: With dead ends: 254 [2022-04-27 13:29:27,883 INFO L226 Difference]: Without dead ends: 229 [2022-04-27 13:29:27,883 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 157 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:29:27,884 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 9 mSDsluCounter, 251 mSDsCounter, 0 mSdLazyCounter, 179 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 312 SdHoareTripleChecker+Invalid, 191 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 179 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-27 13:29:27,884 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 312 Invalid, 191 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 179 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-27 13:29:27,884 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 229 states. [2022-04-27 13:29:28,006 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 229 to 229. [2022-04-27 13:29:28,006 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:29:28,007 INFO L82 GeneralOperation]: Start isEquivalent. First operand 229 states. Second operand has 229 states, 153 states have (on average 1.1764705882352942) internal successors, (180), 158 states have internal predecessors, (180), 47 states have call successors, (47), 30 states have call predecessors, (47), 28 states have return successors, (44), 40 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 13:29:28,007 INFO L74 IsIncluded]: Start isIncluded. First operand 229 states. Second operand has 229 states, 153 states have (on average 1.1764705882352942) internal successors, (180), 158 states have internal predecessors, (180), 47 states have call successors, (47), 30 states have call predecessors, (47), 28 states have return successors, (44), 40 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 13:29:28,007 INFO L87 Difference]: Start difference. First operand 229 states. Second operand has 229 states, 153 states have (on average 1.1764705882352942) internal successors, (180), 158 states have internal predecessors, (180), 47 states have call successors, (47), 30 states have call predecessors, (47), 28 states have return successors, (44), 40 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 13:29:28,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:28,011 INFO L93 Difference]: Finished difference Result 229 states and 271 transitions. [2022-04-27 13:29:28,011 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 271 transitions. [2022-04-27 13:29:28,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:28,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:28,011 INFO L74 IsIncluded]: Start isIncluded. First operand has 229 states, 153 states have (on average 1.1764705882352942) internal successors, (180), 158 states have internal predecessors, (180), 47 states have call successors, (47), 30 states have call predecessors, (47), 28 states have return successors, (44), 40 states have call predecessors, (44), 44 states have call successors, (44) Second operand 229 states. [2022-04-27 13:29:28,012 INFO L87 Difference]: Start difference. First operand has 229 states, 153 states have (on average 1.1764705882352942) internal successors, (180), 158 states have internal predecessors, (180), 47 states have call successors, (47), 30 states have call predecessors, (47), 28 states have return successors, (44), 40 states have call predecessors, (44), 44 states have call successors, (44) Second operand 229 states. [2022-04-27 13:29:28,015 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:28,015 INFO L93 Difference]: Finished difference Result 229 states and 271 transitions. [2022-04-27 13:29:28,015 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 271 transitions. [2022-04-27 13:29:28,016 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:28,016 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:28,016 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:29:28,016 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:29:28,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 229 states, 153 states have (on average 1.1764705882352942) internal successors, (180), 158 states have internal predecessors, (180), 47 states have call successors, (47), 30 states have call predecessors, (47), 28 states have return successors, (44), 40 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 13:29:28,019 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 271 transitions. [2022-04-27 13:29:28,020 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 271 transitions. Word has length 84 [2022-04-27 13:29:28,020 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:29:28,020 INFO L495 AbstractCegarLoop]: Abstraction has 229 states and 271 transitions. [2022-04-27 13:29:28,020 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:29:28,020 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 271 transitions. [2022-04-27 13:29:28,020 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-27 13:29:28,020 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:29:28,021 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:29:28,051 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-27 13:29:28,236 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-27 13:29:28,237 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:29:28,237 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:29:28,237 INFO L85 PathProgramCache]: Analyzing trace with hash 973212947, now seen corresponding path program 1 times [2022-04-27 13:29:28,237 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:29:28,237 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [169790887] [2022-04-27 13:29:28,237 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:28,237 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:29:28,261 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:29:28,261 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [897014981] [2022-04-27 13:29:28,261 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:28,261 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:29:28,261 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:29:28,272 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:29:28,273 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-27 13:29:28,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:28,314 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:29:28,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:28,327 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:29:29,402 INFO L272 TraceCheckUtils]: 0: Hoare triple {13851#true} call ULTIMATE.init(); {13851#true} is VALID [2022-04-27 13:29:29,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {13851#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);~counter~0 := 0; {13851#true} is VALID [2022-04-27 13:29:29,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13851#true} {13851#true} #96#return; {13851#true} is VALID [2022-04-27 13:29:29,402 INFO L272 TraceCheckUtils]: 4: Hoare triple {13851#true} call #t~ret8 := main(); {13851#true} is VALID [2022-04-27 13:29:29,402 INFO L290 TraceCheckUtils]: 5: Hoare triple {13851#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;~B~0 := #t~nondet5;havoc #t~nondet5; {13851#true} is VALID [2022-04-27 13:29:29,402 INFO L272 TraceCheckUtils]: 6: Hoare triple {13851#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {13851#true} is VALID [2022-04-27 13:29:29,402 INFO L290 TraceCheckUtils]: 7: Hoare triple {13851#true} ~cond := #in~cond; {13851#true} is VALID [2022-04-27 13:29:29,402 INFO L290 TraceCheckUtils]: 8: Hoare triple {13851#true} assume !(0 == ~cond); {13851#true} is VALID [2022-04-27 13:29:29,402 INFO L290 TraceCheckUtils]: 9: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,402 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13851#true} {13851#true} #80#return; {13851#true} is VALID [2022-04-27 13:29:29,403 INFO L290 TraceCheckUtils]: 11: Hoare triple {13851#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {13889#(<= 1 main_~p~0)} is VALID [2022-04-27 13:29:29,403 INFO L290 TraceCheckUtils]: 12: Hoare triple {13889#(<= 1 main_~p~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13889#(<= 1 main_~p~0)} is VALID [2022-04-27 13:29:29,403 INFO L290 TraceCheckUtils]: 13: Hoare triple {13889#(<= 1 main_~p~0)} assume !!(#t~post6 < 10);havoc #t~post6; {13889#(<= 1 main_~p~0)} is VALID [2022-04-27 13:29:29,403 INFO L272 TraceCheckUtils]: 14: Hoare triple {13889#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13851#true} is VALID [2022-04-27 13:29:29,403 INFO L290 TraceCheckUtils]: 15: Hoare triple {13851#true} ~cond := #in~cond; {13851#true} is VALID [2022-04-27 13:29:29,403 INFO L290 TraceCheckUtils]: 16: Hoare triple {13851#true} assume !(0 == ~cond); {13851#true} is VALID [2022-04-27 13:29:29,403 INFO L290 TraceCheckUtils]: 17: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,404 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13851#true} {13889#(<= 1 main_~p~0)} #82#return; {13889#(<= 1 main_~p~0)} is VALID [2022-04-27 13:29:29,404 INFO L272 TraceCheckUtils]: 19: Hoare triple {13889#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13851#true} is VALID [2022-04-27 13:29:29,404 INFO L290 TraceCheckUtils]: 20: Hoare triple {13851#true} ~cond := #in~cond; {13851#true} is VALID [2022-04-27 13:29:29,404 INFO L290 TraceCheckUtils]: 21: Hoare triple {13851#true} assume !(0 == ~cond); {13851#true} is VALID [2022-04-27 13:29:29,404 INFO L290 TraceCheckUtils]: 22: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,404 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13851#true} {13889#(<= 1 main_~p~0)} #84#return; {13889#(<= 1 main_~p~0)} is VALID [2022-04-27 13:29:29,404 INFO L272 TraceCheckUtils]: 24: Hoare triple {13889#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13851#true} is VALID [2022-04-27 13:29:29,404 INFO L290 TraceCheckUtils]: 25: Hoare triple {13851#true} ~cond := #in~cond; {13851#true} is VALID [2022-04-27 13:29:29,404 INFO L290 TraceCheckUtils]: 26: Hoare triple {13851#true} assume !(0 == ~cond); {13851#true} is VALID [2022-04-27 13:29:29,404 INFO L290 TraceCheckUtils]: 27: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,405 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13851#true} {13889#(<= 1 main_~p~0)} #86#return; {13889#(<= 1 main_~p~0)} is VALID [2022-04-27 13:29:29,405 INFO L290 TraceCheckUtils]: 29: Hoare triple {13889#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13944#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:29:29,406 INFO L290 TraceCheckUtils]: 30: Hoare triple {13944#(<= 1 (div main_~p~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13944#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:29:29,406 INFO L290 TraceCheckUtils]: 31: Hoare triple {13944#(<= 1 (div main_~p~0 2))} assume !!(#t~post6 < 10);havoc #t~post6; {13944#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:29:29,406 INFO L272 TraceCheckUtils]: 32: Hoare triple {13944#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13851#true} is VALID [2022-04-27 13:29:29,406 INFO L290 TraceCheckUtils]: 33: Hoare triple {13851#true} ~cond := #in~cond; {13851#true} is VALID [2022-04-27 13:29:29,406 INFO L290 TraceCheckUtils]: 34: Hoare triple {13851#true} assume !(0 == ~cond); {13851#true} is VALID [2022-04-27 13:29:29,406 INFO L290 TraceCheckUtils]: 35: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,406 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13851#true} {13944#(<= 1 (div main_~p~0 2))} #82#return; {13944#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:29:29,406 INFO L272 TraceCheckUtils]: 37: Hoare triple {13944#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13851#true} is VALID [2022-04-27 13:29:29,407 INFO L290 TraceCheckUtils]: 38: Hoare triple {13851#true} ~cond := #in~cond; {13851#true} is VALID [2022-04-27 13:29:29,407 INFO L290 TraceCheckUtils]: 39: Hoare triple {13851#true} assume !(0 == ~cond); {13851#true} is VALID [2022-04-27 13:29:29,407 INFO L290 TraceCheckUtils]: 40: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,407 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13851#true} {13944#(<= 1 (div main_~p~0 2))} #84#return; {13944#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:29:29,407 INFO L272 TraceCheckUtils]: 42: Hoare triple {13944#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13851#true} is VALID [2022-04-27 13:29:29,407 INFO L290 TraceCheckUtils]: 43: Hoare triple {13851#true} ~cond := #in~cond; {13851#true} is VALID [2022-04-27 13:29:29,407 INFO L290 TraceCheckUtils]: 44: Hoare triple {13851#true} assume !(0 == ~cond); {13851#true} is VALID [2022-04-27 13:29:29,407 INFO L290 TraceCheckUtils]: 45: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,407 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13851#true} {13944#(<= 1 (div main_~p~0 2))} #86#return; {13944#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:29:29,408 INFO L290 TraceCheckUtils]: 47: Hoare triple {13944#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13999#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:29,408 INFO L290 TraceCheckUtils]: 48: Hoare triple {13999#(<= 1 (div (div main_~p~0 2) 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13999#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:29,408 INFO L290 TraceCheckUtils]: 49: Hoare triple {13999#(<= 1 (div (div main_~p~0 2) 2))} assume !!(#t~post6 < 10);havoc #t~post6; {13999#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:29,409 INFO L272 TraceCheckUtils]: 50: Hoare triple {13999#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13851#true} is VALID [2022-04-27 13:29:29,409 INFO L290 TraceCheckUtils]: 51: Hoare triple {13851#true} ~cond := #in~cond; {13851#true} is VALID [2022-04-27 13:29:29,409 INFO L290 TraceCheckUtils]: 52: Hoare triple {13851#true} assume !(0 == ~cond); {13851#true} is VALID [2022-04-27 13:29:29,409 INFO L290 TraceCheckUtils]: 53: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,413 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13851#true} {13999#(<= 1 (div (div main_~p~0 2) 2))} #82#return; {13999#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:29,413 INFO L272 TraceCheckUtils]: 55: Hoare triple {13999#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13851#true} is VALID [2022-04-27 13:29:29,413 INFO L290 TraceCheckUtils]: 56: Hoare triple {13851#true} ~cond := #in~cond; {13851#true} is VALID [2022-04-27 13:29:29,413 INFO L290 TraceCheckUtils]: 57: Hoare triple {13851#true} assume !(0 == ~cond); {13851#true} is VALID [2022-04-27 13:29:29,413 INFO L290 TraceCheckUtils]: 58: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,419 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13851#true} {13999#(<= 1 (div (div main_~p~0 2) 2))} #84#return; {13999#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:29,419 INFO L272 TraceCheckUtils]: 60: Hoare triple {13999#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13851#true} is VALID [2022-04-27 13:29:29,419 INFO L290 TraceCheckUtils]: 61: Hoare triple {13851#true} ~cond := #in~cond; {13851#true} is VALID [2022-04-27 13:29:29,419 INFO L290 TraceCheckUtils]: 62: Hoare triple {13851#true} assume !(0 == ~cond); {13851#true} is VALID [2022-04-27 13:29:29,419 INFO L290 TraceCheckUtils]: 63: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,419 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13851#true} {13999#(<= 1 (div (div main_~p~0 2) 2))} #86#return; {13999#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:29,420 INFO L290 TraceCheckUtils]: 65: Hoare triple {13999#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {13999#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:29,420 INFO L290 TraceCheckUtils]: 66: Hoare triple {13999#(<= 1 (div (div main_~p~0 2) 2))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13999#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:29,420 INFO L290 TraceCheckUtils]: 67: Hoare triple {13999#(<= 1 (div (div main_~p~0 2) 2))} assume !!(#t~post7 < 10);havoc #t~post7; {13999#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:29,420 INFO L272 TraceCheckUtils]: 68: Hoare triple {13999#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13851#true} is VALID [2022-04-27 13:29:29,420 INFO L290 TraceCheckUtils]: 69: Hoare triple {13851#true} ~cond := #in~cond; {13851#true} is VALID [2022-04-27 13:29:29,420 INFO L290 TraceCheckUtils]: 70: Hoare triple {13851#true} assume !(0 == ~cond); {13851#true} is VALID [2022-04-27 13:29:29,420 INFO L290 TraceCheckUtils]: 71: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,421 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13851#true} {13999#(<= 1 (div (div main_~p~0 2) 2))} #88#return; {13999#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:29,421 INFO L272 TraceCheckUtils]: 73: Hoare triple {13999#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13851#true} is VALID [2022-04-27 13:29:29,421 INFO L290 TraceCheckUtils]: 74: Hoare triple {13851#true} ~cond := #in~cond; {13851#true} is VALID [2022-04-27 13:29:29,421 INFO L290 TraceCheckUtils]: 75: Hoare triple {13851#true} assume !(0 == ~cond); {13851#true} is VALID [2022-04-27 13:29:29,421 INFO L290 TraceCheckUtils]: 76: Hoare triple {13851#true} assume true; {13851#true} is VALID [2022-04-27 13:29:29,421 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {13851#true} {13999#(<= 1 (div (div main_~p~0 2) 2))} #90#return; {13999#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:29,421 INFO L290 TraceCheckUtils]: 78: Hoare triple {13999#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {13852#false} is VALID [2022-04-27 13:29:29,421 INFO L272 TraceCheckUtils]: 79: Hoare triple {13852#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13852#false} is VALID [2022-04-27 13:29:29,422 INFO L290 TraceCheckUtils]: 80: Hoare triple {13852#false} ~cond := #in~cond; {13852#false} is VALID [2022-04-27 13:29:29,422 INFO L290 TraceCheckUtils]: 81: Hoare triple {13852#false} assume !(0 == ~cond); {13852#false} is VALID [2022-04-27 13:29:29,422 INFO L290 TraceCheckUtils]: 82: Hoare triple {13852#false} assume true; {13852#false} is VALID [2022-04-27 13:29:29,422 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {13852#false} {13852#false} #92#return; {13852#false} is VALID [2022-04-27 13:29:29,422 INFO L272 TraceCheckUtils]: 84: Hoare triple {13852#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {13852#false} is VALID [2022-04-27 13:29:29,422 INFO L290 TraceCheckUtils]: 85: Hoare triple {13852#false} ~cond := #in~cond; {13852#false} is VALID [2022-04-27 13:29:29,422 INFO L290 TraceCheckUtils]: 86: Hoare triple {13852#false} assume 0 == ~cond; {13852#false} is VALID [2022-04-27 13:29:29,422 INFO L290 TraceCheckUtils]: 87: Hoare triple {13852#false} assume !false; {13852#false} is VALID [2022-04-27 13:29:29,422 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 84 proven. 0 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2022-04-27 13:29:29,422 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:29:29,422 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:29:29,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [169790887] [2022-04-27 13:29:29,423 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:29:29,423 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [897014981] [2022-04-27 13:29:29,423 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [897014981] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:29:29,423 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:29:29,423 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:29:29,423 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [471169232] [2022-04-27 13:29:29,423 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:29:29,423 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 88 [2022-04-27 13:29:29,423 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:29:29,424 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:29:29,459 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:29,460 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:29:29,460 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:29:29,460 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:29:29,460 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:29:29,460 INFO L87 Difference]: Start difference. First operand 229 states and 271 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:29:29,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:29,752 INFO L93 Difference]: Finished difference Result 249 states and 296 transitions. [2022-04-27 13:29:29,752 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:29:29,752 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 88 [2022-04-27 13:29:29,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:29:29,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:29:29,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 94 transitions. [2022-04-27 13:29:29,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:29:29,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 94 transitions. [2022-04-27 13:29:29,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 94 transitions. [2022-04-27 13:29:29,876 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:29,879 INFO L225 Difference]: With dead ends: 249 [2022-04-27 13:29:29,879 INFO L226 Difference]: Without dead ends: 228 [2022-04-27 13:29:29,880 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 84 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:29:29,880 INFO L413 NwaCegarLoop]: 63 mSDtfsCounter, 25 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:29:29,881 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 103 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:29:29,881 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 228 states. [2022-04-27 13:29:29,998 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 228 to 218. [2022-04-27 13:29:29,998 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:29:29,999 INFO L82 GeneralOperation]: Start isEquivalent. First operand 228 states. Second operand has 218 states, 147 states have (on average 1.1360544217687074) internal successors, (167), 150 states have internal predecessors, (167), 43 states have call successors, (43), 28 states have call predecessors, (43), 27 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:29:29,999 INFO L74 IsIncluded]: Start isIncluded. First operand 228 states. Second operand has 218 states, 147 states have (on average 1.1360544217687074) internal successors, (167), 150 states have internal predecessors, (167), 43 states have call successors, (43), 28 states have call predecessors, (43), 27 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:29:29,999 INFO L87 Difference]: Start difference. First operand 228 states. Second operand has 218 states, 147 states have (on average 1.1360544217687074) internal successors, (167), 150 states have internal predecessors, (167), 43 states have call successors, (43), 28 states have call predecessors, (43), 27 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:29:30,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:30,003 INFO L93 Difference]: Finished difference Result 228 states and 267 transitions. [2022-04-27 13:29:30,003 INFO L276 IsEmpty]: Start isEmpty. Operand 228 states and 267 transitions. [2022-04-27 13:29:30,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:30,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:30,004 INFO L74 IsIncluded]: Start isIncluded. First operand has 218 states, 147 states have (on average 1.1360544217687074) internal successors, (167), 150 states have internal predecessors, (167), 43 states have call successors, (43), 28 states have call predecessors, (43), 27 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) Second operand 228 states. [2022-04-27 13:29:30,004 INFO L87 Difference]: Start difference. First operand has 218 states, 147 states have (on average 1.1360544217687074) internal successors, (167), 150 states have internal predecessors, (167), 43 states have call successors, (43), 28 states have call predecessors, (43), 27 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) Second operand 228 states. [2022-04-27 13:29:30,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:30,007 INFO L93 Difference]: Finished difference Result 228 states and 267 transitions. [2022-04-27 13:29:30,007 INFO L276 IsEmpty]: Start isEmpty. Operand 228 states and 267 transitions. [2022-04-27 13:29:30,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:30,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:30,008 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:29:30,008 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:29:30,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 218 states, 147 states have (on average 1.1360544217687074) internal successors, (167), 150 states have internal predecessors, (167), 43 states have call successors, (43), 28 states have call predecessors, (43), 27 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:29:30,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 218 states to 218 states and 251 transitions. [2022-04-27 13:29:30,012 INFO L78 Accepts]: Start accepts. Automaton has 218 states and 251 transitions. Word has length 88 [2022-04-27 13:29:30,012 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:29:30,012 INFO L495 AbstractCegarLoop]: Abstraction has 218 states and 251 transitions. [2022-04-27 13:29:30,012 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:29:30,012 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 251 transitions. [2022-04-27 13:29:30,012 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-27 13:29:30,013 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:29:30,013 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:29:30,045 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-27 13:29:30,225 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-27 13:29:30,226 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:29:30,226 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:29:30,226 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 3 times [2022-04-27 13:29:30,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:29:30,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1683833018] [2022-04-27 13:29:30,227 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:30,227 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:29:30,240 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:29:30,240 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1293042839] [2022-04-27 13:29:30,240 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:29:30,240 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:29:30,240 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:29:30,242 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:29:30,243 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-27 13:29:30,364 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:29:30,365 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:29:30,366 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-27 13:29:30,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:30,381 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:29:32,023 INFO L272 TraceCheckUtils]: 0: Hoare triple {15212#true} call ULTIMATE.init(); {15212#true} is VALID [2022-04-27 13:29:32,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {15212#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);~counter~0 := 0; {15212#true} is VALID [2022-04-27 13:29:32,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,024 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15212#true} {15212#true} #96#return; {15212#true} is VALID [2022-04-27 13:29:32,024 INFO L272 TraceCheckUtils]: 4: Hoare triple {15212#true} call #t~ret8 := main(); {15212#true} is VALID [2022-04-27 13:29:32,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {15212#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;~B~0 := #t~nondet5;havoc #t~nondet5; {15212#true} is VALID [2022-04-27 13:29:32,024 INFO L272 TraceCheckUtils]: 6: Hoare triple {15212#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {15212#true} ~cond := #in~cond; {15238#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:29:32,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {15238#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {15242#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:29:32,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {15242#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {15242#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:29:32,025 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15242#(not (= |assume_abort_if_not_#in~cond| 0))} {15212#true} #80#return; {15249#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:32,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {15249#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:29:32,025 INFO L290 TraceCheckUtils]: 12: Hoare triple {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:29:32,026 INFO L290 TraceCheckUtils]: 13: Hoare triple {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 10);havoc #t~post6; {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:29:32,026 INFO L272 TraceCheckUtils]: 14: Hoare triple {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {15212#true} ~cond := #in~cond; {15212#true} is VALID [2022-04-27 13:29:32,026 INFO L290 TraceCheckUtils]: 16: Hoare triple {15212#true} assume !(0 == ~cond); {15212#true} is VALID [2022-04-27 13:29:32,026 INFO L290 TraceCheckUtils]: 17: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,026 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {15212#true} {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:29:32,026 INFO L272 TraceCheckUtils]: 19: Hoare triple {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,026 INFO L290 TraceCheckUtils]: 20: Hoare triple {15212#true} ~cond := #in~cond; {15212#true} is VALID [2022-04-27 13:29:32,026 INFO L290 TraceCheckUtils]: 21: Hoare triple {15212#true} assume !(0 == ~cond); {15212#true} is VALID [2022-04-27 13:29:32,027 INFO L290 TraceCheckUtils]: 22: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,027 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15212#true} {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:29:32,027 INFO L272 TraceCheckUtils]: 24: Hoare triple {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,027 INFO L290 TraceCheckUtils]: 25: Hoare triple {15212#true} ~cond := #in~cond; {15212#true} is VALID [2022-04-27 13:29:32,027 INFO L290 TraceCheckUtils]: 26: Hoare triple {15212#true} assume !(0 == ~cond); {15212#true} is VALID [2022-04-27 13:29:32,027 INFO L290 TraceCheckUtils]: 27: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,027 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15212#true} {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:29:32,028 INFO L290 TraceCheckUtils]: 29: Hoare triple {15253#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:29:32,029 INFO L290 TraceCheckUtils]: 30: Hoare triple {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:29:32,029 INFO L290 TraceCheckUtils]: 31: Hoare triple {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 10);havoc #t~post6; {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:29:32,029 INFO L272 TraceCheckUtils]: 32: Hoare triple {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,029 INFO L290 TraceCheckUtils]: 33: Hoare triple {15212#true} ~cond := #in~cond; {15212#true} is VALID [2022-04-27 13:29:32,029 INFO L290 TraceCheckUtils]: 34: Hoare triple {15212#true} assume !(0 == ~cond); {15212#true} is VALID [2022-04-27 13:29:32,029 INFO L290 TraceCheckUtils]: 35: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,029 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15212#true} {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:29:32,029 INFO L272 TraceCheckUtils]: 37: Hoare triple {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,030 INFO L290 TraceCheckUtils]: 38: Hoare triple {15212#true} ~cond := #in~cond; {15212#true} is VALID [2022-04-27 13:29:32,030 INFO L290 TraceCheckUtils]: 39: Hoare triple {15212#true} assume !(0 == ~cond); {15212#true} is VALID [2022-04-27 13:29:32,030 INFO L290 TraceCheckUtils]: 40: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,030 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15212#true} {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:29:32,030 INFO L272 TraceCheckUtils]: 42: Hoare triple {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,030 INFO L290 TraceCheckUtils]: 43: Hoare triple {15212#true} ~cond := #in~cond; {15212#true} is VALID [2022-04-27 13:29:32,030 INFO L290 TraceCheckUtils]: 44: Hoare triple {15212#true} assume !(0 == ~cond); {15212#true} is VALID [2022-04-27 13:29:32,030 INFO L290 TraceCheckUtils]: 45: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,031 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {15212#true} {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:29:32,031 INFO L290 TraceCheckUtils]: 47: Hoare triple {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:29:32,034 INFO L290 TraceCheckUtils]: 48: Hoare triple {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:29:32,037 INFO L290 TraceCheckUtils]: 49: Hoare triple {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 10);havoc #t~post6; {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:29:32,037 INFO L272 TraceCheckUtils]: 50: Hoare triple {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,037 INFO L290 TraceCheckUtils]: 51: Hoare triple {15212#true} ~cond := #in~cond; {15212#true} is VALID [2022-04-27 13:29:32,037 INFO L290 TraceCheckUtils]: 52: Hoare triple {15212#true} assume !(0 == ~cond); {15212#true} is VALID [2022-04-27 13:29:32,037 INFO L290 TraceCheckUtils]: 53: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,037 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {15212#true} {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:29:32,038 INFO L272 TraceCheckUtils]: 55: Hoare triple {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,038 INFO L290 TraceCheckUtils]: 56: Hoare triple {15212#true} ~cond := #in~cond; {15212#true} is VALID [2022-04-27 13:29:32,038 INFO L290 TraceCheckUtils]: 57: Hoare triple {15212#true} assume !(0 == ~cond); {15212#true} is VALID [2022-04-27 13:29:32,038 INFO L290 TraceCheckUtils]: 58: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,038 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15212#true} {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:29:32,038 INFO L272 TraceCheckUtils]: 60: Hoare triple {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,038 INFO L290 TraceCheckUtils]: 61: Hoare triple {15212#true} ~cond := #in~cond; {15212#true} is VALID [2022-04-27 13:29:32,038 INFO L290 TraceCheckUtils]: 62: Hoare triple {15212#true} assume !(0 == ~cond); {15212#true} is VALID [2022-04-27 13:29:32,038 INFO L290 TraceCheckUtils]: 63: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,039 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {15212#true} {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:29:32,039 INFO L290 TraceCheckUtils]: 65: Hoare triple {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:29:32,039 INFO L290 TraceCheckUtils]: 66: Hoare triple {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:29:32,040 INFO L290 TraceCheckUtils]: 67: Hoare triple {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post7 < 10);havoc #t~post7; {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:29:32,040 INFO L272 TraceCheckUtils]: 68: Hoare triple {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,040 INFO L290 TraceCheckUtils]: 69: Hoare triple {15212#true} ~cond := #in~cond; {15212#true} is VALID [2022-04-27 13:29:32,040 INFO L290 TraceCheckUtils]: 70: Hoare triple {15212#true} assume !(0 == ~cond); {15212#true} is VALID [2022-04-27 13:29:32,040 INFO L290 TraceCheckUtils]: 71: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,040 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15212#true} {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #88#return; {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:29:32,040 INFO L272 TraceCheckUtils]: 73: Hoare triple {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,040 INFO L290 TraceCheckUtils]: 74: Hoare triple {15212#true} ~cond := #in~cond; {15212#true} is VALID [2022-04-27 13:29:32,040 INFO L290 TraceCheckUtils]: 75: Hoare triple {15212#true} assume !(0 == ~cond); {15212#true} is VALID [2022-04-27 13:29:32,040 INFO L290 TraceCheckUtils]: 76: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,041 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {15212#true} {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #90#return; {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:29:32,042 INFO L290 TraceCheckUtils]: 78: Hoare triple {15363#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:29:32,043 INFO L290 TraceCheckUtils]: 79: Hoare triple {15308#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15460#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:32,043 INFO L290 TraceCheckUtils]: 80: Hoare triple {15460#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15460#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:32,043 INFO L290 TraceCheckUtils]: 81: Hoare triple {15460#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 10);havoc #t~post7; {15460#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:32,043 INFO L272 TraceCheckUtils]: 82: Hoare triple {15460#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,043 INFO L290 TraceCheckUtils]: 83: Hoare triple {15212#true} ~cond := #in~cond; {15212#true} is VALID [2022-04-27 13:29:32,043 INFO L290 TraceCheckUtils]: 84: Hoare triple {15212#true} assume !(0 == ~cond); {15212#true} is VALID [2022-04-27 13:29:32,043 INFO L290 TraceCheckUtils]: 85: Hoare triple {15212#true} assume true; {15212#true} is VALID [2022-04-27 13:29:32,044 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {15212#true} {15460#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #88#return; {15460#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:32,044 INFO L272 TraceCheckUtils]: 87: Hoare triple {15460#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15212#true} is VALID [2022-04-27 13:29:32,044 INFO L290 TraceCheckUtils]: 88: Hoare triple {15212#true} ~cond := #in~cond; {15488#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:29:32,044 INFO L290 TraceCheckUtils]: 89: Hoare triple {15488#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15492#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:29:32,044 INFO L290 TraceCheckUtils]: 90: Hoare triple {15492#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15492#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:29:32,045 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {15492#(not (= |__VERIFIER_assert_#in~cond| 0))} {15460#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #90#return; {15460#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:29:32,046 INFO L290 TraceCheckUtils]: 92: Hoare triple {15460#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} 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); {15502#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 2) (<= 1 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 2 (mod main_~B~0 4294967296)))) (= main_~p~0 1))} is VALID [2022-04-27 13:29:32,046 INFO L290 TraceCheckUtils]: 93: Hoare triple {15502#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 2) (<= 1 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 2 (mod main_~B~0 4294967296)))) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15506#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-27 13:29:32,047 INFO L290 TraceCheckUtils]: 94: Hoare triple {15506#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15506#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-27 13:29:32,047 INFO L290 TraceCheckUtils]: 95: Hoare triple {15506#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} assume !!(#t~post7 < 10);havoc #t~post7; {15506#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-27 13:29:32,048 INFO L272 TraceCheckUtils]: 96: Hoare triple {15506#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15516#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:29:32,048 INFO L290 TraceCheckUtils]: 97: Hoare triple {15516#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15520#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:29:32,048 INFO L290 TraceCheckUtils]: 98: Hoare triple {15520#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15213#false} is VALID [2022-04-27 13:29:32,048 INFO L290 TraceCheckUtils]: 99: Hoare triple {15213#false} assume !false; {15213#false} is VALID [2022-04-27 13:29:32,048 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 61 proven. 31 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-27 13:29:32,049 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:30:14,149 WARN L232 SmtUtils]: Spent 18.29s on a formula simplification that was a NOOP. DAG size: 53 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:32:59,969 WARN L232 SmtUtils]: Spent 48.54s on a formula simplification that was a NOOP. DAG size: 114 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)