/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_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:24:42,945 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:24:42,968 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:24:43,025 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:24:43,025 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:24:43,026 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:24:43,029 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:24:43,031 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:24:43,033 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:24:43,038 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:24:43,039 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:24:43,040 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:24:43,040 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:24:43,040 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:24:43,041 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:24:43,042 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:24:43,043 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:24:43,043 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:24:43,044 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:24:43,046 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:24:43,047 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:24:43,051 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:24:43,053 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:24:43,055 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:24:43,056 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:24:43,058 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:24:43,058 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:24:43,058 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:24:43,059 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:24:43,059 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:24:43,060 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:24:43,060 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:24:43,061 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:24:43,061 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:24:43,061 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:24:43,062 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:24:43,062 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:24:43,062 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:24:43,063 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:24:43,063 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:24:43,063 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:24:43,067 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:24:43,068 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:24:43,087 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:24:43,087 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:24:43,087 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:24:43,088 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:24:43,088 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:24:43,088 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:24:43,089 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:24:43,089 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:24:43,089 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:24:43,089 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:24:43,089 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:24:43,089 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:24:43,089 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:24:43,089 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:24:43,089 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:24:43,090 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:24:43,090 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:24:43,090 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:24:43,090 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:24:43,090 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:24:43,090 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:24:43,090 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:24:43,090 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:24:43,090 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:24:43,090 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:24:43,091 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:24:43,091 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:24:43,091 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:24:43,091 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:24:43,091 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:24:43,091 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:24:43,091 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:24:43,091 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:24:43,091 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:24:43,238 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:24:43,255 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:24:43,257 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:24:43,258 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:24:43,258 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:24:43,259 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c [2022-04-27 13:24:43,308 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b024fa04a/f3e93efaa91b49468e36f0ba61e4504a/FLAGc936d5100 [2022-04-27 13:24:43,675 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:24:43,675 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound2.c [2022-04-27 13:24:43,681 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b024fa04a/f3e93efaa91b49468e36f0ba61e4504a/FLAGc936d5100 [2022-04-27 13:24:43,692 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b024fa04a/f3e93efaa91b49468e36f0ba61e4504a [2022-04-27 13:24:43,695 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:24:43,696 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:24:43,697 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:24:43,697 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:24:43,699 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:24:43,700 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:24:43" (1/1) ... [2022-04-27 13:24:43,701 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@38ab86ea and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:24:43, skipping insertion in model container [2022-04-27 13:24:43,701 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:24:43" (1/1) ... [2022-04-27 13:24:43,705 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:24:43,715 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:24:43,873 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_valuebound2.c[538,551] [2022-04-27 13:24:43,899 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:24:43,907 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:24:43,916 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_valuebound2.c[538,551] [2022-04-27 13:24:43,932 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:24:43,942 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:24:43,942 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:24:43 WrapperNode [2022-04-27 13:24:43,943 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:24:43,943 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:24:43,943 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:24:43,943 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:24:43,950 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:24:43" (1/1) ... [2022-04-27 13:24:43,950 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:24:43" (1/1) ... [2022-04-27 13:24:43,954 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:24:43" (1/1) ... [2022-04-27 13:24:43,954 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:24:43" (1/1) ... [2022-04-27 13:24:43,965 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:24:43" (1/1) ... [2022-04-27 13:24:43,970 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:24:43" (1/1) ... [2022-04-27 13:24:43,973 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:24:43" (1/1) ... [2022-04-27 13:24:43,974 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:24:43,975 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:24:43,975 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:24:43,975 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:24:43,976 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:24:43" (1/1) ... [2022-04-27 13:24:43,980 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:24:43,987 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:24:43,995 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:24:44,009 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:24:44,025 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:24:44,025 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:24:44,025 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:24:44,026 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:24:44,026 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:24:44,026 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:24:44,026 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:24:44,026 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:24:44,026 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:24:44,027 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:24:44,027 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-27 13:24:44,027 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:24:44,027 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:24:44,027 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:24:44,027 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:24:44,027 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:24:44,027 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:24:44,027 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:24:44,027 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:24:44,027 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:24:44,069 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:24:44,070 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:24:44,213 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:24:44,218 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:24:44,218 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:24:44,219 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:24:44 BoogieIcfgContainer [2022-04-27 13:24:44,219 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:24:44,220 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:24:44,220 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:24:44,223 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:24:44,223 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:24:43" (1/3) ... [2022-04-27 13:24:44,223 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4e67464 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:24:44, skipping insertion in model container [2022-04-27 13:24:44,223 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:24:43" (2/3) ... [2022-04-27 13:24:44,224 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4e67464 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:24:44, skipping insertion in model container [2022-04-27 13:24:44,224 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:24:44" (3/3) ... [2022-04-27 13:24:44,225 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound2.c [2022-04-27 13:24:44,248 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:24:44,249 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:24:44,306 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:24:44,310 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@cb6c710, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@7723b3ba [2022-04-27 13:24:44,310 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:24:44,321 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:24:44,327 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:24:44,327 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:24:44,327 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:24:44,328 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:24:44,334 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:24:44,335 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-27 13:24:44,342 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:24:44,343 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1429803561] [2022-04-27 13:24:44,344 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:44,344 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:24:44,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:44,492 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:24:44,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:44,524 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-27 13:24:44,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-27 13:24:44,524 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-27 13:24:44,525 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:24:44,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:44,531 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:24:44,532 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:24:44,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:24:44,533 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-27 13:24:44,533 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:24:44,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:44,548 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:24:44,548 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:24:44,549 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:24:44,549 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-27 13:24:44,549 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:24:44,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:44,554 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:24:44,555 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:24:44,555 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:24:44,556 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-27 13:24:44,557 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:24:44,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-27 13:24:44,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-27 13:24:44,558 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-27 13:24:44,558 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-27 13:24:44,559 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-27 13:24:44,559 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {41#true} is VALID [2022-04-27 13:24:44,559 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:24:44,565 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:24:44,565 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:24:44,565 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-27 13:24:44,565 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-27 13:24:44,566 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {41#true} is VALID [2022-04-27 13:24:44,566 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:24:44,567 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:24:44,568 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:24:44,568 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-27 13:24:44,568 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-27 13:24:44,568 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:24:44,569 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:24:44,570 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:24:44,570 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-27 13:24:44,570 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-27 13:24:44,570 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-27 13:24:44,570 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-27 13:24:44,571 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-27 13:24:44,571 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-27 13:24:44,571 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-27 13:24:44,571 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:24:44,572 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:24:44,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1429803561] [2022-04-27 13:24:44,572 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1429803561] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:24:44,573 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:24:44,573 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:24:44,576 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [734068888] [2022-04-27 13:24:44,576 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:24:44,580 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 13:24:44,581 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:24:44,582 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:24:44,615 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:44,615 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:24:44,615 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:24:44,636 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:24:44,637 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:24:44,639 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:24:44,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:44,813 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-27 13:24:44,813 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:24:44,813 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 13:24:44,813 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:24:44,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:24:44,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-27 13:24:44,826 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:24:44,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-27 13:24:44,830 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-27 13:24:44,959 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:44,965 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:24:44,965 INFO L226 Difference]: Without dead ends: 33 [2022-04-27 13:24:44,967 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:24:44,969 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:24:44,970 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:24:44,979 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-27 13:24:44,988 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-27 13:24:44,988 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:24:44,989 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:24:44,989 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:24:44,990 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:24:44,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:44,993 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:24:44,993 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:24:44,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:44,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:44,994 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-27 13:24:44,995 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-27 13:24:44,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:44,998 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:24:44,998 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:24:44,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:44,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:44,998 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:24:44,999 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:24:45,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:24:45,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-27 13:24:45,011 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-27 13:24:45,011 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:24:45,011 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-27 13:24:45,012 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:24:45,012 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:24:45,012 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:24:45,012 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:24:45,013 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:24:45,013 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:24:45,013 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:24:45,013 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:24:45,014 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-27 13:24:45,014 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:24:45,014 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [421783188] [2022-04-27 13:24:45,014 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:45,014 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:24:45,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:45,085 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:24:45,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:45,091 INFO L290 TraceCheckUtils]: 0: Hoare triple {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {275#true} is VALID [2022-04-27 13:24:45,091 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:24:45,091 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-27 13:24:45,091 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:24:45,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:45,095 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:24:45,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:24:45,095 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:24:45,096 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-27 13:24:45,096 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:24:45,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:45,100 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:24:45,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:24:45,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:24:45,100 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-27 13:24:45,100 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:24:45,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:45,104 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:24:45,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:24:45,104 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:24:45,104 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-27 13:24:45,105 INFO L272 TraceCheckUtils]: 0: Hoare triple {275#true} call ULTIMATE.init(); {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:24:45,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {275#true} is VALID [2022-04-27 13:24:45,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:24:45,106 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-27 13:24:45,106 INFO L272 TraceCheckUtils]: 4: Hoare triple {275#true} call #t~ret6 := main(); {275#true} is VALID [2022-04-27 13:24:45,106 INFO L290 TraceCheckUtils]: 5: Hoare triple {275#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; {275#true} is VALID [2022-04-27 13:24:45,106 INFO L272 TraceCheckUtils]: 6: Hoare triple {275#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {275#true} is VALID [2022-04-27 13:24:45,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:24:45,106 INFO L290 TraceCheckUtils]: 8: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:24:45,106 INFO L290 TraceCheckUtils]: 9: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:24:45,107 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-27 13:24:45,107 INFO L290 TraceCheckUtils]: 11: Hoare triple {275#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {275#true} is VALID [2022-04-27 13:24:45,107 INFO L272 TraceCheckUtils]: 12: Hoare triple {275#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {275#true} is VALID [2022-04-27 13:24:45,107 INFO L290 TraceCheckUtils]: 13: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:24:45,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:24:45,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:24:45,108 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-27 13:24:45,108 INFO L272 TraceCheckUtils]: 17: Hoare triple {275#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {275#true} is VALID [2022-04-27 13:24:45,108 INFO L290 TraceCheckUtils]: 18: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:24:45,108 INFO L290 TraceCheckUtils]: 19: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:24:45,108 INFO L290 TraceCheckUtils]: 20: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:24:45,108 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-27 13:24:45,109 INFO L290 TraceCheckUtils]: 22: Hoare triple {275#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {292#(= main_~q~0 0)} is VALID [2022-04-27 13:24:45,109 INFO L290 TraceCheckUtils]: 23: Hoare triple {292#(= main_~q~0 0)} assume !false; {292#(= main_~q~0 0)} is VALID [2022-04-27 13:24:45,110 INFO L272 TraceCheckUtils]: 24: Hoare triple {292#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:24:45,110 INFO L290 TraceCheckUtils]: 25: Hoare triple {293#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {294#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:24:45,111 INFO L290 TraceCheckUtils]: 26: Hoare triple {294#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {276#false} is VALID [2022-04-27 13:24:45,111 INFO L290 TraceCheckUtils]: 27: Hoare triple {276#false} assume !false; {276#false} is VALID [2022-04-27 13:24:45,123 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:24:45,123 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:24:45,124 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [421783188] [2022-04-27 13:24:45,124 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [421783188] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:24:45,124 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:24:45,124 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:24:45,124 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [486410705] [2022-04-27 13:24:45,125 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:24:45,126 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-27 13:24:45,126 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:24:45,127 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:24:45,142 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:45,142 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:24:45,142 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:24:45,143 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:24:45,143 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:24:45,143 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:24:45,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:45,487 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-27 13:24:45,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:24:45,488 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-27 13:24:45,488 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:24:45,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:24:45,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:24:45,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:24:45,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:24:45,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-27 13:24:45,539 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:45,541 INFO L225 Difference]: With dead ends: 46 [2022-04-27 13:24:45,541 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 13:24:45,541 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:24:45,542 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:24:45,543 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:24:45,544 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 13:24:45,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-27 13:24:45,549 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:24:45,549 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:24:45,549 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:24:45,550 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:24:45,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:45,553 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-27 13:24:45,553 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-27 13:24:45,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:45,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:45,554 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-27 13:24:45,555 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-27 13:24:45,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:45,557 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-27 13:24:45,557 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-27 13:24:45,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:45,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:45,558 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:24:45,558 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:24:45,559 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:24:45,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-27 13:24:45,561 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-27 13:24:45,561 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:24:45,561 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-27 13:24:45,561 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:24:45,562 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-27 13:24:45,562 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 13:24:45,562 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:24:45,562 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:24:45,563 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:24:45,563 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:24:45,563 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:24:45,563 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-27 13:24:45,563 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:24:45,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [996532362] [2022-04-27 13:24:45,564 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:45,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:24:45,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:45,615 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:24:45,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:45,628 INFO L290 TraceCheckUtils]: 0: Hoare triple {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {517#true} is VALID [2022-04-27 13:24:45,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:24:45,630 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-27 13:24:45,630 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:24:45,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:45,635 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:24:45,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:24:45,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:24:45,636 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-27 13:24:45,636 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:24:45,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:45,641 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:24:45,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:24:45,641 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:24:45,641 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-27 13:24:45,641 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:24:45,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:45,645 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:24:45,646 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:24:45,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:24:45,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-27 13:24:45,646 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 13:24:45,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:45,650 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:24:45,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:24:45,650 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:24:45,651 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:24:45,651 INFO L272 TraceCheckUtils]: 0: Hoare triple {517#true} call ULTIMATE.init(); {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:24:45,652 INFO L290 TraceCheckUtils]: 1: Hoare triple {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {517#true} is VALID [2022-04-27 13:24:45,652 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:24:45,652 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-27 13:24:45,652 INFO L272 TraceCheckUtils]: 4: Hoare triple {517#true} call #t~ret6 := main(); {517#true} is VALID [2022-04-27 13:24:45,652 INFO L290 TraceCheckUtils]: 5: Hoare triple {517#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; {517#true} is VALID [2022-04-27 13:24:45,652 INFO L272 TraceCheckUtils]: 6: Hoare triple {517#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {517#true} is VALID [2022-04-27 13:24:45,652 INFO L290 TraceCheckUtils]: 7: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:24:45,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:24:45,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:24:45,652 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-27 13:24:45,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {517#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {517#true} is VALID [2022-04-27 13:24:45,653 INFO L272 TraceCheckUtils]: 12: Hoare triple {517#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {517#true} is VALID [2022-04-27 13:24:45,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:24:45,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:24:45,653 INFO L290 TraceCheckUtils]: 15: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:24:45,653 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-27 13:24:45,653 INFO L272 TraceCheckUtils]: 17: Hoare triple {517#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {517#true} is VALID [2022-04-27 13:24:45,653 INFO L290 TraceCheckUtils]: 18: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:24:45,653 INFO L290 TraceCheckUtils]: 19: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:24:45,654 INFO L290 TraceCheckUtils]: 20: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:24:45,654 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-27 13:24:45,654 INFO L290 TraceCheckUtils]: 22: Hoare triple {517#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:24:45,655 INFO L290 TraceCheckUtils]: 23: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:24:45,655 INFO L272 TraceCheckUtils]: 24: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {517#true} is VALID [2022-04-27 13:24:45,655 INFO L290 TraceCheckUtils]: 25: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:24:45,655 INFO L290 TraceCheckUtils]: 26: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:24:45,655 INFO L290 TraceCheckUtils]: 27: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:24:45,656 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {517#true} {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:24:45,656 INFO L272 TraceCheckUtils]: 29: Hoare triple {534#(= 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)); {539#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:24:45,657 INFO L290 TraceCheckUtils]: 30: Hoare triple {539#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {540#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:24:45,657 INFO L290 TraceCheckUtils]: 31: Hoare triple {540#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {518#false} is VALID [2022-04-27 13:24:45,657 INFO L290 TraceCheckUtils]: 32: Hoare triple {518#false} assume !false; {518#false} is VALID [2022-04-27 13:24:45,657 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:24:45,657 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:24:45,658 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [996532362] [2022-04-27 13:24:45,658 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [996532362] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:24:45,658 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:24:45,658 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:24:45,658 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [903993196] [2022-04-27 13:24:45,658 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:24:45,658 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 13:24:45,659 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:24:45,659 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:24:45,674 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:45,674 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:24:45,674 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:24:45,675 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:24:45,675 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:24:45,675 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:24:46,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:46,044 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-27 13:24:46,044 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:24:46,044 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 13:24:46,045 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:24:46,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:24:46,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:24:46,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:24:46,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:24:46,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-27 13:24:46,114 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:46,118 INFO L225 Difference]: With dead ends: 50 [2022-04-27 13:24:46,118 INFO L226 Difference]: Without dead ends: 48 [2022-04-27 13:24:46,119 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:24:46,127 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:24:46,128 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:24:46,130 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-27 13:24:46,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-27 13:24:46,147 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:24:46,148 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:24:46,149 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:24:46,151 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:24:46,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:46,155 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-27 13:24:46,156 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-27 13:24:46,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:46,161 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:46,161 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-27 13:24:46,161 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-27 13:24:46,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:46,168 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-27 13:24:46,169 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-27 13:24:46,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:46,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:46,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:24:46,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:24:46,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:24:46,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-27 13:24:46,174 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-27 13:24:46,174 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:24:46,174 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-27 13:24:46,174 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:24:46,174 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-27 13:24:46,175 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 13:24:46,175 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:24:46,176 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:24:46,176 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 13:24:46,176 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:24:46,176 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:24:46,176 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-27 13:24:46,176 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:24:46,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [241204498] [2022-04-27 13:24:46,177 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:46,177 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:24:46,201 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:24:46,202 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1575542908] [2022-04-27 13:24:46,202 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:46,202 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:24:46,202 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:24:46,208 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:24:46,211 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:24:46,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:46,249 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:24:46,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:46,273 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:24:46,770 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-27 13:24:46,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {781#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); {781#true} is VALID [2022-04-27 13:24:46,771 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:24:46,771 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #101#return; {781#true} is VALID [2022-04-27 13:24:46,771 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-27 13:24:46,771 INFO L290 TraceCheckUtils]: 5: Hoare triple {781#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; {781#true} is VALID [2022-04-27 13:24:46,771 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {781#true} is VALID [2022-04-27 13:24:46,771 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:24:46,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:24:46,771 INFO L290 TraceCheckUtils]: 9: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:24:46,771 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {781#true} {781#true} #81#return; {781#true} is VALID [2022-04-27 13:24:46,771 INFO L290 TraceCheckUtils]: 11: Hoare triple {781#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-27 13:24:46,771 INFO L272 TraceCheckUtils]: 12: Hoare triple {781#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {781#true} is VALID [2022-04-27 13:24:46,772 INFO L290 TraceCheckUtils]: 13: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:24:46,772 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:24:46,772 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:24:46,772 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {781#true} {781#true} #83#return; {781#true} is VALID [2022-04-27 13:24:46,772 INFO L272 TraceCheckUtils]: 17: Hoare triple {781#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {781#true} is VALID [2022-04-27 13:24:46,772 INFO L290 TraceCheckUtils]: 18: Hoare triple {781#true} ~cond := #in~cond; {840#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:24:46,773 INFO L290 TraceCheckUtils]: 19: Hoare triple {840#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {844#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:24:46,773 INFO L290 TraceCheckUtils]: 20: Hoare triple {844#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {844#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:24:46,773 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {844#(not (= |assume_abort_if_not_#in~cond| 0))} {781#true} #85#return; {851#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:46,774 INFO L290 TraceCheckUtils]: 22: Hoare triple {851#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {855#(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:24:46,774 INFO L290 TraceCheckUtils]: 23: Hoare triple {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {855#(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:24:46,774 INFO L272 TraceCheckUtils]: 24: Hoare triple {855#(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)); {781#true} is VALID [2022-04-27 13:24:46,774 INFO L290 TraceCheckUtils]: 25: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:24:46,775 INFO L290 TraceCheckUtils]: 26: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:24:46,775 INFO L290 TraceCheckUtils]: 27: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:24:46,775 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {781#true} {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {855#(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:24:46,775 INFO L272 TraceCheckUtils]: 29: Hoare triple {855#(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)); {781#true} is VALID [2022-04-27 13:24:46,775 INFO L290 TraceCheckUtils]: 30: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:24:46,775 INFO L290 TraceCheckUtils]: 31: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:24:46,775 INFO L290 TraceCheckUtils]: 32: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:24:46,776 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {781#true} {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {855#(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:24:46,777 INFO L272 TraceCheckUtils]: 34: Hoare triple {855#(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)); {892#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:24:46,777 INFO L290 TraceCheckUtils]: 35: Hoare triple {892#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {896#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:24:46,777 INFO L290 TraceCheckUtils]: 36: Hoare triple {896#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-27 13:24:46,777 INFO L290 TraceCheckUtils]: 37: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-27 13:24:46,778 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-27 13:24:46,778 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:24:46,778 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:24:46,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [241204498] [2022-04-27 13:24:46,778 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:24:46,778 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1575542908] [2022-04-27 13:24:46,778 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1575542908] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:24:46,778 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:24:46,778 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-27 13:24:46,778 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [700139293] [2022-04-27 13:24:46,778 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:24:46,779 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-27 13:24:46,779 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:24:46,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:24:46,800 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:46,801 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 13:24:46,801 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:24:46,801 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 13:24:46,801 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:24:46,802 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:24:47,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:47,155 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-27 13:24:47,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:24:47,155 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-27 13:24:47,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:24:47,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:24:47,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-27 13:24:47,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:24:47,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-27 13:24:47,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-27 13:24:47,225 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:47,226 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:24:47,227 INFO L226 Difference]: Without dead ends: 55 [2022-04-27 13:24:47,227 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:24:47,227 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 23 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 114 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 114 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:24:47,228 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 180 Invalid, 124 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 114 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:24:47,228 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-27 13:24:47,241 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-27 13:24:47,242 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:24:47,242 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:24:47,242 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:24:47,252 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:24:47,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:47,258 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-27 13:24:47,258 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:24:47,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:47,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:47,260 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-27 13:24:47,260 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-27 13:24:47,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:47,262 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-27 13:24:47,262 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:24:47,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:47,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:47,262 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:24:47,262 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:24:47,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:24:47,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-27 13:24:47,265 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-27 13:24:47,265 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:24:47,265 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-27 13:24:47,266 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:24:47,266 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:24:47,267 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-27 13:24:47,267 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:24:47,268 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:24:47,287 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-27 13:24:47,473 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:24:47,474 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:24:47,475 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:24:47,476 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-27 13:24:47,476 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:24:47,476 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [507215257] [2022-04-27 13:24:47,476 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:47,476 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:24:47,486 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:24:47,486 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [318851869] [2022-04-27 13:24:47,487 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:47,487 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:24:47,487 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:24:47,487 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:24:47,488 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:24:47,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:47,520 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 13:24:47,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:47,527 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:24:48,477 INFO L272 TraceCheckUtils]: 0: Hoare triple {1200#true} call ULTIMATE.init(); {1200#true} is VALID [2022-04-27 13:24:48,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {1200#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); {1200#true} is VALID [2022-04-27 13:24:48,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,478 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1200#true} {1200#true} #101#return; {1200#true} is VALID [2022-04-27 13:24:48,478 INFO L272 TraceCheckUtils]: 4: Hoare triple {1200#true} call #t~ret6 := main(); {1200#true} is VALID [2022-04-27 13:24:48,478 INFO L290 TraceCheckUtils]: 5: Hoare triple {1200#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; {1200#true} is VALID [2022-04-27 13:24:48,478 INFO L272 TraceCheckUtils]: 6: Hoare triple {1200#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:24:48,478 INFO L290 TraceCheckUtils]: 7: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:24:48,478 INFO L290 TraceCheckUtils]: 8: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:24:48,478 INFO L290 TraceCheckUtils]: 9: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,478 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1200#true} {1200#true} #81#return; {1200#true} is VALID [2022-04-27 13:24:48,478 INFO L290 TraceCheckUtils]: 11: Hoare triple {1200#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1200#true} is VALID [2022-04-27 13:24:48,478 INFO L272 TraceCheckUtils]: 12: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:24:48,479 INFO L290 TraceCheckUtils]: 13: Hoare triple {1200#true} ~cond := #in~cond; {1244#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:24:48,490 INFO L290 TraceCheckUtils]: 14: Hoare triple {1244#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1248#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:24:48,490 INFO L290 TraceCheckUtils]: 15: Hoare triple {1248#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1248#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:24:48,491 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1248#(not (= |assume_abort_if_not_#in~cond| 0))} {1200#true} #83#return; {1255#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-27 13:24:48,491 INFO L272 TraceCheckUtils]: 17: Hoare triple {1255#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:24:48,491 INFO L290 TraceCheckUtils]: 18: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:24:48,491 INFO L290 TraceCheckUtils]: 19: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:24:48,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,492 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1200#true} {1255#(<= (mod main_~B~0 4294967296) 2)} #85#return; {1255#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-27 13:24:48,492 INFO L290 TraceCheckUtils]: 22: Hoare triple {1255#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (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:24:48,493 INFO L290 TraceCheckUtils]: 23: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (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:24:48,493 INFO L272 TraceCheckUtils]: 24: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (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)); {1200#true} is VALID [2022-04-27 13:24:48,493 INFO L290 TraceCheckUtils]: 25: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:24:48,493 INFO L290 TraceCheckUtils]: 26: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:24:48,493 INFO L290 TraceCheckUtils]: 27: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,494 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1200#true} {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #87#return; {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (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:24:48,494 INFO L272 TraceCheckUtils]: 29: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (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)); {1200#true} is VALID [2022-04-27 13:24:48,494 INFO L290 TraceCheckUtils]: 30: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:24:48,494 INFO L290 TraceCheckUtils]: 31: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:24:48,494 INFO L290 TraceCheckUtils]: 32: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,494 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1200#true} {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #89#return; {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (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:24:48,495 INFO L272 TraceCheckUtils]: 34: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (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)); {1200#true} is VALID [2022-04-27 13:24:48,495 INFO L290 TraceCheckUtils]: 35: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:24:48,495 INFO L290 TraceCheckUtils]: 36: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:24:48,495 INFO L290 TraceCheckUtils]: 37: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,496 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1200#true} {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #91#return; {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (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:24:48,497 INFO L290 TraceCheckUtils]: 39: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 2) (= (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); {1326#(and (<= (mod main_~B~0 4294967296) 2) (= (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:24:48,497 INFO L290 TraceCheckUtils]: 40: Hoare triple {1326#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1326#(and (<= (mod main_~B~0 4294967296) 2) (= (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:24:48,498 INFO L272 TraceCheckUtils]: 41: Hoare triple {1326#(and (<= (mod main_~B~0 4294967296) 2) (= (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)); {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:24:48,498 INFO L290 TraceCheckUtils]: 42: Hoare triple {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1337#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:24:48,498 INFO L290 TraceCheckUtils]: 43: Hoare triple {1337#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1201#false} is VALID [2022-04-27 13:24:48,499 INFO L290 TraceCheckUtils]: 44: Hoare triple {1201#false} assume !false; {1201#false} is VALID [2022-04-27 13:24:48,499 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-27 13:24:48,499 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:24:48,876 INFO L290 TraceCheckUtils]: 44: Hoare triple {1201#false} assume !false; {1201#false} is VALID [2022-04-27 13:24:48,877 INFO L290 TraceCheckUtils]: 43: Hoare triple {1337#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1201#false} is VALID [2022-04-27 13:24:48,877 INFO L290 TraceCheckUtils]: 42: Hoare triple {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1337#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:24:48,878 INFO L272 TraceCheckUtils]: 41: Hoare triple {1353#(= (+ 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)); {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:24:48,878 INFO L290 TraceCheckUtils]: 40: Hoare triple {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:24:48,879 INFO L290 TraceCheckUtils]: 39: Hoare triple {1360#(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); {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:24:48,879 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1200#true} {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1360#(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:24:48,879 INFO L290 TraceCheckUtils]: 37: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,880 INFO L290 TraceCheckUtils]: 36: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:24:48,880 INFO L290 TraceCheckUtils]: 35: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:24:48,880 INFO L272 TraceCheckUtils]: 34: Hoare triple {1360#(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)); {1200#true} is VALID [2022-04-27 13:24:48,880 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1200#true} {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1360#(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:24:48,880 INFO L290 TraceCheckUtils]: 32: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,880 INFO L290 TraceCheckUtils]: 31: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:24:48,881 INFO L290 TraceCheckUtils]: 30: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:24:48,881 INFO L272 TraceCheckUtils]: 29: Hoare triple {1360#(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)); {1200#true} is VALID [2022-04-27 13:24:48,883 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1200#true} {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1360#(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:24:48,883 INFO L290 TraceCheckUtils]: 27: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,884 INFO L290 TraceCheckUtils]: 26: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:24:48,884 INFO L290 TraceCheckUtils]: 25: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:24:48,884 INFO L272 TraceCheckUtils]: 24: Hoare triple {1360#(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)); {1200#true} is VALID [2022-04-27 13:24:48,884 INFO L290 TraceCheckUtils]: 23: Hoare triple {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1360#(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:24:48,889 INFO L290 TraceCheckUtils]: 22: Hoare triple {1200#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1360#(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:24:48,889 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1200#true} {1200#true} #85#return; {1200#true} is VALID [2022-04-27 13:24:48,889 INFO L290 TraceCheckUtils]: 20: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,889 INFO L290 TraceCheckUtils]: 19: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:24:48,889 INFO L290 TraceCheckUtils]: 18: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:24:48,889 INFO L272 TraceCheckUtils]: 17: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:24:48,889 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1200#true} {1200#true} #83#return; {1200#true} is VALID [2022-04-27 13:24:48,890 INFO L290 TraceCheckUtils]: 15: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,890 INFO L290 TraceCheckUtils]: 14: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:24:48,890 INFO L290 TraceCheckUtils]: 13: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:24:48,890 INFO L272 TraceCheckUtils]: 12: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:24:48,890 INFO L290 TraceCheckUtils]: 11: Hoare triple {1200#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1200#true} is VALID [2022-04-27 13:24:48,890 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1200#true} {1200#true} #81#return; {1200#true} is VALID [2022-04-27 13:24:48,890 INFO L290 TraceCheckUtils]: 9: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,890 INFO L290 TraceCheckUtils]: 8: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:24:48,890 INFO L290 TraceCheckUtils]: 7: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:24:48,890 INFO L272 TraceCheckUtils]: 6: Hoare triple {1200#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:24:48,890 INFO L290 TraceCheckUtils]: 5: Hoare triple {1200#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; {1200#true} is VALID [2022-04-27 13:24:48,890 INFO L272 TraceCheckUtils]: 4: Hoare triple {1200#true} call #t~ret6 := main(); {1200#true} is VALID [2022-04-27 13:24:48,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1200#true} {1200#true} #101#return; {1200#true} is VALID [2022-04-27 13:24:48,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:24:48,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {1200#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); {1200#true} is VALID [2022-04-27 13:24:48,891 INFO L272 TraceCheckUtils]: 0: Hoare triple {1200#true} call ULTIMATE.init(); {1200#true} is VALID [2022-04-27 13:24:48,891 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:24:48,891 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:24:48,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [507215257] [2022-04-27 13:24:48,891 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:24:48,891 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [318851869] [2022-04-27 13:24:48,892 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [318851869] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:24:48,892 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:24:48,892 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-27 13:24:48,892 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2075350313] [2022-04-27 13:24:48,892 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:24:48,892 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-27 13:24:48,892 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:24:48,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:24:48,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:48,942 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:24:48,942 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:24:48,943 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:24:48,943 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:24:48,943 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:24:49,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:49,164 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-27 13:24:49,164 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:24:49,164 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-27 13:24:49,164 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:24:49,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:24:49,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:24:49,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:24:49,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:24:49,166 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-27 13:24:49,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:49,208 INFO L225 Difference]: With dead ends: 68 [2022-04-27 13:24:49,208 INFO L226 Difference]: Without dead ends: 66 [2022-04-27 13:24:49,209 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:24:49,209 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 16 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:24:49,209 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 128 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:24:49,210 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-27 13:24:49,225 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-27 13:24:49,225 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:24:49,225 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:24:49,225 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:24:49,225 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:24:49,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:49,227 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-27 13:24:49,227 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-27 13:24:49,227 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:49,227 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:49,228 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-27 13:24:49,228 INFO L87 Difference]: Start difference. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-27 13:24:49,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:49,230 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-27 13:24:49,230 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-27 13:24:49,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:49,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:49,230 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:24:49,230 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:24:49,230 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:24:49,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-27 13:24:49,232 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-27 13:24:49,232 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:24:49,232 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-27 13:24:49,232 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:24:49,232 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-27 13:24:49,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 13:24:49,233 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:24:49,233 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:24:49,249 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-27 13:24:49,448 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:24:49,449 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:24:49,449 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:24:49,449 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-27 13:24:49,449 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:24:49,449 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [599068833] [2022-04-27 13:24:49,449 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:49,449 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:24:49,469 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:24:49,469 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1713520112] [2022-04-27 13:24:49,469 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:49,469 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:24:49,469 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:24:49,470 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:24:49,471 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:24:49,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:49,510 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-27 13:24:49,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:49,521 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:24:50,164 INFO L272 TraceCheckUtils]: 0: Hoare triple {1808#true} call ULTIMATE.init(); {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L290 TraceCheckUtils]: 1: Hoare triple {1808#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); {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L290 TraceCheckUtils]: 2: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1808#true} {1808#true} #101#return; {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L272 TraceCheckUtils]: 4: Hoare triple {1808#true} call #t~ret6 := main(); {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L290 TraceCheckUtils]: 5: Hoare triple {1808#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; {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L272 TraceCheckUtils]: 6: Hoare triple {1808#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L290 TraceCheckUtils]: 7: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L290 TraceCheckUtils]: 8: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L290 TraceCheckUtils]: 9: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1808#true} {1808#true} #81#return; {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L290 TraceCheckUtils]: 11: Hoare triple {1808#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L272 TraceCheckUtils]: 12: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:24:50,165 INFO L290 TraceCheckUtils]: 13: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,166 INFO L290 TraceCheckUtils]: 14: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,166 INFO L290 TraceCheckUtils]: 15: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,166 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1808#true} {1808#true} #83#return; {1808#true} is VALID [2022-04-27 13:24:50,166 INFO L272 TraceCheckUtils]: 17: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:24:50,167 INFO L290 TraceCheckUtils]: 18: Hoare triple {1808#true} ~cond := #in~cond; {1867#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:24:50,168 INFO L290 TraceCheckUtils]: 19: Hoare triple {1867#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1871#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:24:50,169 INFO L290 TraceCheckUtils]: 20: Hoare triple {1871#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1871#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:24:50,169 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1871#(not (= |assume_abort_if_not_#in~cond| 0))} {1808#true} #85#return; {1878#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:50,169 INFO L290 TraceCheckUtils]: 22: Hoare triple {1878#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1882#(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:24:50,170 INFO L290 TraceCheckUtils]: 23: Hoare triple {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1882#(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:24:50,170 INFO L272 TraceCheckUtils]: 24: Hoare triple {1882#(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)); {1808#true} is VALID [2022-04-27 13:24:50,170 INFO L290 TraceCheckUtils]: 25: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,170 INFO L290 TraceCheckUtils]: 26: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,170 INFO L290 TraceCheckUtils]: 27: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,171 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1808#true} {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1882#(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:24:50,171 INFO L272 TraceCheckUtils]: 29: Hoare triple {1882#(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)); {1808#true} is VALID [2022-04-27 13:24:50,171 INFO L290 TraceCheckUtils]: 30: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,171 INFO L290 TraceCheckUtils]: 31: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,171 INFO L290 TraceCheckUtils]: 32: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,171 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1808#true} {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1882#(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:24:50,172 INFO L272 TraceCheckUtils]: 34: Hoare triple {1882#(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)); {1808#true} is VALID [2022-04-27 13:24:50,172 INFO L290 TraceCheckUtils]: 35: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,172 INFO L290 TraceCheckUtils]: 36: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,172 INFO L290 TraceCheckUtils]: 37: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,172 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1808#true} {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {1882#(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:24:50,173 INFO L290 TraceCheckUtils]: 39: Hoare triple {1882#(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; {1934#(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:24:50,174 INFO L290 TraceCheckUtils]: 40: Hoare triple {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {1934#(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:24:50,174 INFO L272 TraceCheckUtils]: 41: Hoare triple {1934#(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)); {1808#true} is VALID [2022-04-27 13:24:50,174 INFO L290 TraceCheckUtils]: 42: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,174 INFO L290 TraceCheckUtils]: 43: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,174 INFO L290 TraceCheckUtils]: 44: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,175 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1808#true} {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {1934#(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:24:50,175 INFO L272 TraceCheckUtils]: 46: Hoare triple {1934#(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)); {1808#true} is VALID [2022-04-27 13:24:50,175 INFO L290 TraceCheckUtils]: 47: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,175 INFO L290 TraceCheckUtils]: 48: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,175 INFO L290 TraceCheckUtils]: 49: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,175 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1808#true} {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {1934#(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:24:50,176 INFO L272 TraceCheckUtils]: 51: Hoare triple {1934#(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)); {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:24:50,176 INFO L290 TraceCheckUtils]: 52: Hoare triple {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1975#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:24:50,177 INFO L290 TraceCheckUtils]: 53: Hoare triple {1975#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1809#false} is VALID [2022-04-27 13:24:50,177 INFO L290 TraceCheckUtils]: 54: Hoare triple {1809#false} assume !false; {1809#false} is VALID [2022-04-27 13:24:50,177 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-27 13:24:50,177 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:24:50,487 INFO L290 TraceCheckUtils]: 54: Hoare triple {1809#false} assume !false; {1809#false} is VALID [2022-04-27 13:24:50,487 INFO L290 TraceCheckUtils]: 53: Hoare triple {1975#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1809#false} is VALID [2022-04-27 13:24:50,487 INFO L290 TraceCheckUtils]: 52: Hoare triple {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1975#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:24:50,488 INFO L272 TraceCheckUtils]: 51: Hoare triple {1991#(= 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)); {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:24:50,489 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:50,489 INFO L290 TraceCheckUtils]: 49: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,489 INFO L290 TraceCheckUtils]: 48: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,489 INFO L290 TraceCheckUtils]: 47: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,489 INFO L272 TraceCheckUtils]: 46: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:24:50,491 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:50,491 INFO L290 TraceCheckUtils]: 44: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,491 INFO L290 TraceCheckUtils]: 43: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,491 INFO L290 TraceCheckUtils]: 42: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,491 INFO L272 TraceCheckUtils]: 41: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:24:50,491 INFO L290 TraceCheckUtils]: 40: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:50,629 INFO L290 TraceCheckUtils]: 39: Hoare triple {1991#(= 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; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:50,629 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:50,629 INFO L290 TraceCheckUtils]: 37: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,629 INFO L290 TraceCheckUtils]: 36: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,630 INFO L290 TraceCheckUtils]: 35: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,630 INFO L272 TraceCheckUtils]: 34: Hoare triple {1991#(= 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)); {1808#true} is VALID [2022-04-27 13:24:50,630 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:50,630 INFO L290 TraceCheckUtils]: 32: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,630 INFO L290 TraceCheckUtils]: 31: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,630 INFO L290 TraceCheckUtils]: 30: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,630 INFO L272 TraceCheckUtils]: 29: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:24:50,631 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:50,631 INFO L290 TraceCheckUtils]: 27: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,631 INFO L290 TraceCheckUtils]: 26: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,631 INFO L290 TraceCheckUtils]: 25: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,631 INFO L272 TraceCheckUtils]: 24: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:24:50,631 INFO L290 TraceCheckUtils]: 23: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:50,632 INFO L290 TraceCheckUtils]: 22: Hoare triple {1808#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:50,632 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1808#true} {1808#true} #85#return; {1808#true} is VALID [2022-04-27 13:24:50,632 INFO L290 TraceCheckUtils]: 20: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,632 INFO L290 TraceCheckUtils]: 19: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,632 INFO L290 TraceCheckUtils]: 18: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,632 INFO L272 TraceCheckUtils]: 17: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:24:50,632 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1808#true} {1808#true} #83#return; {1808#true} is VALID [2022-04-27 13:24:50,632 INFO L290 TraceCheckUtils]: 15: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,632 INFO L290 TraceCheckUtils]: 14: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,632 INFO L272 TraceCheckUtils]: 12: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L290 TraceCheckUtils]: 11: Hoare triple {1808#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1808#true} {1808#true} #81#return; {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L290 TraceCheckUtils]: 9: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L290 TraceCheckUtils]: 8: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L290 TraceCheckUtils]: 7: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L272 TraceCheckUtils]: 6: Hoare triple {1808#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {1808#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; {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L272 TraceCheckUtils]: 4: Hoare triple {1808#true} call #t~ret6 := main(); {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1808#true} {1808#true} #101#return; {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {1808#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); {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L272 TraceCheckUtils]: 0: Hoare triple {1808#true} call ULTIMATE.init(); {1808#true} is VALID [2022-04-27 13:24:50,633 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-27 13:24:50,634 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:24:50,634 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [599068833] [2022-04-27 13:24:50,634 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:24:50,634 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1713520112] [2022-04-27 13:24:50,634 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1713520112] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:24:50,634 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:24:50,634 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 13:24:50,634 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1687001526] [2022-04-27 13:24:50,634 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:24:50,634 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-27 13:24:50,635 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:24:50,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:24:50,658 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:50,658 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:24:50,658 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:24:50,659 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:24:50,659 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:24:50,659 INFO L87 Difference]: Start difference. First operand 64 states and 80 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:24:53,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:53,029 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-27 13:24:53,029 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:24:53,029 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-27 13:24:53,029 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:24:53,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:24:53,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-27 13:24:53,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:24:53,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-27 13:24:53,031 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-27 13:24:53,073 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:53,074 INFO L225 Difference]: With dead ends: 76 [2022-04-27 13:24:53,074 INFO L226 Difference]: Without dead ends: 74 [2022-04-27 13:24:53,074 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 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:24:53,075 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:24:53,075 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:24:53,076 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-27 13:24:53,091 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-27 13:24:53,092 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:24:53,092 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-27 13:24:53,092 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-27 13:24:53,092 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-27 13:24:53,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:53,095 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-27 13:24:53,095 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-27 13:24:53,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:53,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:53,096 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-27 13:24:53,096 INFO L87 Difference]: Start difference. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-27 13:24:53,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:53,098 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-27 13:24:53,098 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-27 13:24:53,099 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:53,099 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:53,099 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:24:53,099 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:24:53,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-27 13:24:53,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-27 13:24:53,101 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-27 13:24:53,101 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:24:53,101 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-27 13:24:53,101 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:24:53,101 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-27 13:24:53,102 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-27 13:24:53,102 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:24:53,103 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:24:53,122 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:24:53,318 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:24:53,319 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:24:53,319 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:24:53,319 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-27 13:24:53,319 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:24:53,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1960185071] [2022-04-27 13:24:53,319 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:53,319 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:24:53,337 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:24:53,337 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [428622357] [2022-04-27 13:24:53,337 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:53,337 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:24:53,337 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:24:53,345 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:24:53,346 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:24:53,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:53,379 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:24:53,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:53,395 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:24:56,885 INFO L272 TraceCheckUtils]: 0: Hoare triple {2512#true} call ULTIMATE.init(); {2512#true} is VALID [2022-04-27 13:24:56,885 INFO L290 TraceCheckUtils]: 1: Hoare triple {2512#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); {2512#true} is VALID [2022-04-27 13:24:56,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:24:56,885 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2512#true} {2512#true} #101#return; {2512#true} is VALID [2022-04-27 13:24:56,885 INFO L272 TraceCheckUtils]: 4: Hoare triple {2512#true} call #t~ret6 := main(); {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L290 TraceCheckUtils]: 5: Hoare triple {2512#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; {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L272 TraceCheckUtils]: 6: Hoare triple {2512#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L290 TraceCheckUtils]: 7: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L290 TraceCheckUtils]: 8: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L290 TraceCheckUtils]: 9: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2512#true} {2512#true} #81#return; {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L290 TraceCheckUtils]: 11: Hoare triple {2512#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L272 TraceCheckUtils]: 12: Hoare triple {2512#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L290 TraceCheckUtils]: 13: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L290 TraceCheckUtils]: 14: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L290 TraceCheckUtils]: 15: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2512#true} {2512#true} #83#return; {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L272 TraceCheckUtils]: 17: Hoare triple {2512#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L290 TraceCheckUtils]: 18: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L290 TraceCheckUtils]: 19: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L290 TraceCheckUtils]: 20: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:24:56,886 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2512#true} {2512#true} #85#return; {2512#true} is VALID [2022-04-27 13:24:56,891 INFO L290 TraceCheckUtils]: 22: Hoare triple {2512#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:24:56,892 INFO L290 TraceCheckUtils]: 23: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:24:56,892 INFO L272 TraceCheckUtils]: 24: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:24:56,892 INFO L290 TraceCheckUtils]: 25: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:24:56,892 INFO L290 TraceCheckUtils]: 26: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:24:56,892 INFO L290 TraceCheckUtils]: 27: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:24:56,892 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:24:56,892 INFO L272 TraceCheckUtils]: 29: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:24:56,892 INFO L290 TraceCheckUtils]: 30: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:24:56,893 INFO L290 TraceCheckUtils]: 31: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:24:56,893 INFO L290 TraceCheckUtils]: 32: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:24:56,893 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:24:56,893 INFO L272 TraceCheckUtils]: 34: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:24:56,893 INFO L290 TraceCheckUtils]: 35: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:24:56,893 INFO L290 TraceCheckUtils]: 36: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:24:56,893 INFO L290 TraceCheckUtils]: 37: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:24:56,894 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:24:56,894 INFO L290 TraceCheckUtils]: 39: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:24:56,894 INFO L290 TraceCheckUtils]: 40: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:24:56,895 INFO L272 TraceCheckUtils]: 41: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:24:56,895 INFO L290 TraceCheckUtils]: 42: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:24:56,895 INFO L290 TraceCheckUtils]: 43: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:24:56,895 INFO L290 TraceCheckUtils]: 44: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:24:56,895 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:24:56,895 INFO L272 TraceCheckUtils]: 46: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:24:56,895 INFO L290 TraceCheckUtils]: 47: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:24:56,895 INFO L290 TraceCheckUtils]: 48: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:24:56,895 INFO L290 TraceCheckUtils]: 49: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:24:56,896 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:24:56,896 INFO L290 TraceCheckUtils]: 51: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(1 != ~p~0); {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:24:56,897 INFO L272 TraceCheckUtils]: 52: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2674#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:24:56,897 INFO L290 TraceCheckUtils]: 53: Hoare triple {2674#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2678#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:24:56,898 INFO L290 TraceCheckUtils]: 54: Hoare triple {2678#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2513#false} is VALID [2022-04-27 13:24:56,898 INFO L290 TraceCheckUtils]: 55: Hoare triple {2513#false} assume !false; {2513#false} is VALID [2022-04-27 13:24:56,898 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-27 13:24:56,898 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:24:56,898 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:24:56,898 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1960185071] [2022-04-27 13:24:56,898 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:24:56,898 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [428622357] [2022-04-27 13:24:56,898 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [428622357] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:24:56,898 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:24:56,898 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:24:56,899 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1517618178] [2022-04-27 13:24:56,899 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:24:56,899 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), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-27 13:24:56,899 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:24:56,899 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), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:24:56,926 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:56,926 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:24:56,927 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:24:56,927 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:24:56,927 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:24:56,927 INFO L87 Difference]: Start difference. First operand 71 states and 88 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:24:57,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:57,127 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-27 13:24:57,127 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:24:57,127 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), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-27 13:24:57,128 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:24:57,128 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), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:24:57,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:24:57,129 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), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:24:57,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:24:57,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-27 13:24:57,167 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:57,169 INFO L225 Difference]: With dead ends: 79 [2022-04-27 13:24:57,169 INFO L226 Difference]: Without dead ends: 72 [2022-04-27 13:24:57,169 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 52 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:24:57,169 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:24:57,170 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 123 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:24:57,170 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-27 13:24:57,186 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-27 13:24:57,186 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:24:57,186 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-27 13:24:57,187 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-27 13:24:57,187 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-27 13:24:57,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:57,189 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-27 13:24:57,189 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-27 13:24:57,189 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:57,189 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:57,189 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-27 13:24:57,189 INFO L87 Difference]: Start difference. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-27 13:24:57,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:57,191 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-27 13:24:57,191 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-27 13:24:57,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:57,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:57,192 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:24:57,192 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:24:57,192 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-27 13:24:57,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-27 13:24:57,194 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-27 13:24:57,194 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:24:57,195 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-27 13:24:57,195 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), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:24:57,195 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-27 13:24:57,195 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-27 13:24:57,196 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:24:57,196 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:24:57,217 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:24:57,404 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:24:57,404 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:24:57,404 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:24:57,405 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-27 13:24:57,405 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:24:57,405 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [576914702] [2022-04-27 13:24:57,405 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:57,405 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:24:57,416 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:24:57,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [892001482] [2022-04-27 13:24:57,417 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:57,417 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:24:57,417 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:24:57,425 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:24:57,425 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:24:57,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:57,487 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-27 13:24:57,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:57,505 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:25:03,492 INFO L272 TraceCheckUtils]: 0: Hoare triple {3048#true} call ULTIMATE.init(); {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {3048#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); {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3048#true} {3048#true} #101#return; {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L272 TraceCheckUtils]: 4: Hoare triple {3048#true} call #t~ret6 := main(); {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {3048#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; {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L272 TraceCheckUtils]: 6: Hoare triple {3048#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L290 TraceCheckUtils]: 7: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L290 TraceCheckUtils]: 8: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L290 TraceCheckUtils]: 9: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3048#true} {3048#true} #81#return; {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L290 TraceCheckUtils]: 11: Hoare triple {3048#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L272 TraceCheckUtils]: 12: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:03,493 INFO L290 TraceCheckUtils]: 13: Hoare triple {3048#true} ~cond := #in~cond; {3092#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:25:03,494 INFO L290 TraceCheckUtils]: 14: Hoare triple {3092#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3096#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:03,494 INFO L290 TraceCheckUtils]: 15: Hoare triple {3096#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3096#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:03,494 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3096#(not (= |assume_abort_if_not_#in~cond| 0))} {3048#true} #83#return; {3103#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-27 13:25:03,495 INFO L272 TraceCheckUtils]: 17: Hoare triple {3103#(<= (mod main_~B~0 4294967296) 2)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:03,495 INFO L290 TraceCheckUtils]: 18: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:03,495 INFO L290 TraceCheckUtils]: 19: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:03,495 INFO L290 TraceCheckUtils]: 20: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:03,496 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3048#true} {3103#(<= (mod main_~B~0 4294967296) 2)} #85#return; {3103#(<= (mod main_~B~0 4294967296) 2)} is VALID [2022-04-27 13:25:03,497 INFO L290 TraceCheckUtils]: 22: Hoare triple {3103#(<= (mod main_~B~0 4294967296) 2)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:03,497 INFO L290 TraceCheckUtils]: 23: Hoare triple {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:03,497 INFO L272 TraceCheckUtils]: 24: Hoare triple {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (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)); {3048#true} is VALID [2022-04-27 13:25:03,498 INFO L290 TraceCheckUtils]: 25: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:03,498 INFO L290 TraceCheckUtils]: 26: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:03,498 INFO L290 TraceCheckUtils]: 27: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:03,499 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3048#true} {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:03,499 INFO L272 TraceCheckUtils]: 29: Hoare triple {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (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)); {3048#true} is VALID [2022-04-27 13:25:03,499 INFO L290 TraceCheckUtils]: 30: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:03,500 INFO L290 TraceCheckUtils]: 31: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:03,500 INFO L290 TraceCheckUtils]: 32: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:03,500 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3048#true} {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:03,500 INFO L272 TraceCheckUtils]: 34: Hoare triple {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (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)); {3048#true} is VALID [2022-04-27 13:25:03,500 INFO L290 TraceCheckUtils]: 35: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:03,500 INFO L290 TraceCheckUtils]: 36: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:03,500 INFO L290 TraceCheckUtils]: 37: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:03,501 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3048#true} {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:03,502 INFO L290 TraceCheckUtils]: 39: Hoare triple {3122#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:03,502 INFO L290 TraceCheckUtils]: 40: Hoare triple {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:03,502 INFO L272 TraceCheckUtils]: 41: Hoare triple {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:03,502 INFO L290 TraceCheckUtils]: 42: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:03,503 INFO L290 TraceCheckUtils]: 43: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:03,503 INFO L290 TraceCheckUtils]: 44: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:03,503 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3048#true} {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:03,503 INFO L272 TraceCheckUtils]: 46: Hoare triple {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:03,503 INFO L290 TraceCheckUtils]: 47: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:03,503 INFO L290 TraceCheckUtils]: 48: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:03,503 INFO L290 TraceCheckUtils]: 49: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:03,504 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3048#true} {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:03,504 INFO L272 TraceCheckUtils]: 51: Hoare triple {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:03,504 INFO L290 TraceCheckUtils]: 52: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:03,504 INFO L290 TraceCheckUtils]: 53: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:03,504 INFO L290 TraceCheckUtils]: 54: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:03,505 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3048#true} {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:03,505 INFO L290 TraceCheckUtils]: 56: Hoare triple {3174#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:03,506 INFO L290 TraceCheckUtils]: 57: Hoare triple {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:03,506 INFO L272 TraceCheckUtils]: 58: Hoare triple {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:03,506 INFO L290 TraceCheckUtils]: 59: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:03,506 INFO L290 TraceCheckUtils]: 60: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:03,506 INFO L290 TraceCheckUtils]: 61: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:03,506 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3048#true} {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:03,507 INFO L272 TraceCheckUtils]: 63: Hoare triple {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:03,507 INFO L290 TraceCheckUtils]: 64: Hoare triple {3048#true} ~cond := #in~cond; {3251#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:03,507 INFO L290 TraceCheckUtils]: 65: Hoare triple {3251#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:25:03,507 INFO L290 TraceCheckUtils]: 66: Hoare triple {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:25:03,508 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:03,509 INFO L290 TraceCheckUtils]: 68: Hoare triple {3226#(and (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3265#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:03,510 INFO L290 TraceCheckUtils]: 69: Hoare triple {3265#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (mod main_~B~0 4294967296) 2) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3269#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (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))} is VALID [2022-04-27 13:25:03,510 INFO L290 TraceCheckUtils]: 70: Hoare triple {3269#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (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))} assume !false; {3269#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (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))} is VALID [2022-04-27 13:25:03,511 INFO L272 TraceCheckUtils]: 71: Hoare triple {3269#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) 2) (<= (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))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3276#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:03,512 INFO L290 TraceCheckUtils]: 72: Hoare triple {3276#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3280#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:03,512 INFO L290 TraceCheckUtils]: 73: Hoare triple {3280#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3049#false} is VALID [2022-04-27 13:25:03,512 INFO L290 TraceCheckUtils]: 74: Hoare triple {3049#false} assume !false; {3049#false} is VALID [2022-04-27 13:25:03,512 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 39 proven. 11 refuted. 0 times theorem prover too weak. 97 trivial. 0 not checked. [2022-04-27 13:25:03,512 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:25:39,339 WARN L232 SmtUtils]: Spent 13.71s 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:26:56,007 WARN L232 SmtUtils]: Spent 24.41s 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:27:59,303 INFO L290 TraceCheckUtils]: 74: Hoare triple {3049#false} assume !false; {3049#false} is VALID [2022-04-27 13:27:59,304 INFO L290 TraceCheckUtils]: 73: Hoare triple {3280#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3049#false} is VALID [2022-04-27 13:27:59,304 INFO L290 TraceCheckUtils]: 72: Hoare triple {3276#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3280#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:27:59,305 INFO L272 TraceCheckUtils]: 71: Hoare triple {3296#(= (+ 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)); {3276#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:27:59,305 INFO L290 TraceCheckUtils]: 70: Hoare triple {3296#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3296#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:27:59,307 INFO L290 TraceCheckUtils]: 69: Hoare triple {3303#(= (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; {3296#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:27:59,318 INFO L290 TraceCheckUtils]: 68: Hoare triple {3307#(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); {3303#(= (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:27:59,320 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} {3311#(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)))))} #95#return; {3307#(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:27:59,320 INFO L290 TraceCheckUtils]: 66: Hoare triple {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:27:59,320 INFO L290 TraceCheckUtils]: 65: Hoare triple {3321#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3255#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:27:59,320 INFO L290 TraceCheckUtils]: 64: Hoare triple {3048#true} ~cond := #in~cond; {3321#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:27:59,321 INFO L272 TraceCheckUtils]: 63: Hoare triple {3311#(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)); {3048#true} is VALID [2022-04-27 13:27:59,321 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3048#true} {3311#(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)))))} #93#return; {3311#(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:27:59,321 INFO L290 TraceCheckUtils]: 61: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:27:59,321 INFO L290 TraceCheckUtils]: 60: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:27:59,321 INFO L290 TraceCheckUtils]: 59: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:27:59,321 INFO L272 TraceCheckUtils]: 58: Hoare triple {3311#(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)); {3048#true} is VALID [2022-04-27 13:27:59,322 INFO L290 TraceCheckUtils]: 57: Hoare triple {3311#(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 !false; {3311#(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:27:59,323 INFO L290 TraceCheckUtils]: 56: Hoare triple {3346#(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); {3311#(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:27:59,324 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3048#true} {3346#(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))} #91#return; {3346#(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:27:59,324 INFO L290 TraceCheckUtils]: 54: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:27:59,324 INFO L290 TraceCheckUtils]: 53: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:27:59,324 INFO L290 TraceCheckUtils]: 52: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:27:59,324 INFO L272 TraceCheckUtils]: 51: Hoare triple {3346#(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)); {3048#true} is VALID [2022-04-27 13:27:59,324 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3048#true} {3346#(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))} #89#return; {3346#(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:27:59,325 INFO L290 TraceCheckUtils]: 49: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:27:59,325 INFO L290 TraceCheckUtils]: 48: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:27:59,325 INFO L290 TraceCheckUtils]: 47: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:27:59,325 INFO L272 TraceCheckUtils]: 46: Hoare triple {3346#(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)); {3048#true} is VALID [2022-04-27 13:27:59,325 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3048#true} {3346#(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))} #87#return; {3346#(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:27:59,325 INFO L290 TraceCheckUtils]: 44: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:27:59,325 INFO L290 TraceCheckUtils]: 43: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:27:59,325 INFO L290 TraceCheckUtils]: 42: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:27:59,325 INFO L272 TraceCheckUtils]: 41: Hoare triple {3346#(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)); {3048#true} is VALID [2022-04-27 13:27:59,326 INFO L290 TraceCheckUtils]: 40: Hoare triple {3346#(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 !false; {3346#(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:27:59,330 INFO L290 TraceCheckUtils]: 39: Hoare triple {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3346#(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:27:59,331 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3048#true} {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:27:59,331 INFO L290 TraceCheckUtils]: 37: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:27:59,331 INFO L290 TraceCheckUtils]: 36: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:27:59,331 INFO L290 TraceCheckUtils]: 35: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:27:59,331 INFO L272 TraceCheckUtils]: 34: Hoare triple {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:27:59,332 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3048#true} {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:27:59,332 INFO L290 TraceCheckUtils]: 32: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:27:59,332 INFO L290 TraceCheckUtils]: 31: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:27:59,332 INFO L290 TraceCheckUtils]: 30: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:27:59,332 INFO L272 TraceCheckUtils]: 29: Hoare triple {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:27:59,332 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3048#true} {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:27:59,332 INFO L290 TraceCheckUtils]: 27: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:27:59,332 INFO L290 TraceCheckUtils]: 26: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:27:59,332 INFO L290 TraceCheckUtils]: 25: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:27:59,333 INFO L272 TraceCheckUtils]: 24: Hoare triple {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:27:59,333 INFO L290 TraceCheckUtils]: 23: Hoare triple {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:27:59,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {3048#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3398#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:27:59,334 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3048#true} {3048#true} #85#return; {3048#true} is VALID [2022-04-27 13:27:59,334 INFO L290 TraceCheckUtils]: 20: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:27:59,334 INFO L290 TraceCheckUtils]: 19: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:27:59,334 INFO L290 TraceCheckUtils]: 18: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:27:59,334 INFO L272 TraceCheckUtils]: 17: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:27:59,334 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3048#true} {3048#true} #83#return; {3048#true} is VALID [2022-04-27 13:27:59,334 INFO L290 TraceCheckUtils]: 15: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:27:59,334 INFO L290 TraceCheckUtils]: 14: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:27:59,334 INFO L290 TraceCheckUtils]: 13: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:27:59,334 INFO L272 TraceCheckUtils]: 12: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:27:59,335 INFO L290 TraceCheckUtils]: 11: Hoare triple {3048#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3048#true} is VALID [2022-04-27 13:27:59,335 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3048#true} {3048#true} #81#return; {3048#true} is VALID [2022-04-27 13:27:59,335 INFO L290 TraceCheckUtils]: 9: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:27:59,335 INFO L290 TraceCheckUtils]: 8: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:27:59,335 INFO L290 TraceCheckUtils]: 7: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:27:59,335 INFO L272 TraceCheckUtils]: 6: Hoare triple {3048#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:27:59,335 INFO L290 TraceCheckUtils]: 5: Hoare triple {3048#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; {3048#true} is VALID [2022-04-27 13:27:59,335 INFO L272 TraceCheckUtils]: 4: Hoare triple {3048#true} call #t~ret6 := main(); {3048#true} is VALID [2022-04-27 13:27:59,335 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3048#true} {3048#true} #101#return; {3048#true} is VALID [2022-04-27 13:27:59,335 INFO L290 TraceCheckUtils]: 2: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:27:59,335 INFO L290 TraceCheckUtils]: 1: Hoare triple {3048#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); {3048#true} is VALID [2022-04-27 13:27:59,335 INFO L272 TraceCheckUtils]: 0: Hoare triple {3048#true} call ULTIMATE.init(); {3048#true} is VALID [2022-04-27 13:27:59,336 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 36 proven. 8 refuted. 0 times theorem prover too weak. 103 trivial. 0 not checked. [2022-04-27 13:27:59,336 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:27:59,336 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [576914702] [2022-04-27 13:27:59,336 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:27:59,336 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [892001482] [2022-04-27 13:27:59,336 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [892001482] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:27:59,336 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:27:59,336 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 12] total 21 [2022-04-27 13:27:59,336 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [283012054] [2022-04-27 13:27:59,336 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:27:59,337 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) Word has length 75 [2022-04-27 13:27:59,337 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:27:59,337 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:27:59,432 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:27:59,432 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-27 13:27:59,432 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:27:59,433 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-27 13:27:59,433 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=344, Unknown=0, NotChecked=0, Total=420 [2022-04-27 13:27:59,433 INFO L87 Difference]: Start difference. First operand 71 states and 85 transitions. Second operand has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:28:08,262 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:28:40,063 WARN L232 SmtUtils]: Spent 5.88s on a formula simplification. DAG size of input: 71 DAG size of output: 63 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:28:53,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:53,190 INFO L93 Difference]: Finished difference Result 148 states and 194 transitions. [2022-04-27 13:28:53,190 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-27 13:28:53,190 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) Word has length 75 [2022-04-27 13:28:53,190 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:28:53,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:28:53,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 137 transitions. [2022-04-27 13:28:53,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:28:53,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 137 transitions. [2022-04-27 13:28:53,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 137 transitions. [2022-04-27 13:28:53,811 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:28:53,814 INFO L225 Difference]: With dead ends: 148 [2022-04-27 13:28:53,814 INFO L226 Difference]: Without dead ends: 121 [2022-04-27 13:28:53,815 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 128 SyntacticMatches, 2 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 200 ImplicationChecksByTransitivity, 64.9s TimeCoverageRelationStatistics Valid=188, Invalid=800, Unknown=4, NotChecked=0, Total=992 [2022-04-27 13:28:53,815 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 76 mSDsluCounter, 160 mSDsCounter, 0 mSdLazyCounter, 721 mSolverCounterSat, 154 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 10.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 78 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 876 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 154 IncrementalHoareTripleChecker+Valid, 721 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 10.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:28:53,815 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [78 Valid, 192 Invalid, 876 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [154 Valid, 721 Invalid, 1 Unknown, 0 Unchecked, 10.4s Time] [2022-04-27 13:28:53,816 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-27 13:28:53,893 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 103. [2022-04-27 13:28:53,894 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:28:53,894 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:28:53,894 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:28:53,894 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:28:53,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:53,897 INFO L93 Difference]: Finished difference Result 121 states and 157 transitions. [2022-04-27 13:28:53,897 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 157 transitions. [2022-04-27 13:28:53,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:53,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:53,898 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 121 states. [2022-04-27 13:28:53,898 INFO L87 Difference]: Start difference. First operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 121 states. [2022-04-27 13:28:53,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:53,901 INFO L93 Difference]: Finished difference Result 121 states and 157 transitions. [2022-04-27 13:28:53,901 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 157 transitions. [2022-04-27 13:28:53,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:53,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:53,902 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:28:53,902 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:28:53,902 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:28:53,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 127 transitions. [2022-04-27 13:28:53,904 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 127 transitions. Word has length 75 [2022-04-27 13:28:53,904 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:28:53,904 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 127 transitions. [2022-04-27 13:28:53,905 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 21 states have (on average 1.8571428571428572) internal successors, (39), 18 states have internal predecessors, (39), 10 states have call successors, (24), 2 states have call predecessors, (24), 3 states have return successors, (22), 9 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:28:53,905 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 127 transitions. [2022-04-27 13:28:53,905 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-27 13:28:53,905 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:28:53,905 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:28:53,923 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:28:54,123 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:28:54,124 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:28:54,124 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:28:54,124 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-27 13:28:54,124 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:28:54,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2134156488] [2022-04-27 13:28:54,124 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:54,124 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:28:54,132 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:28:54,132 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1463580345] [2022-04-27 13:28:54,132 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:54,132 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:28:54,132 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:28:54,133 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:28:54,134 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:28:54,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:54,176 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:28:54,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:54,188 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:28:54,457 INFO L272 TraceCheckUtils]: 0: Hoare triple {4147#true} call ULTIMATE.init(); {4147#true} is VALID [2022-04-27 13:28:54,457 INFO L290 TraceCheckUtils]: 1: Hoare triple {4147#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); {4147#true} is VALID [2022-04-27 13:28:54,457 INFO L290 TraceCheckUtils]: 2: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,457 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4147#true} {4147#true} #101#return; {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L272 TraceCheckUtils]: 4: Hoare triple {4147#true} call #t~ret6 := main(); {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L290 TraceCheckUtils]: 5: Hoare triple {4147#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; {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L272 TraceCheckUtils]: 6: Hoare triple {4147#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L290 TraceCheckUtils]: 7: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L290 TraceCheckUtils]: 8: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L290 TraceCheckUtils]: 9: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4147#true} {4147#true} #81#return; {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L290 TraceCheckUtils]: 11: Hoare triple {4147#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L272 TraceCheckUtils]: 12: Hoare triple {4147#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L290 TraceCheckUtils]: 13: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L290 TraceCheckUtils]: 14: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L290 TraceCheckUtils]: 15: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4147#true} {4147#true} #83#return; {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L272 TraceCheckUtils]: 17: Hoare triple {4147#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L290 TraceCheckUtils]: 19: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,458 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4147#true} {4147#true} #85#return; {4147#true} is VALID [2022-04-27 13:28:54,459 INFO L290 TraceCheckUtils]: 22: Hoare triple {4147#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,459 INFO L290 TraceCheckUtils]: 23: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,459 INFO L272 TraceCheckUtils]: 24: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,459 INFO L290 TraceCheckUtils]: 25: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,459 INFO L290 TraceCheckUtils]: 26: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,459 INFO L290 TraceCheckUtils]: 27: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,460 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,460 INFO L272 TraceCheckUtils]: 29: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,460 INFO L290 TraceCheckUtils]: 30: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,460 INFO L290 TraceCheckUtils]: 31: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,460 INFO L290 TraceCheckUtils]: 32: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,460 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,460 INFO L272 TraceCheckUtils]: 34: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,460 INFO L290 TraceCheckUtils]: 35: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,461 INFO L290 TraceCheckUtils]: 36: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,461 INFO L290 TraceCheckUtils]: 37: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,461 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,461 INFO L290 TraceCheckUtils]: 39: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,462 INFO L290 TraceCheckUtils]: 40: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,462 INFO L272 TraceCheckUtils]: 41: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,462 INFO L290 TraceCheckUtils]: 42: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,462 INFO L290 TraceCheckUtils]: 43: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,462 INFO L290 TraceCheckUtils]: 44: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,462 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,462 INFO L272 TraceCheckUtils]: 46: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,462 INFO L290 TraceCheckUtils]: 47: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,463 INFO L290 TraceCheckUtils]: 48: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,463 INFO L290 TraceCheckUtils]: 49: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,463 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,463 INFO L272 TraceCheckUtils]: 51: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,463 INFO L290 TraceCheckUtils]: 52: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,463 INFO L290 TraceCheckUtils]: 53: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,463 INFO L290 TraceCheckUtils]: 54: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,464 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,464 INFO L290 TraceCheckUtils]: 56: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,464 INFO L290 TraceCheckUtils]: 57: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,464 INFO L272 TraceCheckUtils]: 58: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,464 INFO L290 TraceCheckUtils]: 59: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,464 INFO L290 TraceCheckUtils]: 60: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,464 INFO L290 TraceCheckUtils]: 61: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,465 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,465 INFO L272 TraceCheckUtils]: 63: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,465 INFO L290 TraceCheckUtils]: 64: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,465 INFO L290 TraceCheckUtils]: 65: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,465 INFO L290 TraceCheckUtils]: 66: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,466 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,466 INFO L290 TraceCheckUtils]: 68: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:28:54,467 INFO L290 TraceCheckUtils]: 69: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:28:54,467 INFO L290 TraceCheckUtils]: 70: Hoare triple {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !false; {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:28:54,467 INFO L272 TraceCheckUtils]: 71: Hoare triple {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,467 INFO L290 TraceCheckUtils]: 72: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,467 INFO L290 TraceCheckUtils]: 73: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,467 INFO L290 TraceCheckUtils]: 74: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,468 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4147#true} {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #93#return; {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:28:54,468 INFO L272 TraceCheckUtils]: 76: Hoare triple {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:28:54,468 INFO L290 TraceCheckUtils]: 77: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:28:54,468 INFO L290 TraceCheckUtils]: 78: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:28:54,468 INFO L290 TraceCheckUtils]: 79: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:28:54,469 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4147#true} {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #95#return; {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:28:54,469 INFO L290 TraceCheckUtils]: 81: Hoare triple {4360#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !(1 != ~p~0); {4397#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} is VALID [2022-04-27 13:28:54,470 INFO L272 TraceCheckUtils]: 82: Hoare triple {4397#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4401#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:28:54,470 INFO L290 TraceCheckUtils]: 83: Hoare triple {4401#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4405#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:28:54,470 INFO L290 TraceCheckUtils]: 84: Hoare triple {4405#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4148#false} is VALID [2022-04-27 13:28:54,470 INFO L290 TraceCheckUtils]: 85: Hoare triple {4148#false} assume !false; {4148#false} is VALID [2022-04-27 13:28:54,471 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 4 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2022-04-27 13:28:54,471 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:29:21,113 INFO L290 TraceCheckUtils]: 85: Hoare triple {4148#false} assume !false; {4148#false} is VALID [2022-04-27 13:29:21,114 INFO L290 TraceCheckUtils]: 84: Hoare triple {4405#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4148#false} is VALID [2022-04-27 13:29:21,114 INFO L290 TraceCheckUtils]: 83: Hoare triple {4401#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4405#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:29:21,114 INFO L272 TraceCheckUtils]: 82: Hoare triple {4421#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4401#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:29:21,115 INFO L290 TraceCheckUtils]: 81: Hoare triple {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4421#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-27 13:29:21,115 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4147#true} {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:29:21,115 INFO L290 TraceCheckUtils]: 79: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,115 INFO L290 TraceCheckUtils]: 78: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,115 INFO L290 TraceCheckUtils]: 77: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,116 INFO L272 TraceCheckUtils]: 76: Hoare triple {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,116 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4147#true} {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:29:21,116 INFO L290 TraceCheckUtils]: 74: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,116 INFO L290 TraceCheckUtils]: 73: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,116 INFO L290 TraceCheckUtils]: 72: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,116 INFO L272 TraceCheckUtils]: 71: Hoare triple {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,117 INFO L290 TraceCheckUtils]: 70: Hoare triple {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:29:21,118 INFO L290 TraceCheckUtils]: 69: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4425#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:29:21,118 INFO L290 TraceCheckUtils]: 68: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,118 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,119 INFO L290 TraceCheckUtils]: 66: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,119 INFO L290 TraceCheckUtils]: 65: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,119 INFO L290 TraceCheckUtils]: 64: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,119 INFO L272 TraceCheckUtils]: 63: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,119 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,119 INFO L290 TraceCheckUtils]: 61: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,119 INFO L290 TraceCheckUtils]: 60: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,119 INFO L290 TraceCheckUtils]: 59: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,119 INFO L272 TraceCheckUtils]: 58: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,127 INFO L290 TraceCheckUtils]: 57: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,127 INFO L290 TraceCheckUtils]: 56: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,128 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,128 INFO L290 TraceCheckUtils]: 54: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,128 INFO L290 TraceCheckUtils]: 53: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,128 INFO L290 TraceCheckUtils]: 52: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,128 INFO L272 TraceCheckUtils]: 51: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,128 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,128 INFO L290 TraceCheckUtils]: 49: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,128 INFO L290 TraceCheckUtils]: 48: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,128 INFO L290 TraceCheckUtils]: 47: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,128 INFO L272 TraceCheckUtils]: 46: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,129 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,129 INFO L290 TraceCheckUtils]: 44: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,129 INFO L290 TraceCheckUtils]: 43: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,129 INFO L290 TraceCheckUtils]: 42: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,129 INFO L272 TraceCheckUtils]: 41: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,129 INFO L290 TraceCheckUtils]: 40: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,130 INFO L290 TraceCheckUtils]: 39: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,130 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,130 INFO L290 TraceCheckUtils]: 37: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,130 INFO L290 TraceCheckUtils]: 36: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,130 INFO L290 TraceCheckUtils]: 35: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,130 INFO L272 TraceCheckUtils]: 34: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,131 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,131 INFO L290 TraceCheckUtils]: 32: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,131 INFO L290 TraceCheckUtils]: 31: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,131 INFO L290 TraceCheckUtils]: 30: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,131 INFO L272 TraceCheckUtils]: 29: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,155 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4147#true} {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,155 INFO L290 TraceCheckUtils]: 27: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,155 INFO L290 TraceCheckUtils]: 26: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,156 INFO L290 TraceCheckUtils]: 25: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,156 INFO L272 TraceCheckUtils]: 24: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,156 INFO L290 TraceCheckUtils]: 23: Hoare triple {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,156 INFO L290 TraceCheckUtils]: 22: Hoare triple {4147#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4218#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:21,156 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4147#true} {4147#true} #85#return; {4147#true} is VALID [2022-04-27 13:29:21,156 INFO L290 TraceCheckUtils]: 20: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,156 INFO L290 TraceCheckUtils]: 19: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,156 INFO L290 TraceCheckUtils]: 18: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L272 TraceCheckUtils]: 17: Hoare triple {4147#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4147#true} {4147#true} #83#return; {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L290 TraceCheckUtils]: 15: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L290 TraceCheckUtils]: 14: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L290 TraceCheckUtils]: 13: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L272 TraceCheckUtils]: 12: Hoare triple {4147#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L290 TraceCheckUtils]: 11: Hoare triple {4147#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4147#true} {4147#true} #81#return; {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L290 TraceCheckUtils]: 9: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L290 TraceCheckUtils]: 8: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L290 TraceCheckUtils]: 7: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L272 TraceCheckUtils]: 6: Hoare triple {4147#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L290 TraceCheckUtils]: 5: Hoare triple {4147#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; {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L272 TraceCheckUtils]: 4: Hoare triple {4147#true} call #t~ret6 := main(); {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4147#true} {4147#true} #101#return; {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L290 TraceCheckUtils]: 2: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {4147#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); {4147#true} is VALID [2022-04-27 13:29:21,157 INFO L272 TraceCheckUtils]: 0: Hoare triple {4147#true} call ULTIMATE.init(); {4147#true} is VALID [2022-04-27 13:29:21,158 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 4 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2022-04-27 13:29:21,158 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:29:21,158 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2134156488] [2022-04-27 13:29:21,158 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:29:21,158 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1463580345] [2022-04-27 13:29:21,158 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1463580345] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:29:21,158 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:29:21,158 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-27 13:29:21,158 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1643394016] [2022-04-27 13:29:21,158 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:29:21,159 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-27 13:29:21,159 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:29:21,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:29:21,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:21,201 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:29:21,201 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:29:21,202 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:29:21,202 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:29:21,202 INFO L87 Difference]: Start difference. First operand 103 states and 127 transitions. Second operand has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:29:22,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:22,255 INFO L93 Difference]: Finished difference Result 116 states and 143 transitions. [2022-04-27 13:29:22,255 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:29:22,255 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-27 13:29:22,255 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:29:22,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:29:22,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-27 13:29:22,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:29:22,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-27 13:29:22,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2022-04-27 13:29:22,327 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:22,329 INFO L225 Difference]: With dead ends: 116 [2022-04-27 13:29:22,329 INFO L226 Difference]: Without dead ends: 114 [2022-04-27 13:29:22,329 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 162 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:29:22,330 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 17 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 156 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 205 SdHoareTripleChecker+Invalid, 171 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 156 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:29:22,330 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 205 Invalid, 171 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 156 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:29:22,330 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-27 13:29:22,396 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 107. [2022-04-27 13:29:22,396 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:29:22,397 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:29:22,397 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:29:22,397 INFO L87 Difference]: Start difference. First operand 114 states. Second operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:29:22,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:22,405 INFO L93 Difference]: Finished difference Result 114 states and 141 transitions. [2022-04-27 13:29:22,405 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 141 transitions. [2022-04-27 13:29:22,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:22,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:22,406 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) Second operand 114 states. [2022-04-27 13:29:22,406 INFO L87 Difference]: Start difference. First operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) Second operand 114 states. [2022-04-27 13:29:22,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:22,408 INFO L93 Difference]: Finished difference Result 114 states and 141 transitions. [2022-04-27 13:29:22,408 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 141 transitions. [2022-04-27 13:29:22,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:22,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:22,409 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:29:22,409 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:29:22,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:29:22,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 134 transitions. [2022-04-27 13:29:22,411 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 134 transitions. Word has length 86 [2022-04-27 13:29:22,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:29:22,412 INFO L495 AbstractCegarLoop]: Abstraction has 107 states and 134 transitions. [2022-04-27 13:29:22,412 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:29:22,412 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 134 transitions. [2022-04-27 13:29:22,412 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-27 13:29:22,412 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:29:22,412 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:29:22,428 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-27 13:29:22,627 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:29:22,627 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:29:22,627 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:29:22,628 INFO L85 PathProgramCache]: Analyzing trace with hash -1353450239, now seen corresponding path program 2 times [2022-04-27 13:29:22,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:29:22,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [867775855] [2022-04-27 13:29:22,628 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:22,628 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:29:22,636 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:29:22,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2011074636] [2022-04-27 13:29:22,636 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:29:22,637 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:29:22,637 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:29:22,637 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:29:22,638 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:29:22,680 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:29:22,680 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:29:22,681 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:29:22,692 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:22,693 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:29:22,835 INFO L272 TraceCheckUtils]: 0: Hoare triple {5226#true} call ULTIMATE.init(); {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {5226#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); {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5226#true} {5226#true} #101#return; {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L272 TraceCheckUtils]: 4: Hoare triple {5226#true} call #t~ret6 := main(); {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L290 TraceCheckUtils]: 5: Hoare triple {5226#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; {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L272 TraceCheckUtils]: 6: Hoare triple {5226#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L290 TraceCheckUtils]: 7: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L290 TraceCheckUtils]: 8: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L290 TraceCheckUtils]: 9: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5226#true} {5226#true} #81#return; {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L290 TraceCheckUtils]: 11: Hoare triple {5226#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L272 TraceCheckUtils]: 12: Hoare triple {5226#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L290 TraceCheckUtils]: 13: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L290 TraceCheckUtils]: 14: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,835 INFO L290 TraceCheckUtils]: 15: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,836 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5226#true} {5226#true} #83#return; {5226#true} is VALID [2022-04-27 13:29:22,836 INFO L272 TraceCheckUtils]: 17: Hoare triple {5226#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,836 INFO L290 TraceCheckUtils]: 18: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,836 INFO L290 TraceCheckUtils]: 19: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,836 INFO L290 TraceCheckUtils]: 20: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,836 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5226#true} {5226#true} #85#return; {5226#true} is VALID [2022-04-27 13:29:22,836 INFO L290 TraceCheckUtils]: 22: Hoare triple {5226#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:22,836 INFO L290 TraceCheckUtils]: 23: Hoare triple {5297#(= main_~p~0 1)} assume !false; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:22,836 INFO L272 TraceCheckUtils]: 24: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,836 INFO L290 TraceCheckUtils]: 25: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,836 INFO L290 TraceCheckUtils]: 26: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,836 INFO L290 TraceCheckUtils]: 27: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,837 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #87#return; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:22,837 INFO L272 TraceCheckUtils]: 29: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,837 INFO L290 TraceCheckUtils]: 30: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,837 INFO L290 TraceCheckUtils]: 31: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,837 INFO L290 TraceCheckUtils]: 32: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,838 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #89#return; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:22,838 INFO L272 TraceCheckUtils]: 34: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,838 INFO L290 TraceCheckUtils]: 35: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,838 INFO L290 TraceCheckUtils]: 36: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,838 INFO L290 TraceCheckUtils]: 37: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,838 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #91#return; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:22,838 INFO L290 TraceCheckUtils]: 39: Hoare triple {5297#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5349#(= main_~p~0 2)} is VALID [2022-04-27 13:29:22,839 INFO L290 TraceCheckUtils]: 40: Hoare triple {5349#(= main_~p~0 2)} assume !false; {5349#(= main_~p~0 2)} is VALID [2022-04-27 13:29:22,839 INFO L272 TraceCheckUtils]: 41: Hoare triple {5349#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,839 INFO L290 TraceCheckUtils]: 42: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,839 INFO L290 TraceCheckUtils]: 43: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,839 INFO L290 TraceCheckUtils]: 44: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,839 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5226#true} {5349#(= main_~p~0 2)} #87#return; {5349#(= main_~p~0 2)} is VALID [2022-04-27 13:29:22,839 INFO L272 TraceCheckUtils]: 46: Hoare triple {5349#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,839 INFO L290 TraceCheckUtils]: 47: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,839 INFO L290 TraceCheckUtils]: 48: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,840 INFO L290 TraceCheckUtils]: 49: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,840 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5226#true} {5349#(= main_~p~0 2)} #89#return; {5349#(= main_~p~0 2)} is VALID [2022-04-27 13:29:22,840 INFO L272 TraceCheckUtils]: 51: Hoare triple {5349#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,840 INFO L290 TraceCheckUtils]: 52: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,840 INFO L290 TraceCheckUtils]: 53: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,840 INFO L290 TraceCheckUtils]: 54: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,840 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5226#true} {5349#(= main_~p~0 2)} #91#return; {5349#(= main_~p~0 2)} is VALID [2022-04-27 13:29:22,841 INFO L290 TraceCheckUtils]: 56: Hoare triple {5349#(= main_~p~0 2)} assume !(~r~0 >= ~d~0); {5349#(= main_~p~0 2)} is VALID [2022-04-27 13:29:22,841 INFO L290 TraceCheckUtils]: 57: Hoare triple {5349#(= main_~p~0 2)} assume !false; {5349#(= main_~p~0 2)} is VALID [2022-04-27 13:29:22,841 INFO L272 TraceCheckUtils]: 58: Hoare triple {5349#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,841 INFO L290 TraceCheckUtils]: 59: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,841 INFO L290 TraceCheckUtils]: 60: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,841 INFO L290 TraceCheckUtils]: 61: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,842 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5226#true} {5349#(= main_~p~0 2)} #93#return; {5349#(= main_~p~0 2)} is VALID [2022-04-27 13:29:22,842 INFO L272 TraceCheckUtils]: 63: Hoare triple {5349#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,842 INFO L290 TraceCheckUtils]: 64: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,842 INFO L290 TraceCheckUtils]: 65: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,842 INFO L290 TraceCheckUtils]: 66: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,842 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5226#true} {5349#(= main_~p~0 2)} #95#return; {5349#(= main_~p~0 2)} is VALID [2022-04-27 13:29:22,843 INFO L290 TraceCheckUtils]: 68: Hoare triple {5349#(= 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); {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:22,843 INFO L290 TraceCheckUtils]: 69: Hoare triple {5297#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:22,843 INFO L290 TraceCheckUtils]: 70: Hoare triple {5297#(= main_~p~0 1)} assume !false; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:22,843 INFO L272 TraceCheckUtils]: 71: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,843 INFO L290 TraceCheckUtils]: 72: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,843 INFO L290 TraceCheckUtils]: 73: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,843 INFO L290 TraceCheckUtils]: 74: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,844 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #93#return; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:22,844 INFO L272 TraceCheckUtils]: 76: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:22,844 INFO L290 TraceCheckUtils]: 77: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:22,844 INFO L290 TraceCheckUtils]: 78: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:22,844 INFO L290 TraceCheckUtils]: 79: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:22,844 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #95#return; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:22,845 INFO L290 TraceCheckUtils]: 81: Hoare triple {5297#(= 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); {5227#false} is VALID [2022-04-27 13:29:22,845 INFO L290 TraceCheckUtils]: 82: Hoare triple {5227#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5227#false} is VALID [2022-04-27 13:29:22,845 INFO L290 TraceCheckUtils]: 83: Hoare triple {5227#false} assume !false; {5227#false} is VALID [2022-04-27 13:29:22,845 INFO L272 TraceCheckUtils]: 84: Hoare triple {5227#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5227#false} is VALID [2022-04-27 13:29:22,845 INFO L290 TraceCheckUtils]: 85: Hoare triple {5227#false} ~cond := #in~cond; {5227#false} is VALID [2022-04-27 13:29:22,845 INFO L290 TraceCheckUtils]: 86: Hoare triple {5227#false} assume 0 == ~cond; {5227#false} is VALID [2022-04-27 13:29:22,845 INFO L290 TraceCheckUtils]: 87: Hoare triple {5227#false} assume !false; {5227#false} is VALID [2022-04-27 13:29:22,845 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-27 13:29:22,845 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:29:23,075 INFO L290 TraceCheckUtils]: 87: Hoare triple {5227#false} assume !false; {5227#false} is VALID [2022-04-27 13:29:23,075 INFO L290 TraceCheckUtils]: 86: Hoare triple {5227#false} assume 0 == ~cond; {5227#false} is VALID [2022-04-27 13:29:23,075 INFO L290 TraceCheckUtils]: 85: Hoare triple {5227#false} ~cond := #in~cond; {5227#false} is VALID [2022-04-27 13:29:23,075 INFO L272 TraceCheckUtils]: 84: Hoare triple {5227#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5227#false} is VALID [2022-04-27 13:29:23,075 INFO L290 TraceCheckUtils]: 83: Hoare triple {5227#false} assume !false; {5227#false} is VALID [2022-04-27 13:29:23,075 INFO L290 TraceCheckUtils]: 82: Hoare triple {5227#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5227#false} is VALID [2022-04-27 13:29:23,076 INFO L290 TraceCheckUtils]: 81: Hoare triple {5297#(= 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); {5227#false} is VALID [2022-04-27 13:29:23,076 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #95#return; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,076 INFO L290 TraceCheckUtils]: 79: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,076 INFO L290 TraceCheckUtils]: 78: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,076 INFO L290 TraceCheckUtils]: 77: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,076 INFO L272 TraceCheckUtils]: 76: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,077 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #93#return; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,077 INFO L290 TraceCheckUtils]: 74: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,077 INFO L290 TraceCheckUtils]: 73: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,077 INFO L290 TraceCheckUtils]: 72: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,077 INFO L272 TraceCheckUtils]: 71: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,077 INFO L290 TraceCheckUtils]: 70: Hoare triple {5297#(= main_~p~0 1)} assume !false; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,077 INFO L290 TraceCheckUtils]: 69: Hoare triple {5297#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,078 INFO L290 TraceCheckUtils]: 68: Hoare triple {5551#(= (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); {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,078 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5226#true} {5551#(= (div main_~p~0 2) 1)} #95#return; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,078 INFO L290 TraceCheckUtils]: 66: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,079 INFO L290 TraceCheckUtils]: 65: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,079 INFO L290 TraceCheckUtils]: 64: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,079 INFO L272 TraceCheckUtils]: 63: Hoare triple {5551#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,079 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5226#true} {5551#(= (div main_~p~0 2) 1)} #93#return; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,079 INFO L290 TraceCheckUtils]: 61: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,079 INFO L290 TraceCheckUtils]: 60: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,079 INFO L290 TraceCheckUtils]: 59: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,079 INFO L272 TraceCheckUtils]: 58: Hoare triple {5551#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,079 INFO L290 TraceCheckUtils]: 57: Hoare triple {5551#(= (div main_~p~0 2) 1)} assume !false; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,080 INFO L290 TraceCheckUtils]: 56: Hoare triple {5551#(= (div main_~p~0 2) 1)} assume !(~r~0 >= ~d~0); {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,080 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5226#true} {5551#(= (div main_~p~0 2) 1)} #91#return; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,080 INFO L290 TraceCheckUtils]: 54: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,080 INFO L290 TraceCheckUtils]: 53: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,080 INFO L290 TraceCheckUtils]: 52: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,080 INFO L272 TraceCheckUtils]: 51: Hoare triple {5551#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,081 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5226#true} {5551#(= (div main_~p~0 2) 1)} #89#return; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,081 INFO L290 TraceCheckUtils]: 49: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,081 INFO L290 TraceCheckUtils]: 48: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,081 INFO L290 TraceCheckUtils]: 47: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,081 INFO L272 TraceCheckUtils]: 46: Hoare triple {5551#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,081 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5226#true} {5551#(= (div main_~p~0 2) 1)} #87#return; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,081 INFO L290 TraceCheckUtils]: 44: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,081 INFO L290 TraceCheckUtils]: 43: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,081 INFO L290 TraceCheckUtils]: 42: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,081 INFO L272 TraceCheckUtils]: 41: Hoare triple {5551#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,082 INFO L290 TraceCheckUtils]: 40: Hoare triple {5551#(= (div main_~p~0 2) 1)} assume !false; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,082 INFO L290 TraceCheckUtils]: 39: Hoare triple {5297#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5551#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:29:23,082 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #91#return; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,083 INFO L290 TraceCheckUtils]: 37: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,083 INFO L290 TraceCheckUtils]: 36: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,083 INFO L290 TraceCheckUtils]: 35: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,083 INFO L272 TraceCheckUtils]: 34: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,083 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #89#return; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,083 INFO L290 TraceCheckUtils]: 32: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,083 INFO L290 TraceCheckUtils]: 31: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,083 INFO L290 TraceCheckUtils]: 30: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,083 INFO L272 TraceCheckUtils]: 29: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,084 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5226#true} {5297#(= main_~p~0 1)} #87#return; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,084 INFO L290 TraceCheckUtils]: 27: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,084 INFO L290 TraceCheckUtils]: 26: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,084 INFO L290 TraceCheckUtils]: 25: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,084 INFO L272 TraceCheckUtils]: 24: Hoare triple {5297#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,084 INFO L290 TraceCheckUtils]: 23: Hoare triple {5297#(= main_~p~0 1)} assume !false; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,084 INFO L290 TraceCheckUtils]: 22: Hoare triple {5226#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5297#(= main_~p~0 1)} is VALID [2022-04-27 13:29:23,084 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5226#true} {5226#true} #85#return; {5226#true} is VALID [2022-04-27 13:29:23,084 INFO L290 TraceCheckUtils]: 20: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,084 INFO L290 TraceCheckUtils]: 19: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L290 TraceCheckUtils]: 18: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L272 TraceCheckUtils]: 17: Hoare triple {5226#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5226#true} {5226#true} #83#return; {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L290 TraceCheckUtils]: 15: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L290 TraceCheckUtils]: 14: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L290 TraceCheckUtils]: 13: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L272 TraceCheckUtils]: 12: Hoare triple {5226#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L290 TraceCheckUtils]: 11: Hoare triple {5226#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5226#true} {5226#true} #81#return; {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L290 TraceCheckUtils]: 9: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L290 TraceCheckUtils]: 8: Hoare triple {5226#true} assume !(0 == ~cond); {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L290 TraceCheckUtils]: 7: Hoare triple {5226#true} ~cond := #in~cond; {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L272 TraceCheckUtils]: 6: Hoare triple {5226#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L290 TraceCheckUtils]: 5: Hoare triple {5226#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; {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L272 TraceCheckUtils]: 4: Hoare triple {5226#true} call #t~ret6 := main(); {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5226#true} {5226#true} #101#return; {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {5226#true} assume true; {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {5226#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); {5226#true} is VALID [2022-04-27 13:29:23,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {5226#true} call ULTIMATE.init(); {5226#true} is VALID [2022-04-27 13:29:23,086 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-27 13:29:23,086 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:29:23,086 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [867775855] [2022-04-27 13:29:23,086 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:29:23,086 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2011074636] [2022-04-27 13:29:23,086 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2011074636] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:29:23,086 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:29:23,086 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-04-27 13:29:23,086 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1346184603] [2022-04-27 13:29:23,086 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:29:23,087 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) Word has length 88 [2022-04-27 13:29:23,087 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:29:23,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:29:23,138 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:23,138 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:29:23,138 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:29:23,138 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:29:23,138 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:29:23,139 INFO L87 Difference]: Start difference. First operand 107 states and 134 transitions. Second operand has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:29:23,342 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:23,343 INFO L93 Difference]: Finished difference Result 130 states and 164 transitions. [2022-04-27 13:29:23,343 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 13:29:23,343 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) Word has length 88 [2022-04-27 13:29:23,343 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:29:23,343 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:29:23,345 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 91 transitions. [2022-04-27 13:29:23,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:29:23,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 91 transitions. [2022-04-27 13:29:23,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 91 transitions. [2022-04-27 13:29:23,408 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:23,410 INFO L225 Difference]: With dead ends: 130 [2022-04-27 13:29:23,410 INFO L226 Difference]: Without dead ends: 111 [2022-04-27 13:29:23,410 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 171 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:23,410 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 1 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 169 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:29:23,411 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [2 Valid, 169 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:29:23,411 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-27 13:29:23,477 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2022-04-27 13:29:23,477 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:29:23,478 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:29:23,478 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:29:23,478 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:29:23,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:23,480 INFO L93 Difference]: Finished difference Result 111 states and 140 transitions. [2022-04-27 13:29:23,480 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-27 13:29:23,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:23,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:23,481 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 111 states. [2022-04-27 13:29:23,481 INFO L87 Difference]: Start difference. First operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 111 states. [2022-04-27 13:29:23,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:23,483 INFO L93 Difference]: Finished difference Result 111 states and 140 transitions. [2022-04-27 13:29:23,483 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-27 13:29:23,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:23,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:23,483 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:29:23,483 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:29:23,484 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:29:23,485 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 140 transitions. [2022-04-27 13:29:23,485 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 140 transitions. Word has length 88 [2022-04-27 13:29:23,486 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:29:23,486 INFO L495 AbstractCegarLoop]: Abstraction has 111 states and 140 transitions. [2022-04-27 13:29:23,486 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:29:23,486 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-27 13:29:23,486 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-27 13:29:23,486 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:29:23,486 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:29:23,504 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-27 13:29:23,704 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:29:23,705 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:29:23,705 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:29:23,705 INFO L85 PathProgramCache]: Analyzing trace with hash -1550260511, now seen corresponding path program 1 times [2022-04-27 13:29:23,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:29:23,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1563352863] [2022-04-27 13:29:23,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:23,705 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:29:23,713 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:29:23,713 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1964791150] [2022-04-27 13:29:23,713 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:23,713 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:29:23,713 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:29:23,714 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:29:23,715 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:29:23,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:23,753 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 13:29:23,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:23,763 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:29:24,611 INFO L272 TraceCheckUtils]: 0: Hoare triple {6328#true} call ULTIMATE.init(); {6328#true} is VALID [2022-04-27 13:29:24,611 INFO L290 TraceCheckUtils]: 1: Hoare triple {6328#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); {6328#true} is VALID [2022-04-27 13:29:24,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,611 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6328#true} {6328#true} #101#return; {6328#true} is VALID [2022-04-27 13:29:24,611 INFO L272 TraceCheckUtils]: 4: Hoare triple {6328#true} call #t~ret6 := main(); {6328#true} is VALID [2022-04-27 13:29:24,611 INFO L290 TraceCheckUtils]: 5: Hoare triple {6328#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; {6328#true} is VALID [2022-04-27 13:29:24,611 INFO L272 TraceCheckUtils]: 6: Hoare triple {6328#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {6328#true} is VALID [2022-04-27 13:29:24,611 INFO L290 TraceCheckUtils]: 7: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,611 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6328#true} {6328#true} #81#return; {6328#true} is VALID [2022-04-27 13:29:24,612 INFO L290 TraceCheckUtils]: 11: Hoare triple {6328#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6328#true} is VALID [2022-04-27 13:29:24,612 INFO L272 TraceCheckUtils]: 12: Hoare triple {6328#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {6328#true} is VALID [2022-04-27 13:29:24,612 INFO L290 TraceCheckUtils]: 13: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,612 INFO L290 TraceCheckUtils]: 14: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,612 INFO L290 TraceCheckUtils]: 15: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,612 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6328#true} {6328#true} #83#return; {6328#true} is VALID [2022-04-27 13:29:24,612 INFO L272 TraceCheckUtils]: 17: Hoare triple {6328#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6328#true} is VALID [2022-04-27 13:29:24,612 INFO L290 TraceCheckUtils]: 18: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,612 INFO L290 TraceCheckUtils]: 19: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,612 INFO L290 TraceCheckUtils]: 20: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,612 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6328#true} {6328#true} #85#return; {6328#true} is VALID [2022-04-27 13:29:24,613 INFO L290 TraceCheckUtils]: 22: Hoare triple {6328#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:24,613 INFO L290 TraceCheckUtils]: 23: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:24,613 INFO L272 TraceCheckUtils]: 24: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6328#true} is VALID [2022-04-27 13:29:24,613 INFO L290 TraceCheckUtils]: 25: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,613 INFO L290 TraceCheckUtils]: 26: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,613 INFO L290 TraceCheckUtils]: 27: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,614 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6328#true} {6399#(= main_~d~0 (mod main_~B~0 4294967296))} #87#return; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:24,614 INFO L272 TraceCheckUtils]: 29: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6328#true} is VALID [2022-04-27 13:29:24,614 INFO L290 TraceCheckUtils]: 30: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,614 INFO L290 TraceCheckUtils]: 31: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,614 INFO L290 TraceCheckUtils]: 32: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,614 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6328#true} {6399#(= main_~d~0 (mod main_~B~0 4294967296))} #89#return; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:24,614 INFO L272 TraceCheckUtils]: 34: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6328#true} is VALID [2022-04-27 13:29:24,614 INFO L290 TraceCheckUtils]: 35: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,614 INFO L290 TraceCheckUtils]: 36: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,614 INFO L290 TraceCheckUtils]: 37: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,615 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6328#true} {6399#(= main_~d~0 (mod main_~B~0 4294967296))} #91#return; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:24,616 INFO L290 TraceCheckUtils]: 39: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6451#(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:24,616 INFO L290 TraceCheckUtils]: 40: Hoare triple {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {6451#(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:24,617 INFO L272 TraceCheckUtils]: 41: Hoare triple {6451#(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)); {6328#true} is VALID [2022-04-27 13:29:24,617 INFO L290 TraceCheckUtils]: 42: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,617 INFO L290 TraceCheckUtils]: 43: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,617 INFO L290 TraceCheckUtils]: 44: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,617 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6328#true} {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {6451#(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:24,617 INFO L272 TraceCheckUtils]: 46: Hoare triple {6451#(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)); {6328#true} is VALID [2022-04-27 13:29:24,618 INFO L290 TraceCheckUtils]: 47: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,618 INFO L290 TraceCheckUtils]: 48: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,618 INFO L290 TraceCheckUtils]: 49: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,618 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6328#true} {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {6451#(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:24,618 INFO L272 TraceCheckUtils]: 51: Hoare triple {6451#(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)); {6328#true} is VALID [2022-04-27 13:29:24,618 INFO L290 TraceCheckUtils]: 52: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,618 INFO L290 TraceCheckUtils]: 53: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,618 INFO L290 TraceCheckUtils]: 54: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,619 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6328#true} {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {6451#(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:24,619 INFO L290 TraceCheckUtils]: 56: Hoare triple {6451#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {6503#(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:24,620 INFO L290 TraceCheckUtils]: 57: Hoare triple {6503#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {6503#(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:24,620 INFO L272 TraceCheckUtils]: 58: Hoare triple {6503#(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)); {6328#true} is VALID [2022-04-27 13:29:24,620 INFO L290 TraceCheckUtils]: 59: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,620 INFO L290 TraceCheckUtils]: 60: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,620 INFO L290 TraceCheckUtils]: 61: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,620 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6328#true} {6503#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {6503#(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:24,620 INFO L272 TraceCheckUtils]: 63: Hoare triple {6503#(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)); {6328#true} is VALID [2022-04-27 13:29:24,621 INFO L290 TraceCheckUtils]: 64: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,621 INFO L290 TraceCheckUtils]: 65: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,621 INFO L290 TraceCheckUtils]: 66: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,629 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6328#true} {6503#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {6503#(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:24,630 INFO L290 TraceCheckUtils]: 68: Hoare triple {6503#(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); {6540#(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:24,631 INFO L290 TraceCheckUtils]: 69: Hoare triple {6540#(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; {6540#(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:24,631 INFO L290 TraceCheckUtils]: 70: Hoare triple {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !false; {6540#(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:24,631 INFO L272 TraceCheckUtils]: 71: Hoare triple {6540#(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)); {6328#true} is VALID [2022-04-27 13:29:24,631 INFO L290 TraceCheckUtils]: 72: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,631 INFO L290 TraceCheckUtils]: 73: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,631 INFO L290 TraceCheckUtils]: 74: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,632 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6328#true} {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #93#return; {6540#(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:24,632 INFO L272 TraceCheckUtils]: 76: Hoare triple {6540#(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)); {6328#true} is VALID [2022-04-27 13:29:24,633 INFO L290 TraceCheckUtils]: 77: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,633 INFO L290 TraceCheckUtils]: 78: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,633 INFO L290 TraceCheckUtils]: 79: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,634 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6328#true} {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #95#return; {6540#(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:24,634 INFO L290 TraceCheckUtils]: 81: Hoare triple {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {6540#(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:24,634 INFO L272 TraceCheckUtils]: 82: Hoare triple {6540#(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)); {6328#true} is VALID [2022-04-27 13:29:24,634 INFO L290 TraceCheckUtils]: 83: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:24,634 INFO L290 TraceCheckUtils]: 84: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:24,634 INFO L290 TraceCheckUtils]: 85: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:24,635 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6328#true} {6540#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #97#return; {6540#(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:24,635 INFO L272 TraceCheckUtils]: 87: Hoare triple {6540#(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)); {6598#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:29:24,635 INFO L290 TraceCheckUtils]: 88: Hoare triple {6598#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6602#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:29:24,636 INFO L290 TraceCheckUtils]: 89: Hoare triple {6602#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6329#false} is VALID [2022-04-27 13:29:24,636 INFO L290 TraceCheckUtils]: 90: Hoare triple {6329#false} assume !false; {6329#false} is VALID [2022-04-27 13:29:24,636 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 9 refuted. 0 times theorem prover too weak. 232 trivial. 0 not checked. [2022-04-27 13:29:24,636 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:29:25,122 INFO L290 TraceCheckUtils]: 90: Hoare triple {6329#false} assume !false; {6329#false} is VALID [2022-04-27 13:29:25,124 INFO L290 TraceCheckUtils]: 89: Hoare triple {6602#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6329#false} is VALID [2022-04-27 13:29:25,124 INFO L290 TraceCheckUtils]: 88: Hoare triple {6598#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6602#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:29:25,125 INFO L272 TraceCheckUtils]: 87: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {6598#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:29:25,125 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6328#true} {6399#(= main_~d~0 (mod main_~B~0 4294967296))} #97#return; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,125 INFO L290 TraceCheckUtils]: 85: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,125 INFO L290 TraceCheckUtils]: 84: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,125 INFO L290 TraceCheckUtils]: 83: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,125 INFO L272 TraceCheckUtils]: 82: Hoare triple {6399#(= 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)); {6328#true} is VALID [2022-04-27 13:29:25,126 INFO L290 TraceCheckUtils]: 81: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,126 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6328#true} {6399#(= main_~d~0 (mod main_~B~0 4294967296))} #95#return; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,126 INFO L290 TraceCheckUtils]: 79: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,126 INFO L290 TraceCheckUtils]: 78: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,126 INFO L290 TraceCheckUtils]: 77: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,126 INFO L272 TraceCheckUtils]: 76: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6328#true} is VALID [2022-04-27 13:29:25,127 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6328#true} {6399#(= main_~d~0 (mod main_~B~0 4294967296))} #93#return; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,127 INFO L290 TraceCheckUtils]: 74: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,127 INFO L290 TraceCheckUtils]: 73: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,127 INFO L290 TraceCheckUtils]: 72: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,127 INFO L272 TraceCheckUtils]: 71: Hoare triple {6399#(= 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)); {6328#true} is VALID [2022-04-27 13:29:25,127 INFO L290 TraceCheckUtils]: 70: Hoare triple {6399#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,127 INFO L290 TraceCheckUtils]: 69: Hoare triple {6399#(= 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; {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,129 INFO L290 TraceCheckUtils]: 68: Hoare triple {6675#(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); {6399#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:29:25,129 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6328#true} {6675#(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))))} #95#return; {6675#(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:25,129 INFO L290 TraceCheckUtils]: 66: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,129 INFO L290 TraceCheckUtils]: 65: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,129 INFO L290 TraceCheckUtils]: 64: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,129 INFO L272 TraceCheckUtils]: 63: Hoare triple {6675#(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)); {6328#true} is VALID [2022-04-27 13:29:25,130 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6328#true} {6675#(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))))} #93#return; {6675#(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:25,130 INFO L290 TraceCheckUtils]: 61: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,130 INFO L290 TraceCheckUtils]: 60: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,130 INFO L290 TraceCheckUtils]: 59: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,130 INFO L272 TraceCheckUtils]: 58: Hoare triple {6675#(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)); {6328#true} is VALID [2022-04-27 13:29:25,130 INFO L290 TraceCheckUtils]: 57: Hoare triple {6675#(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 !false; {6675#(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:25,131 INFO L290 TraceCheckUtils]: 56: Hoare triple {6712#(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); {6675#(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:25,131 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6328#true} {6712#(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)))))} #91#return; {6712#(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:25,131 INFO L290 TraceCheckUtils]: 54: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,131 INFO L290 TraceCheckUtils]: 53: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,132 INFO L290 TraceCheckUtils]: 52: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,132 INFO L272 TraceCheckUtils]: 51: Hoare triple {6712#(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)); {6328#true} is VALID [2022-04-27 13:29:25,132 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6328#true} {6712#(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)))))} #89#return; {6712#(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:25,132 INFO L290 TraceCheckUtils]: 49: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,132 INFO L290 TraceCheckUtils]: 48: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,132 INFO L290 TraceCheckUtils]: 47: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,132 INFO L272 TraceCheckUtils]: 46: Hoare triple {6712#(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)); {6328#true} is VALID [2022-04-27 13:29:25,145 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6328#true} {6712#(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)))))} #87#return; {6712#(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:25,145 INFO L290 TraceCheckUtils]: 44: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,145 INFO L290 TraceCheckUtils]: 43: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,146 INFO L290 TraceCheckUtils]: 42: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,146 INFO L272 TraceCheckUtils]: 41: Hoare triple {6712#(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)); {6328#true} is VALID [2022-04-27 13:29:25,146 INFO L290 TraceCheckUtils]: 40: Hoare triple {6712#(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 !false; {6712#(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:25,147 INFO L290 TraceCheckUtils]: 39: Hoare triple {6764#(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; {6712#(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:25,148 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6328#true} {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #91#return; {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:29:25,148 INFO L290 TraceCheckUtils]: 37: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,148 INFO L290 TraceCheckUtils]: 36: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,148 INFO L290 TraceCheckUtils]: 35: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,148 INFO L272 TraceCheckUtils]: 34: Hoare triple {6764#(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)); {6328#true} is VALID [2022-04-27 13:29:25,148 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6328#true} {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #89#return; {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:29:25,148 INFO L290 TraceCheckUtils]: 32: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,149 INFO L290 TraceCheckUtils]: 31: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,149 INFO L290 TraceCheckUtils]: 30: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,149 INFO L272 TraceCheckUtils]: 29: Hoare triple {6764#(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)); {6328#true} is VALID [2022-04-27 13:29:25,149 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6328#true} {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #87#return; {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:29:25,149 INFO L290 TraceCheckUtils]: 27: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,149 INFO L290 TraceCheckUtils]: 26: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,149 INFO L290 TraceCheckUtils]: 25: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,149 INFO L272 TraceCheckUtils]: 24: Hoare triple {6764#(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)); {6328#true} is VALID [2022-04-27 13:29:25,149 INFO L290 TraceCheckUtils]: 23: Hoare triple {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !false; {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:29:25,150 INFO L290 TraceCheckUtils]: 22: Hoare triple {6328#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6764#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:29:25,150 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6328#true} {6328#true} #85#return; {6328#true} is VALID [2022-04-27 13:29:25,150 INFO L290 TraceCheckUtils]: 20: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,150 INFO L290 TraceCheckUtils]: 19: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,150 INFO L290 TraceCheckUtils]: 18: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,150 INFO L272 TraceCheckUtils]: 17: Hoare triple {6328#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6328#true} is VALID [2022-04-27 13:29:25,150 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6328#true} {6328#true} #83#return; {6328#true} is VALID [2022-04-27 13:29:25,150 INFO L290 TraceCheckUtils]: 15: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,150 INFO L290 TraceCheckUtils]: 14: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,150 INFO L290 TraceCheckUtils]: 13: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,150 INFO L272 TraceCheckUtils]: 12: Hoare triple {6328#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {6328#true} is VALID [2022-04-27 13:29:25,150 INFO L290 TraceCheckUtils]: 11: Hoare triple {6328#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6328#true} is VALID [2022-04-27 13:29:25,150 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6328#true} {6328#true} #81#return; {6328#true} is VALID [2022-04-27 13:29:25,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,151 INFO L290 TraceCheckUtils]: 8: Hoare triple {6328#true} assume !(0 == ~cond); {6328#true} is VALID [2022-04-27 13:29:25,151 INFO L290 TraceCheckUtils]: 7: Hoare triple {6328#true} ~cond := #in~cond; {6328#true} is VALID [2022-04-27 13:29:25,151 INFO L272 TraceCheckUtils]: 6: Hoare triple {6328#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {6328#true} is VALID [2022-04-27 13:29:25,151 INFO L290 TraceCheckUtils]: 5: Hoare triple {6328#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; {6328#true} is VALID [2022-04-27 13:29:25,151 INFO L272 TraceCheckUtils]: 4: Hoare triple {6328#true} call #t~ret6 := main(); {6328#true} is VALID [2022-04-27 13:29:25,151 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6328#true} {6328#true} #101#return; {6328#true} is VALID [2022-04-27 13:29:25,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {6328#true} assume true; {6328#true} is VALID [2022-04-27 13:29:25,151 INFO L290 TraceCheckUtils]: 1: Hoare triple {6328#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); {6328#true} is VALID [2022-04-27 13:29:25,151 INFO L272 TraceCheckUtils]: 0: Hoare triple {6328#true} call ULTIMATE.init(); {6328#true} is VALID [2022-04-27 13:29:25,151 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 9 refuted. 0 times theorem prover too weak. 232 trivial. 0 not checked. [2022-04-27 13:29:25,151 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:29:25,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1563352863] [2022-04-27 13:29:25,151 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:29:25,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1964791150] [2022-04-27 13:29:25,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1964791150] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:29:25,152 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:29:25,152 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-27 13:29:25,152 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [776182538] [2022-04-27 13:29:25,152 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:29:25,152 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) Word has length 91 [2022-04-27 13:29:25,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:29:25,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:29:25,233 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:25,233 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 13:29:25,234 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:29:25,234 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 13:29:25,234 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:29:25,234 INFO L87 Difference]: Start difference. First operand 111 states and 140 transitions. Second operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:29:26,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:26,451 INFO L93 Difference]: Finished difference Result 119 states and 148 transitions. [2022-04-27 13:29:26,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:29:26,451 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) Word has length 91 [2022-04-27 13:29:26,452 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:29:26,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:29:26,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-27 13:29:26,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:29:26,454 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-27 13:29:26,454 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-27 13:29:26,535 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:26,537 INFO L225 Difference]: With dead ends: 119 [2022-04-27 13:29:26,537 INFO L226 Difference]: Without dead ends: 102 [2022-04-27 13:29:26,537 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 171 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:26,537 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 10 mSDsluCounter, 212 mSDsCounter, 0 mSdLazyCounter, 157 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 270 SdHoareTripleChecker+Invalid, 169 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 157 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-27 13:29:26,537 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 270 Invalid, 169 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 157 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-27 13:29:26,538 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-27 13:29:26,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 102. [2022-04-27 13:29:26,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:29:26,587 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:29:26,587 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:29:26,587 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:29:26,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:26,589 INFO L93 Difference]: Finished difference Result 102 states and 126 transitions. [2022-04-27 13:29:26,589 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-27 13:29:26,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:26,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:26,590 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 102 states. [2022-04-27 13:29:26,590 INFO L87 Difference]: Start difference. First operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 102 states. [2022-04-27 13:29:26,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:26,592 INFO L93 Difference]: Finished difference Result 102 states and 126 transitions. [2022-04-27 13:29:26,592 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-27 13:29:26,592 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:26,592 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:26,592 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:29:26,592 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:29:26,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:29:26,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 126 transitions. [2022-04-27 13:29:26,594 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 126 transitions. Word has length 91 [2022-04-27 13:29:26,594 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:29:26,594 INFO L495 AbstractCegarLoop]: Abstraction has 102 states and 126 transitions. [2022-04-27 13:29:26,595 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:29:26,595 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-27 13:29:26,595 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2022-04-27 13:29:26,595 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:29:26,595 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:29:26,611 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-27 13:29:26,811 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:29:26,811 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:29:26,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:29:26,811 INFO L85 PathProgramCache]: Analyzing trace with hash -941589367, now seen corresponding path program 1 times [2022-04-27 13:29:26,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:29:26,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [545442220] [2022-04-27 13:29:26,812 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:26,812 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:29:26,826 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:29:26,826 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1716747260] [2022-04-27 13:29:26,826 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:26,826 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:29:26,826 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:29:26,827 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:29:26,828 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:29:26,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:26,865 INFO L263 TraceCheckSpWp]: Trace formula consists of 212 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:29:26,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:26,876 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:29:27,834 INFO L272 TraceCheckUtils]: 0: Hoare triple {7414#true} call ULTIMATE.init(); {7414#true} is VALID [2022-04-27 13:29:27,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {7414#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); {7414#true} is VALID [2022-04-27 13:29:27,834 INFO L290 TraceCheckUtils]: 2: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,834 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7414#true} {7414#true} #101#return; {7414#true} is VALID [2022-04-27 13:29:27,834 INFO L272 TraceCheckUtils]: 4: Hoare triple {7414#true} call #t~ret6 := main(); {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L290 TraceCheckUtils]: 5: Hoare triple {7414#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; {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L272 TraceCheckUtils]: 6: Hoare triple {7414#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 2 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L290 TraceCheckUtils]: 7: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L290 TraceCheckUtils]: 8: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L290 TraceCheckUtils]: 9: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7414#true} {7414#true} #81#return; {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L290 TraceCheckUtils]: 11: Hoare triple {7414#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L272 TraceCheckUtils]: 12: Hoare triple {7414#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 2 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L290 TraceCheckUtils]: 13: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L290 TraceCheckUtils]: 14: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L290 TraceCheckUtils]: 15: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7414#true} {7414#true} #83#return; {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L272 TraceCheckUtils]: 17: Hoare triple {7414#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L290 TraceCheckUtils]: 18: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L290 TraceCheckUtils]: 19: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L290 TraceCheckUtils]: 20: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,835 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7414#true} {7414#true} #85#return; {7414#true} is VALID [2022-04-27 13:29:27,839 INFO L290 TraceCheckUtils]: 22: Hoare triple {7414#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7485#(<= 1 main_~p~0)} is VALID [2022-04-27 13:29:27,840 INFO L290 TraceCheckUtils]: 23: Hoare triple {7485#(<= 1 main_~p~0)} assume !false; {7485#(<= 1 main_~p~0)} is VALID [2022-04-27 13:29:27,840 INFO L272 TraceCheckUtils]: 24: Hoare triple {7485#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,840 INFO L290 TraceCheckUtils]: 25: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,840 INFO L290 TraceCheckUtils]: 26: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,840 INFO L290 TraceCheckUtils]: 27: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,840 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7414#true} {7485#(<= 1 main_~p~0)} #87#return; {7485#(<= 1 main_~p~0)} is VALID [2022-04-27 13:29:27,840 INFO L272 TraceCheckUtils]: 29: Hoare triple {7485#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,840 INFO L290 TraceCheckUtils]: 30: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,840 INFO L290 TraceCheckUtils]: 31: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,840 INFO L290 TraceCheckUtils]: 32: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,841 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7414#true} {7485#(<= 1 main_~p~0)} #89#return; {7485#(<= 1 main_~p~0)} is VALID [2022-04-27 13:29:27,841 INFO L272 TraceCheckUtils]: 34: Hoare triple {7485#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,841 INFO L290 TraceCheckUtils]: 35: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,841 INFO L290 TraceCheckUtils]: 36: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,841 INFO L290 TraceCheckUtils]: 37: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,842 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7414#true} {7485#(<= 1 main_~p~0)} #91#return; {7485#(<= 1 main_~p~0)} is VALID [2022-04-27 13:29:27,842 INFO L290 TraceCheckUtils]: 39: Hoare triple {7485#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7537#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:29:27,843 INFO L290 TraceCheckUtils]: 40: Hoare triple {7537#(<= 1 (div main_~p~0 2))} assume !false; {7537#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:29:27,843 INFO L272 TraceCheckUtils]: 41: Hoare triple {7537#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,843 INFO L290 TraceCheckUtils]: 42: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,843 INFO L290 TraceCheckUtils]: 43: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,843 INFO L290 TraceCheckUtils]: 44: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,843 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7414#true} {7537#(<= 1 (div main_~p~0 2))} #87#return; {7537#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:29:27,843 INFO L272 TraceCheckUtils]: 46: Hoare triple {7537#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,843 INFO L290 TraceCheckUtils]: 47: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,843 INFO L290 TraceCheckUtils]: 48: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,843 INFO L290 TraceCheckUtils]: 49: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,844 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7414#true} {7537#(<= 1 (div main_~p~0 2))} #89#return; {7537#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:29:27,844 INFO L272 TraceCheckUtils]: 51: Hoare triple {7537#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,844 INFO L290 TraceCheckUtils]: 52: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,844 INFO L290 TraceCheckUtils]: 53: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,844 INFO L290 TraceCheckUtils]: 54: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,844 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7414#true} {7537#(<= 1 (div main_~p~0 2))} #91#return; {7537#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:29:27,845 INFO L290 TraceCheckUtils]: 56: Hoare triple {7537#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:27,845 INFO L290 TraceCheckUtils]: 57: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:27,845 INFO L272 TraceCheckUtils]: 58: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,845 INFO L290 TraceCheckUtils]: 59: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,845 INFO L290 TraceCheckUtils]: 60: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,845 INFO L290 TraceCheckUtils]: 61: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,846 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7414#true} {7589#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:27,846 INFO L272 TraceCheckUtils]: 63: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,846 INFO L290 TraceCheckUtils]: 64: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,846 INFO L290 TraceCheckUtils]: 65: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,846 INFO L290 TraceCheckUtils]: 66: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,847 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7414#true} {7589#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:27,847 INFO L272 TraceCheckUtils]: 68: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,847 INFO L290 TraceCheckUtils]: 69: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,847 INFO L290 TraceCheckUtils]: 70: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,848 INFO L290 TraceCheckUtils]: 71: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,848 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7414#true} {7589#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:27,848 INFO L290 TraceCheckUtils]: 73: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:27,848 INFO L290 TraceCheckUtils]: 74: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:27,848 INFO L272 TraceCheckUtils]: 75: Hoare triple {7589#(<= 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)); {7414#true} is VALID [2022-04-27 13:29:27,848 INFO L290 TraceCheckUtils]: 76: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,849 INFO L290 TraceCheckUtils]: 77: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,849 INFO L290 TraceCheckUtils]: 78: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,849 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7414#true} {7589#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:27,849 INFO L272 TraceCheckUtils]: 80: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7414#true} is VALID [2022-04-27 13:29:27,849 INFO L290 TraceCheckUtils]: 81: Hoare triple {7414#true} ~cond := #in~cond; {7414#true} is VALID [2022-04-27 13:29:27,849 INFO L290 TraceCheckUtils]: 82: Hoare triple {7414#true} assume !(0 == ~cond); {7414#true} is VALID [2022-04-27 13:29:27,849 INFO L290 TraceCheckUtils]: 83: Hoare triple {7414#true} assume true; {7414#true} is VALID [2022-04-27 13:29:27,850 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7414#true} {7589#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {7589#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:29:27,850 INFO L290 TraceCheckUtils]: 85: Hoare triple {7589#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {7415#false} is VALID [2022-04-27 13:29:27,850 INFO L272 TraceCheckUtils]: 86: Hoare triple {7415#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7415#false} is VALID [2022-04-27 13:29:27,850 INFO L290 TraceCheckUtils]: 87: Hoare triple {7415#false} ~cond := #in~cond; {7415#false} is VALID [2022-04-27 13:29:27,850 INFO L290 TraceCheckUtils]: 88: Hoare triple {7415#false} assume !(0 == ~cond); {7415#false} is VALID [2022-04-27 13:29:27,850 INFO L290 TraceCheckUtils]: 89: Hoare triple {7415#false} assume true; {7415#false} is VALID [2022-04-27 13:29:27,850 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {7415#false} {7415#false} #97#return; {7415#false} is VALID [2022-04-27 13:29:27,850 INFO L272 TraceCheckUtils]: 91: Hoare triple {7415#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {7415#false} is VALID [2022-04-27 13:29:27,850 INFO L290 TraceCheckUtils]: 92: Hoare triple {7415#false} ~cond := #in~cond; {7415#false} is VALID [2022-04-27 13:29:27,850 INFO L290 TraceCheckUtils]: 93: Hoare triple {7415#false} assume 0 == ~cond; {7415#false} is VALID [2022-04-27 13:29:27,850 INFO L290 TraceCheckUtils]: 94: Hoare triple {7415#false} assume !false; {7415#false} is VALID [2022-04-27 13:29:27,851 INFO L134 CoverageAnalysis]: Checked inductivity of 315 backedges. 81 proven. 0 refuted. 0 times theorem prover too weak. 234 trivial. 0 not checked. [2022-04-27 13:29:27,851 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:29:27,851 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:29:27,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [545442220] [2022-04-27 13:29:27,851 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:29:27,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1716747260] [2022-04-27 13:29:27,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1716747260] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:29:27,851 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:29:27,851 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:29:27,851 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1215001038] [2022-04-27 13:29:27,851 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:29:27,852 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 95 [2022-04-27 13:29:27,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:29:27,852 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:29:27,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:27,894 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:29:27,894 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:29:27,895 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:29:27,895 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:29:27,895 INFO L87 Difference]: Start difference. First operand 102 states and 126 transitions. Second operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:29:28,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:28,172 INFO L93 Difference]: Finished difference Result 116 states and 141 transitions. [2022-04-27 13:29:28,172 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:29:28,172 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 95 [2022-04-27 13:29:28,173 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:29:28,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:29:28,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-27 13:29:28,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:29:28,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-27 13:29:28,192 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-04-27 13:29:28,261 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:28,262 INFO L225 Difference]: With dead ends: 116 [2022-04-27 13:29:28,262 INFO L226 Difference]: Without dead ends: 104 [2022-04-27 13:29:28,262 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 91 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:28,263 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:29:28,263 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 122 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:29:28,263 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-27 13:29:28,317 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 104. [2022-04-27 13:29:28,317 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:29:28,318 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:29:28,318 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:29:28,319 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:29:28,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:28,320 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-27 13:29:28,320 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-27 13:29:28,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:28,321 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:28,321 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 104 states. [2022-04-27 13:29:28,321 INFO L87 Difference]: Start difference. First operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 104 states. [2022-04-27 13:29:28,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:28,323 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-27 13:29:28,323 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-27 13:29:28,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:28,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:28,323 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:29:28,323 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:29:28,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:29:28,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 127 transitions. [2022-04-27 13:29:28,325 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 127 transitions. Word has length 95 [2022-04-27 13:29:28,325 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:29:28,325 INFO L495 AbstractCegarLoop]: Abstraction has 104 states and 127 transitions. [2022-04-27 13:29:28,325 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:29:28,325 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-27 13:29:28,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-27 13:29:28,326 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:29:28,326 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 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, 1, 1] [2022-04-27 13:29:28,361 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:29:28,531 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:29:28,531 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:29:28,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:29:28,532 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 3 times [2022-04-27 13:29:28,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:29:28,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1838156485] [2022-04-27 13:29:28,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:28,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:29:28,542 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:29:28,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1737818245] [2022-04-27 13:29:28,542 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:29:28,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:29:28,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:29:28,547 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:29:28,550 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:29:28,604 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:29:28,604 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:29:28,605 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-27 13:29:28,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:28,630 INFO L286 TraceCheckSpWp]: Computing forward predicates...