./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound20.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound20.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 6977cec8a403ff3f16926270da45a38f7b1f51a39c72ba3797fb74b9637fd796 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:29:50,815 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:29:50,825 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:29:50,858 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:29:50,858 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:29:50,859 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:29:50,860 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:29:50,862 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:29:50,863 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:29:50,869 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:29:50,870 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:29:50,872 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:29:50,873 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:29:50,875 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:29:50,877 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:29:50,879 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:29:50,880 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:29:50,881 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:29:50,884 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:29:50,887 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:29:50,890 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:29:50,891 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:29:50,893 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:29:50,894 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:29:50,899 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:29:50,901 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:29:50,901 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:29:50,902 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:29:50,903 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:29:50,904 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:29:50,904 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:29:50,905 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:29:50,907 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:29:50,908 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:29:50,909 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:29:50,909 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:29:50,909 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:29:50,910 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:29:50,910 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:29:50,911 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:29:50,911 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:29:50,912 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 17:29:50,935 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:29:50,936 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:29:50,936 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:29:50,936 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:29:50,937 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:29:50,937 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:29:50,938 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:29:50,938 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:29:50,938 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:29:50,938 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:29:50,938 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:29:50,939 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:29:50,939 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:29:50,939 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:29:50,939 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:29:50,939 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:29:50,940 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:29:50,940 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:29:50,940 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:29:50,940 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:29:50,940 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:29:50,941 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:29:50,941 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:29:50,941 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:29:50,941 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:29:50,941 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:29:50,942 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:29:50,942 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:29:50,942 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:29:50,942 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:29:50,942 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:29:50,943 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:29:50,943 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:29:50,943 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.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(reach_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 6977cec8a403ff3f16926270da45a38f7b1f51a39c72ba3797fb74b9637fd796 [2022-02-20 17:29:51,195 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:29:51,215 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:29:51,217 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:29:51,218 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:29:51,219 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:29:51,220 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound20.c [2022-02-20 17:29:51,287 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5955a7568/0b672d8741c345efbbdf0b03993ea3ce/FLAG7e241115d [2022-02-20 17:29:51,631 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:29:51,631 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound20.c [2022-02-20 17:29:51,638 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5955a7568/0b672d8741c345efbbdf0b03993ea3ce/FLAG7e241115d [2022-02-20 17:29:52,041 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5955a7568/0b672d8741c345efbbdf0b03993ea3ce [2022-02-20 17:29:52,044 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:29:52,048 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:29:52,050 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:29:52,050 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:29:52,054 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:29:52,055 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:29:52" (1/1) ... [2022-02-20 17:29:52,056 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@bcaff39 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52, skipping insertion in model container [2022-02-20 17:29:52,058 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:29:52" (1/1) ... [2022-02-20 17:29:52,064 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:29:52,079 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:29:52,207 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound20.c[538,551] [2022-02-20 17:29:52,238 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:29:52,252 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:29:52,272 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard-ll_valuebound20.c[538,551] [2022-02-20 17:29:52,293 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:29:52,307 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:29:52,308 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52 WrapperNode [2022-02-20 17:29:52,308 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:29:52,309 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:29:52,309 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:29:52,309 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:29:52,315 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52" (1/1) ... [2022-02-20 17:29:52,321 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52" (1/1) ... [2022-02-20 17:29:52,348 INFO L137 Inliner]: procedures = 14, calls = 17, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 55 [2022-02-20 17:29:52,349 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:29:52,350 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:29:52,350 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:29:52,350 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:29:52,357 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52" (1/1) ... [2022-02-20 17:29:52,357 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52" (1/1) ... [2022-02-20 17:29:52,365 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52" (1/1) ... [2022-02-20 17:29:52,366 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52" (1/1) ... [2022-02-20 17:29:52,373 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52" (1/1) ... [2022-02-20 17:29:52,380 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52" (1/1) ... [2022-02-20 17:29:52,382 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52" (1/1) ... [2022-02-20 17:29:52,384 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:29:52,385 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:29:52,386 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:29:52,391 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:29:52,392 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52" (1/1) ... [2022-02-20 17:29:52,396 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:29:52,404 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:52,414 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-02-20 17:29:52,416 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-02-20 17:29:52,440 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:29:52,440 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:29:52,440 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:29:52,441 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:29:52,441 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:29:52,441 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:29:52,441 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:29:52,441 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:29:52,483 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:29:52,484 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:29:52,584 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:29:52,590 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:29:52,590 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:29:52,592 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:29:52 BoogieIcfgContainer [2022-02-20 17:29:52,592 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:29:52,593 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:29:52,593 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:29:52,596 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:29:52,596 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:29:52" (1/3) ... [2022-02-20 17:29:52,597 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5f7ebf03 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:29:52, skipping insertion in model container [2022-02-20 17:29:52,597 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:52" (2/3) ... [2022-02-20 17:29:52,598 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5f7ebf03 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:29:52, skipping insertion in model container [2022-02-20 17:29:52,598 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:29:52" (3/3) ... [2022-02-20 17:29:52,599 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound20.c [2022-02-20 17:29:52,603 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:29:52,603 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:29:52,642 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:29:52,647 INFO L339 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, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 17:29:52,648 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:29:52,663 INFO L276 IsEmpty]: Start isEmpty. Operand has 33 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:29:52,671 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 17:29:52,671 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:52,672 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:29:52,672 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:52,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:52,677 INFO L85 PathProgramCache]: Analyzing trace with hash -487550744, now seen corresponding path program 1 times [2022-02-20 17:29:52,684 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:52,684 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [663559020] [2022-02-20 17:29:52,684 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:52,685 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:52,756 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:52,810 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:29:52,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:52,841 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:52,842 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:52,842 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:52,843 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#false} {36#true} #78#return; {37#false} is VALID [2022-02-20 17:29:52,843 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:29:52,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:52,855 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:52,856 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:52,856 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:52,857 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#false} {37#false} #80#return; {37#false} is VALID [2022-02-20 17:29:52,869 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:29:52,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:52,877 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:52,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:52,878 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:52,878 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#false} {37#false} #82#return; {37#false} is VALID [2022-02-20 17:29:52,879 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} assume { :begin_inline_ULTIMATE.init } 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); {36#true} is VALID [2022-02-20 17:29:52,879 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {36#true} is VALID [2022-02-20 17:29:52,880 INFO L272 TraceCheckUtils]: 2: Hoare triple {36#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 20 then 1 else 0)); {36#true} is VALID [2022-02-20 17:29:52,880 INFO L290 TraceCheckUtils]: 3: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:52,880 INFO L290 TraceCheckUtils]: 4: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:52,881 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:52,881 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {37#false} {36#true} #78#return; {37#false} is VALID [2022-02-20 17:29:52,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#false} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {37#false} is VALID [2022-02-20 17:29:52,881 INFO L272 TraceCheckUtils]: 8: Hoare triple {37#false} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 20 then 1 else 0)); {36#true} is VALID [2022-02-20 17:29:52,882 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:52,882 INFO L290 TraceCheckUtils]: 10: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:52,883 INFO L290 TraceCheckUtils]: 11: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:52,883 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {37#false} {37#false} #80#return; {37#false} is VALID [2022-02-20 17:29:52,883 INFO L272 TraceCheckUtils]: 13: Hoare triple {37#false} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {36#true} is VALID [2022-02-20 17:29:52,883 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:29:52,884 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:29:52,884 INFO L290 TraceCheckUtils]: 16: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:29:52,884 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {37#false} {37#false} #82#return; {37#false} is VALID [2022-02-20 17:29:52,885 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#false} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {37#false} is VALID [2022-02-20 17:29:52,885 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#false} assume !false; {37#false} is VALID [2022-02-20 17:29:52,885 INFO L272 TraceCheckUtils]: 20: Hoare triple {37#false} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {37#false} is VALID [2022-02-20 17:29:52,885 INFO L290 TraceCheckUtils]: 21: Hoare triple {37#false} ~cond := #in~cond; {37#false} is VALID [2022-02-20 17:29:52,890 INFO L290 TraceCheckUtils]: 22: Hoare triple {37#false} assume 0 == ~cond; {37#false} is VALID [2022-02-20 17:29:52,897 INFO L290 TraceCheckUtils]: 23: Hoare triple {37#false} assume !false; {37#false} is VALID [2022-02-20 17:29:52,911 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 17:29:52,912 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:52,912 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [663559020] [2022-02-20 17:29:52,913 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [663559020] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:52,913 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:52,913 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:29:52,915 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1506256147] [2022-02-20 17:29:52,915 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:52,920 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-02-20 17:29:52,926 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:52,930 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:29:52,977 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:52,978 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:29:52,978 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:52,999 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:29:53,001 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:29:53,004 INFO L87 Difference]: Start difference. First operand has 33 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:29:53,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:53,068 INFO L93 Difference]: Finished difference Result 63 states and 104 transitions. [2022-02-20 17:29:53,068 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:29:53,069 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-02-20 17:29:53,069 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:53,070 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:29:53,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 104 transitions. [2022-02-20 17:29:53,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:29:53,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 104 transitions. [2022-02-20 17:29:53,091 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 104 transitions. [2022-02-20 17:29:53,219 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:53,231 INFO L225 Difference]: With dead ends: 63 [2022-02-20 17:29:53,231 INFO L226 Difference]: Without dead ends: 29 [2022-02-20 17:29:53,234 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:29:53,241 INFO L933 BasicCegarLoop]: 43 mSDtfsCounter, 0 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:53,243 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:53,258 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-02-20 17:29:53,279 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-02-20 17:29:53,280 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:53,281 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:53,282 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:53,283 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:53,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:53,295 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2022-02-20 17:29:53,295 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 17:29:53,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:53,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:53,302 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 29 states. [2022-02-20 17:29:53,303 INFO L87 Difference]: Start difference. First operand has 29 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 29 states. [2022-02-20 17:29:53,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:53,314 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2022-02-20 17:29:53,314 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 17:29:53,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:53,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:53,316 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:53,316 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:53,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:53,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 39 transitions. [2022-02-20 17:29:53,327 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 39 transitions. Word has length 24 [2022-02-20 17:29:53,328 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:53,328 INFO L470 AbstractCegarLoop]: Abstraction has 29 states and 39 transitions. [2022-02-20 17:29:53,328 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 17:29:53,329 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 17:29:53,330 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 17:29:53,330 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:53,331 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:29:53,331 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:29:53,332 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:53,333 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:53,333 INFO L85 PathProgramCache]: Analyzing trace with hash -1636258074, now seen corresponding path program 1 times [2022-02-20 17:29:53,333 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:53,333 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1252409548] [2022-02-20 17:29:53,334 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:53,334 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:53,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:53,466 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:29:53,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:53,498 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:53,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:53,499 INFO L290 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:53,499 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #78#return; {242#true} is VALID [2022-02-20 17:29:53,499 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:29:53,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:53,507 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:53,507 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:53,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:53,508 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #80#return; {242#true} is VALID [2022-02-20 17:29:53,508 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:29:53,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:53,519 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:53,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:53,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:53,520 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #82#return; {242#true} is VALID [2022-02-20 17:29:53,520 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} assume { :begin_inline_ULTIMATE.init } 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); {242#true} is VALID [2022-02-20 17:29:53,520 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {242#true} is VALID [2022-02-20 17:29:53,521 INFO L272 TraceCheckUtils]: 2: Hoare triple {242#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 20 then 1 else 0)); {242#true} is VALID [2022-02-20 17:29:53,521 INFO L290 TraceCheckUtils]: 3: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:53,521 INFO L290 TraceCheckUtils]: 4: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:53,521 INFO L290 TraceCheckUtils]: 5: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:53,522 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {242#true} {242#true} #78#return; {242#true} is VALID [2022-02-20 17:29:53,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {242#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {242#true} is VALID [2022-02-20 17:29:53,522 INFO L272 TraceCheckUtils]: 8: Hoare triple {242#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 20 then 1 else 0)); {242#true} is VALID [2022-02-20 17:29:53,522 INFO L290 TraceCheckUtils]: 9: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:53,522 INFO L290 TraceCheckUtils]: 10: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:53,523 INFO L290 TraceCheckUtils]: 11: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:53,524 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {242#true} {242#true} #80#return; {242#true} is VALID [2022-02-20 17:29:53,524 INFO L272 TraceCheckUtils]: 13: Hoare triple {242#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {242#true} is VALID [2022-02-20 17:29:53,524 INFO L290 TraceCheckUtils]: 14: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:29:53,524 INFO L290 TraceCheckUtils]: 15: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:29:53,525 INFO L290 TraceCheckUtils]: 16: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:29:53,525 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {242#true} {242#true} #82#return; {242#true} is VALID [2022-02-20 17:29:53,525 INFO L290 TraceCheckUtils]: 18: Hoare triple {242#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {256#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:29:53,526 INFO L290 TraceCheckUtils]: 19: Hoare triple {256#(= |ULTIMATE.start_main_~q~0#1| 0)} assume !false; {256#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:29:53,528 INFO L272 TraceCheckUtils]: 20: Hoare triple {256#(= |ULTIMATE.start_main_~q~0#1| 0)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {257#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:29:53,529 INFO L290 TraceCheckUtils]: 21: Hoare triple {257#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {258#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:29:53,531 INFO L290 TraceCheckUtils]: 22: Hoare triple {258#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {243#false} is VALID [2022-02-20 17:29:53,531 INFO L290 TraceCheckUtils]: 23: Hoare triple {243#false} assume !false; {243#false} is VALID [2022-02-20 17:29:53,531 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 17:29:53,532 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:53,533 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1252409548] [2022-02-20 17:29:53,533 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1252409548] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:53,533 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:53,533 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:53,533 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1893625572] [2022-02-20 17:29:53,534 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:53,535 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 24 [2022-02-20 17:29:53,536 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:53,536 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:53,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:53,566 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:53,567 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:53,569 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:53,569 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:53,569 INFO L87 Difference]: Start difference. First operand 29 states and 39 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:53,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:53,741 INFO L93 Difference]: Finished difference Result 42 states and 56 transitions. [2022-02-20 17:29:53,741 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:29:53,741 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 24 [2022-02-20 17:29:53,743 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:53,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:53,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:29:53,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:53,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:29:53,758 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2022-02-20 17:29:53,812 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:53,815 INFO L225 Difference]: With dead ends: 42 [2022-02-20 17:29:53,815 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 17:29:53,820 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 8 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-02-20 17:29:53,822 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 12 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 21 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 21 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:53,822 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 134 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 21 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:53,824 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 17:29:53,831 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2022-02-20 17:29:53,831 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:53,831 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 33 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:53,832 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 33 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:53,833 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 33 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:53,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:53,838 INFO L93 Difference]: Finished difference Result 40 states and 54 transitions. [2022-02-20 17:29:53,838 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 54 transitions. [2022-02-20 17:29:53,842 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:53,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:53,843 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 40 states. [2022-02-20 17:29:53,845 INFO L87 Difference]: Start difference. First operand has 33 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 40 states. [2022-02-20 17:29:53,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:53,855 INFO L93 Difference]: Finished difference Result 40 states and 54 transitions. [2022-02-20 17:29:53,855 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 54 transitions. [2022-02-20 17:29:53,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:53,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:53,856 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:53,856 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:53,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 3 states have call predecessors, (10), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:53,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 42 transitions. [2022-02-20 17:29:53,858 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 42 transitions. Word has length 24 [2022-02-20 17:29:53,858 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:53,858 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 42 transitions. [2022-02-20 17:29:53,858 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:53,859 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 42 transitions. [2022-02-20 17:29:53,859 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:29:53,859 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:53,859 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:29:53,859 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 17:29:53,860 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:53,860 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:53,860 INFO L85 PathProgramCache]: Analyzing trace with hash 906849917, now seen corresponding path program 1 times [2022-02-20 17:29:53,860 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:53,860 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [602625086] [2022-02-20 17:29:53,861 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:53,861 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:53,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:53,972 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:29:53,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:53,983 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:53,986 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:53,986 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:53,986 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {450#true} #78#return; {450#true} is VALID [2022-02-20 17:29:53,986 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:29:53,989 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:54,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:54,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:54,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:54,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {450#true} #80#return; {450#true} is VALID [2022-02-20 17:29:54,002 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:29:54,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:54,017 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:54,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:54,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:54,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {450#true} #82#return; {450#true} is VALID [2022-02-20 17:29:54,019 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 17:29:54,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:54,028 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:54,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:54,028 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:54,029 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} #84#return; {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:54,029 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} assume { :begin_inline_ULTIMATE.init } 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); {450#true} is VALID [2022-02-20 17:29:54,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {450#true} is VALID [2022-02-20 17:29:54,030 INFO L272 TraceCheckUtils]: 2: Hoare triple {450#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 20 then 1 else 0)); {450#true} is VALID [2022-02-20 17:29:54,030 INFO L290 TraceCheckUtils]: 3: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:54,030 INFO L290 TraceCheckUtils]: 4: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:54,030 INFO L290 TraceCheckUtils]: 5: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:54,030 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {450#true} {450#true} #78#return; {450#true} is VALID [2022-02-20 17:29:54,031 INFO L290 TraceCheckUtils]: 7: Hoare triple {450#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {450#true} is VALID [2022-02-20 17:29:54,031 INFO L272 TraceCheckUtils]: 8: Hoare triple {450#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 20 then 1 else 0)); {450#true} is VALID [2022-02-20 17:29:54,031 INFO L290 TraceCheckUtils]: 9: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:54,031 INFO L290 TraceCheckUtils]: 10: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:54,031 INFO L290 TraceCheckUtils]: 11: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:54,031 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {450#true} {450#true} #80#return; {450#true} is VALID [2022-02-20 17:29:54,032 INFO L272 TraceCheckUtils]: 13: Hoare triple {450#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {450#true} is VALID [2022-02-20 17:29:54,032 INFO L290 TraceCheckUtils]: 14: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:54,032 INFO L290 TraceCheckUtils]: 15: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:54,032 INFO L290 TraceCheckUtils]: 16: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:54,032 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {450#true} {450#true} #82#return; {450#true} is VALID [2022-02-20 17:29:54,033 INFO L290 TraceCheckUtils]: 18: Hoare triple {450#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:54,034 INFO L290 TraceCheckUtils]: 19: Hoare triple {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} assume !false; {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:54,034 INFO L272 TraceCheckUtils]: 20: Hoare triple {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {450#true} is VALID [2022-02-20 17:29:54,034 INFO L290 TraceCheckUtils]: 21: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:29:54,034 INFO L290 TraceCheckUtils]: 22: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:29:54,034 INFO L290 TraceCheckUtils]: 23: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:29:54,035 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {450#true} {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} #84#return; {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:54,036 INFO L272 TraceCheckUtils]: 25: Hoare triple {464#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:29:54,037 INFO L290 TraceCheckUtils]: 26: Hoare triple {469#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {470#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:29:54,037 INFO L290 TraceCheckUtils]: 27: Hoare triple {470#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {451#false} is VALID [2022-02-20 17:29:54,037 INFO L290 TraceCheckUtils]: 28: Hoare triple {451#false} assume !false; {451#false} is VALID [2022-02-20 17:29:54,038 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 17:29:54,038 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:54,038 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [602625086] [2022-02-20 17:29:54,038 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [602625086] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:54,038 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:54,038 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:54,039 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1543380471] [2022-02-20 17:29:54,039 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:54,043 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 29 [2022-02-20 17:29:54,043 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:54,044 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:29:54,065 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:54,065 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:54,065 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:54,066 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:54,066 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:54,066 INFO L87 Difference]: Start difference. First operand 33 states and 42 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:29:54,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:54,267 INFO L93 Difference]: Finished difference Result 46 states and 59 transitions. [2022-02-20 17:29:54,267 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:29:54,267 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 29 [2022-02-20 17:29:54,268 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:54,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:29:54,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:29:54,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:29:54,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:29:54,271 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2022-02-20 17:29:54,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:54,335 INFO L225 Difference]: With dead ends: 46 [2022-02-20 17:29:54,335 INFO L226 Difference]: Without dead ends: 44 [2022-02-20 17:29:54,335 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 10 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-02-20 17:29:54,336 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 10 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:54,336 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 130 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:54,337 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-02-20 17:29:54,354 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-02-20 17:29:54,354 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:54,355 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:54,355 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:54,355 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:54,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:54,357 INFO L93 Difference]: Finished difference Result 44 states and 57 transitions. [2022-02-20 17:29:54,357 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 57 transitions. [2022-02-20 17:29:54,358 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:54,358 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:54,359 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 44 states. [2022-02-20 17:29:54,361 INFO L87 Difference]: Start difference. First operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 44 states. [2022-02-20 17:29:54,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:54,364 INFO L93 Difference]: Finished difference Result 44 states and 57 transitions. [2022-02-20 17:29:54,364 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 57 transitions. [2022-02-20 17:29:54,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:54,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:54,365 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:54,365 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:54,365 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-02-20 17:29:54,367 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 45 transitions. [2022-02-20 17:29:54,367 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 45 transitions. Word has length 29 [2022-02-20 17:29:54,367 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:54,368 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 45 transitions. [2022-02-20 17:29:54,368 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 17:29:54,368 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2022-02-20 17:29:54,369 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 17:29:54,369 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:54,369 INFO L514 BasicCegarLoop]: 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] [2022-02-20 17:29:54,369 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 17:29:54,370 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:54,370 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:54,370 INFO L85 PathProgramCache]: Analyzing trace with hash 710995206, now seen corresponding path program 1 times [2022-02-20 17:29:54,370 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:54,371 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1203345367] [2022-02-20 17:29:54,371 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:54,371 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:54,389 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:54,393 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [595988252] [2022-02-20 17:29:54,393 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:54,393 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:54,393 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:54,395 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-02-20 17:29:54,396 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-02-20 17:29:54,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:54,438 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:29:54,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:54,453 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:54,671 INFO L290 TraceCheckUtils]: 0: Hoare triple {680#true} assume { :begin_inline_ULTIMATE.init } 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); {680#true} is VALID [2022-02-20 17:29:54,671 INFO L290 TraceCheckUtils]: 1: Hoare triple {680#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {680#true} is VALID [2022-02-20 17:29:54,671 INFO L272 TraceCheckUtils]: 2: Hoare triple {680#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 20 then 1 else 0)); {680#true} is VALID [2022-02-20 17:29:54,671 INFO L290 TraceCheckUtils]: 3: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:54,672 INFO L290 TraceCheckUtils]: 4: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:54,672 INFO L290 TraceCheckUtils]: 5: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:54,672 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {680#true} {680#true} #78#return; {680#true} is VALID [2022-02-20 17:29:54,672 INFO L290 TraceCheckUtils]: 7: Hoare triple {680#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {680#true} is VALID [2022-02-20 17:29:54,672 INFO L272 TraceCheckUtils]: 8: Hoare triple {680#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 20 then 1 else 0)); {680#true} is VALID [2022-02-20 17:29:54,673 INFO L290 TraceCheckUtils]: 9: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:54,673 INFO L290 TraceCheckUtils]: 10: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:54,673 INFO L290 TraceCheckUtils]: 11: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:54,673 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {680#true} {680#true} #80#return; {680#true} is VALID [2022-02-20 17:29:54,673 INFO L272 TraceCheckUtils]: 13: Hoare triple {680#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {680#true} is VALID [2022-02-20 17:29:54,674 INFO L290 TraceCheckUtils]: 14: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:54,674 INFO L290 TraceCheckUtils]: 15: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:54,674 INFO L290 TraceCheckUtils]: 16: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:54,674 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {680#true} {680#true} #82#return; {680#true} is VALID [2022-02-20 17:29:54,679 INFO L290 TraceCheckUtils]: 18: Hoare triple {680#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:54,680 INFO L290 TraceCheckUtils]: 19: Hoare triple {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} assume !false; {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:54,680 INFO L272 TraceCheckUtils]: 20: Hoare triple {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {680#true} is VALID [2022-02-20 17:29:54,680 INFO L290 TraceCheckUtils]: 21: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:54,680 INFO L290 TraceCheckUtils]: 22: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:54,680 INFO L290 TraceCheckUtils]: 23: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:54,681 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {680#true} {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} #84#return; {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:54,681 INFO L272 TraceCheckUtils]: 25: Hoare triple {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {680#true} is VALID [2022-02-20 17:29:54,681 INFO L290 TraceCheckUtils]: 26: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:29:54,682 INFO L290 TraceCheckUtils]: 27: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:29:54,682 INFO L290 TraceCheckUtils]: 28: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:29:54,683 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {680#true} {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} #86#return; {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:54,683 INFO L272 TraceCheckUtils]: 30: Hoare triple {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {776#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:54,684 INFO L290 TraceCheckUtils]: 31: Hoare triple {776#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {780#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:54,684 INFO L290 TraceCheckUtils]: 32: Hoare triple {780#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {681#false} is VALID [2022-02-20 17:29:54,685 INFO L290 TraceCheckUtils]: 33: Hoare triple {681#false} assume !false; {681#false} is VALID [2022-02-20 17:29:54,685 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 17:29:54,685 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:29:54,685 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:54,686 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1203345367] [2022-02-20 17:29:54,686 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:54,686 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [595988252] [2022-02-20 17:29:54,686 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [595988252] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:54,686 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:54,686 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:54,687 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2107044588] [2022-02-20 17:29:54,687 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:54,687 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-02-20 17:29:54,688 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:54,688 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:29:54,708 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:54,709 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:54,709 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:54,709 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:54,710 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:54,710 INFO L87 Difference]: Start difference. First operand 37 states and 45 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:29:54,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:54,917 INFO L93 Difference]: Finished difference Result 65 states and 85 transitions. [2022-02-20 17:29:54,917 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:29:54,918 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-02-20 17:29:54,919 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:54,919 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:29:54,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 79 transitions. [2022-02-20 17:29:54,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:29:54,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 79 transitions. [2022-02-20 17:29:54,924 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 79 transitions. [2022-02-20 17:29:55,000 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:55,004 INFO L225 Difference]: With dead ends: 65 [2022-02-20 17:29:55,004 INFO L226 Difference]: Without dead ends: 51 [2022-02-20 17:29:55,006 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:29:55,012 INFO L933 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:55,013 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 141 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:55,015 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-02-20 17:29:55,030 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2022-02-20 17:29:55,030 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:55,031 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 51 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:29:55,032 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 51 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:29:55,033 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 51 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:29:55,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:55,038 INFO L93 Difference]: Finished difference Result 51 states and 64 transitions. [2022-02-20 17:29:55,038 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 64 transitions. [2022-02-20 17:29:55,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:55,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:55,039 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 51 states. [2022-02-20 17:29:55,040 INFO L87 Difference]: Start difference. First operand has 51 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand 51 states. [2022-02-20 17:29:55,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:55,044 INFO L93 Difference]: Finished difference Result 51 states and 64 transitions. [2022-02-20 17:29:55,044 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 64 transitions. [2022-02-20 17:29:55,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:55,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:55,044 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:55,045 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:55,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 5 states have call predecessors, (16), 5 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:29:55,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 64 transitions. [2022-02-20 17:29:55,047 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 64 transitions. Word has length 34 [2022-02-20 17:29:55,048 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:55,048 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 64 transitions. [2022-02-20 17:29:55,048 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-02-20 17:29:55,048 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 64 transitions. [2022-02-20 17:29:55,050 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 17:29:55,051 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:55,051 INFO L514 BasicCegarLoop]: 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] [2022-02-20 17:29:55,074 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-02-20 17:29:55,267 WARN L452 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-02-20 17:29:55,268 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:55,268 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:55,268 INFO L85 PathProgramCache]: Analyzing trace with hash -1829555286, now seen corresponding path program 1 times [2022-02-20 17:29:55,268 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:55,268 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [752329040] [2022-02-20 17:29:55,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:55,268 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:55,285 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:55,285 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1145765246] [2022-02-20 17:29:55,285 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:55,285 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:55,285 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:55,287 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-02-20 17:29:55,293 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-02-20 17:29:55,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:55,343 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 17:29:55,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:55,368 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:56,749 INFO L290 TraceCheckUtils]: 0: Hoare triple {1058#true} assume { :begin_inline_ULTIMATE.init } 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); {1058#true} is VALID [2022-02-20 17:29:56,749 INFO L290 TraceCheckUtils]: 1: Hoare triple {1058#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1058#true} is VALID [2022-02-20 17:29:56,750 INFO L272 TraceCheckUtils]: 2: Hoare triple {1058#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 20 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:56,750 INFO L290 TraceCheckUtils]: 3: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:56,750 INFO L290 TraceCheckUtils]: 4: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:56,750 INFO L290 TraceCheckUtils]: 5: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:56,750 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1058#true} {1058#true} #78#return; {1058#true} is VALID [2022-02-20 17:29:56,750 INFO L290 TraceCheckUtils]: 7: Hoare triple {1058#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1058#true} is VALID [2022-02-20 17:29:56,751 INFO L272 TraceCheckUtils]: 8: Hoare triple {1058#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 20 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:56,751 INFO L290 TraceCheckUtils]: 9: Hoare triple {1058#true} ~cond := #in~cond; {1090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:29:56,752 INFO L290 TraceCheckUtils]: 10: Hoare triple {1090#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:56,752 INFO L290 TraceCheckUtils]: 11: Hoare triple {1094#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1094#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:56,753 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1094#(not (= |assume_abort_if_not_#in~cond| 0))} {1058#true} #80#return; {1101#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20)} is VALID [2022-02-20 17:29:56,753 INFO L272 TraceCheckUtils]: 13: Hoare triple {1101#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20)} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:56,753 INFO L290 TraceCheckUtils]: 14: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:56,753 INFO L290 TraceCheckUtils]: 15: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:56,754 INFO L290 TraceCheckUtils]: 16: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:56,754 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1058#true} {1101#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20)} #82#return; {1101#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20)} is VALID [2022-02-20 17:29:56,755 INFO L290 TraceCheckUtils]: 18: Hoare triple {1101#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20)} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,756 INFO L290 TraceCheckUtils]: 19: Hoare triple {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,756 INFO L272 TraceCheckUtils]: 20: Hoare triple {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:56,756 INFO L290 TraceCheckUtils]: 21: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:56,756 INFO L290 TraceCheckUtils]: 22: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:56,756 INFO L290 TraceCheckUtils]: 23: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:56,757 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1058#true} {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,757 INFO L272 TraceCheckUtils]: 25: Hoare triple {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:56,757 INFO L290 TraceCheckUtils]: 26: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:56,757 INFO L290 TraceCheckUtils]: 27: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:56,758 INFO L290 TraceCheckUtils]: 28: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:56,758 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1058#true} {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,759 INFO L272 TraceCheckUtils]: 30: Hoare triple {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:56,759 INFO L290 TraceCheckUtils]: 31: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:56,759 INFO L290 TraceCheckUtils]: 32: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:56,759 INFO L290 TraceCheckUtils]: 33: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:56,760 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1058#true} {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,761 INFO L290 TraceCheckUtils]: 35: Hoare triple {1120#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !(main_~r~0#1 >= main_~d~0#1); {1172#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (< |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,772 INFO L290 TraceCheckUtils]: 36: Hoare triple {1172#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (< |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} assume !false; {1172#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (< |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:56,773 INFO L272 TraceCheckUtils]: 37: Hoare triple {1172#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 20) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (< |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {1179#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:56,773 INFO L290 TraceCheckUtils]: 38: Hoare triple {1179#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:56,774 INFO L290 TraceCheckUtils]: 39: Hoare triple {1183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1059#false} is VALID [2022-02-20 17:29:56,774 INFO L290 TraceCheckUtils]: 40: Hoare triple {1059#false} assume !false; {1059#false} is VALID [2022-02-20 17:29:56,774 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-02-20 17:29:56,774 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:29:57,205 INFO L290 TraceCheckUtils]: 40: Hoare triple {1059#false} assume !false; {1059#false} is VALID [2022-02-20 17:29:57,206 INFO L290 TraceCheckUtils]: 39: Hoare triple {1183#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1059#false} is VALID [2022-02-20 17:29:57,207 INFO L290 TraceCheckUtils]: 38: Hoare triple {1179#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1183#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:57,207 INFO L272 TraceCheckUtils]: 37: Hoare triple {1199#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {1179#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:57,208 INFO L290 TraceCheckUtils]: 36: Hoare triple {1199#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} assume !false; {1199#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} is VALID [2022-02-20 17:29:57,208 INFO L290 TraceCheckUtils]: 35: Hoare triple {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !(main_~r~0#1 >= main_~d~0#1); {1199#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} is VALID [2022-02-20 17:29:57,209 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1058#true} {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} #88#return; {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:29:57,209 INFO L290 TraceCheckUtils]: 33: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:57,209 INFO L290 TraceCheckUtils]: 32: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:57,209 INFO L290 TraceCheckUtils]: 31: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:57,210 INFO L272 TraceCheckUtils]: 30: Hoare triple {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:57,211 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1058#true} {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} #86#return; {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:29:57,211 INFO L290 TraceCheckUtils]: 28: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:57,211 INFO L290 TraceCheckUtils]: 27: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:57,211 INFO L290 TraceCheckUtils]: 26: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:57,211 INFO L272 TraceCheckUtils]: 25: Hoare triple {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:57,212 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1058#true} {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} #84#return; {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:29:57,212 INFO L290 TraceCheckUtils]: 23: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:57,212 INFO L290 TraceCheckUtils]: 22: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:57,212 INFO L290 TraceCheckUtils]: 21: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:57,212 INFO L272 TraceCheckUtils]: 20: Hoare triple {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:57,213 INFO L290 TraceCheckUtils]: 19: Hoare triple {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !false; {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:29:57,213 INFO L290 TraceCheckUtils]: 18: Hoare triple {1058#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {1206#(or (= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:29:57,214 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1058#true} {1058#true} #82#return; {1058#true} is VALID [2022-02-20 17:29:57,214 INFO L290 TraceCheckUtils]: 16: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:57,214 INFO L290 TraceCheckUtils]: 15: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:57,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:57,214 INFO L272 TraceCheckUtils]: 13: Hoare triple {1058#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:57,214 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1058#true} {1058#true} #80#return; {1058#true} is VALID [2022-02-20 17:29:57,214 INFO L290 TraceCheckUtils]: 11: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:57,214 INFO L290 TraceCheckUtils]: 10: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:57,214 INFO L290 TraceCheckUtils]: 9: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:57,214 INFO L272 TraceCheckUtils]: 8: Hoare triple {1058#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 20 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:57,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {1058#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1058#true} is VALID [2022-02-20 17:29:57,215 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1058#true} {1058#true} #78#return; {1058#true} is VALID [2022-02-20 17:29:57,215 INFO L290 TraceCheckUtils]: 5: Hoare triple {1058#true} assume true; {1058#true} is VALID [2022-02-20 17:29:57,215 INFO L290 TraceCheckUtils]: 4: Hoare triple {1058#true} assume !(0 == ~cond); {1058#true} is VALID [2022-02-20 17:29:57,215 INFO L290 TraceCheckUtils]: 3: Hoare triple {1058#true} ~cond := #in~cond; {1058#true} is VALID [2022-02-20 17:29:57,215 INFO L272 TraceCheckUtils]: 2: Hoare triple {1058#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 20 then 1 else 0)); {1058#true} is VALID [2022-02-20 17:29:57,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {1058#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1058#true} is VALID [2022-02-20 17:29:57,215 INFO L290 TraceCheckUtils]: 0: Hoare triple {1058#true} assume { :begin_inline_ULTIMATE.init } 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); {1058#true} is VALID [2022-02-20 17:29:57,216 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:29:57,216 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:57,216 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [752329040] [2022-02-20 17:29:57,216 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:57,216 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1145765246] [2022-02-20 17:29:57,216 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1145765246] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:29:57,216 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:29:57,216 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-02-20 17:29:57,217 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [91228788] [2022-02-20 17:29:57,217 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:57,217 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-02-20 17:29:57,217 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:57,218 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:57,242 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:57,242 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 17:29:57,242 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:57,242 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 17:29:57,242 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:29:57,243 INFO L87 Difference]: Start difference. First operand 51 states and 64 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:57,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:57,499 INFO L93 Difference]: Finished difference Result 64 states and 81 transitions. [2022-02-20 17:29:57,499 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:29:57,500 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-02-20 17:29:57,500 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:57,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:57,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:29:57,502 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:57,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:29:57,503 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2022-02-20 17:29:57,557 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:57,559 INFO L225 Difference]: With dead ends: 64 [2022-02-20 17:29:57,559 INFO L226 Difference]: Without dead ends: 62 [2022-02-20 17:29:57,559 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 70 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-02-20 17:29:57,560 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 12 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 42 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:57,560 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 158 Invalid, 42 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:57,561 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-02-20 17:29:57,568 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 60. [2022-02-20 17:29:57,568 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:57,569 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 60 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:29:57,569 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 60 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:29:57,569 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 60 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:29:57,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:57,572 INFO L93 Difference]: Finished difference Result 62 states and 79 transitions. [2022-02-20 17:29:57,572 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 79 transitions. [2022-02-20 17:29:57,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:57,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:57,573 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 62 states. [2022-02-20 17:29:57,573 INFO L87 Difference]: Start difference. First operand has 60 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 62 states. [2022-02-20 17:29:57,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:57,576 INFO L93 Difference]: Finished difference Result 62 states and 79 transitions. [2022-02-20 17:29:57,576 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 79 transitions. [2022-02-20 17:29:57,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:57,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:57,577 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:57,577 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:57,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 35 states have (on average 1.2) internal successors, (42), 37 states have internal predecessors, (42), 18 states have call successors, (18), 6 states have call predecessors, (18), 6 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:29:57,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 76 transitions. [2022-02-20 17:29:57,580 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 76 transitions. Word has length 41 [2022-02-20 17:29:57,580 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:57,580 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 76 transitions. [2022-02-20 17:29:57,580 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:57,580 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 76 transitions. [2022-02-20 17:29:57,581 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 17:29:57,581 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:57,581 INFO L514 BasicCegarLoop]: 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] [2022-02-20 17:29:57,601 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 17:29:57,795 WARN L452 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-02-20 17:29:57,795 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:57,796 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:57,796 INFO L85 PathProgramCache]: Analyzing trace with hash 105343995, now seen corresponding path program 1 times [2022-02-20 17:29:57,796 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:57,796 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2111877028] [2022-02-20 17:29:57,796 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:57,796 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:57,813 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:57,813 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1684501746] [2022-02-20 17:29:57,813 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:57,814 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:57,814 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:57,815 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-02-20 17:29:57,841 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-02-20 17:29:57,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:57,871 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 17:29:57,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:57,887 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:58,770 INFO L290 TraceCheckUtils]: 0: Hoare triple {1615#true} assume { :begin_inline_ULTIMATE.init } 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); {1615#true} is VALID [2022-02-20 17:29:58,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {1615#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1615#true} is VALID [2022-02-20 17:29:58,771 INFO L272 TraceCheckUtils]: 2: Hoare triple {1615#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 20 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:58,771 INFO L290 TraceCheckUtils]: 3: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:58,771 INFO L290 TraceCheckUtils]: 4: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:58,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:58,772 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1615#true} {1615#true} #78#return; {1615#true} is VALID [2022-02-20 17:29:58,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {1615#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1615#true} is VALID [2022-02-20 17:29:58,772 INFO L272 TraceCheckUtils]: 8: Hoare triple {1615#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 20 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:58,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:58,773 INFO L290 TraceCheckUtils]: 10: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:58,773 INFO L290 TraceCheckUtils]: 11: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:58,773 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1615#true} {1615#true} #80#return; {1615#true} is VALID [2022-02-20 17:29:58,773 INFO L272 TraceCheckUtils]: 13: Hoare triple {1615#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:58,774 INFO L290 TraceCheckUtils]: 14: Hoare triple {1615#true} ~cond := #in~cond; {1662#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:29:58,774 INFO L290 TraceCheckUtils]: 15: Hoare triple {1662#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1666#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:58,775 INFO L290 TraceCheckUtils]: 16: Hoare triple {1666#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1666#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:29:58,776 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1666#(not (= |assume_abort_if_not_#in~cond| 0))} {1615#true} #82#return; {1673#(<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))} is VALID [2022-02-20 17:29:58,778 INFO L290 TraceCheckUtils]: 18: Hoare triple {1673#(<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:58,778 INFO L290 TraceCheckUtils]: 19: Hoare triple {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} assume !false; {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:58,778 INFO L272 TraceCheckUtils]: 20: Hoare triple {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:58,778 INFO L290 TraceCheckUtils]: 21: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:58,778 INFO L290 TraceCheckUtils]: 22: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:58,779 INFO L290 TraceCheckUtils]: 23: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:58,779 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1615#true} {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} #84#return; {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:58,779 INFO L272 TraceCheckUtils]: 25: Hoare triple {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:58,780 INFO L290 TraceCheckUtils]: 26: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:58,780 INFO L290 TraceCheckUtils]: 27: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:58,780 INFO L290 TraceCheckUtils]: 28: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:58,780 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1615#true} {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} #86#return; {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:58,781 INFO L272 TraceCheckUtils]: 30: Hoare triple {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:58,781 INFO L290 TraceCheckUtils]: 31: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:58,781 INFO L290 TraceCheckUtils]: 32: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:58,781 INFO L290 TraceCheckUtils]: 33: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:58,782 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1615#true} {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} #88#return; {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:58,783 INFO L290 TraceCheckUtils]: 35: Hoare triple {1677#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:29:58,783 INFO L290 TraceCheckUtils]: 36: Hoare triple {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} assume !false; {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:29:58,783 INFO L272 TraceCheckUtils]: 37: Hoare triple {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:58,784 INFO L290 TraceCheckUtils]: 38: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:58,784 INFO L290 TraceCheckUtils]: 39: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:58,784 INFO L290 TraceCheckUtils]: 40: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:58,785 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1615#true} {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} #84#return; {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:29:58,785 INFO L272 TraceCheckUtils]: 42: Hoare triple {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:58,785 INFO L290 TraceCheckUtils]: 43: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:58,785 INFO L290 TraceCheckUtils]: 44: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:58,785 INFO L290 TraceCheckUtils]: 45: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:58,786 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1615#true} {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} #86#return; {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:29:58,787 INFO L272 TraceCheckUtils]: 47: Hoare triple {1729#(and (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1766#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:58,787 INFO L290 TraceCheckUtils]: 48: Hoare triple {1766#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1770#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:58,788 INFO L290 TraceCheckUtils]: 49: Hoare triple {1770#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1616#false} is VALID [2022-02-20 17:29:58,788 INFO L290 TraceCheckUtils]: 50: Hoare triple {1616#false} assume !false; {1616#false} is VALID [2022-02-20 17:29:58,788 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-02-20 17:29:58,788 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:29:59,158 INFO L290 TraceCheckUtils]: 50: Hoare triple {1616#false} assume !false; {1616#false} is VALID [2022-02-20 17:29:59,159 INFO L290 TraceCheckUtils]: 49: Hoare triple {1770#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1616#false} is VALID [2022-02-20 17:29:59,159 INFO L290 TraceCheckUtils]: 48: Hoare triple {1766#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1770#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:59,164 INFO L272 TraceCheckUtils]: 47: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1766#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:59,164 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1615#true} {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #86#return; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:59,164 INFO L290 TraceCheckUtils]: 45: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:59,165 INFO L290 TraceCheckUtils]: 44: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:59,165 INFO L290 TraceCheckUtils]: 43: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:59,165 INFO L272 TraceCheckUtils]: 42: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:59,165 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1615#true} {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #84#return; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:59,165 INFO L290 TraceCheckUtils]: 40: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:59,165 INFO L290 TraceCheckUtils]: 39: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:59,166 INFO L290 TraceCheckUtils]: 38: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:59,166 INFO L272 TraceCheckUtils]: 37: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:59,167 INFO L290 TraceCheckUtils]: 36: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} assume !false; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:59,221 INFO L290 TraceCheckUtils]: 35: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:59,221 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1615#true} {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #88#return; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:59,222 INFO L290 TraceCheckUtils]: 33: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:59,222 INFO L290 TraceCheckUtils]: 32: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:59,222 INFO L290 TraceCheckUtils]: 31: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:59,222 INFO L272 TraceCheckUtils]: 30: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:59,222 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1615#true} {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #86#return; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:59,222 INFO L290 TraceCheckUtils]: 28: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:59,223 INFO L290 TraceCheckUtils]: 27: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:59,223 INFO L290 TraceCheckUtils]: 26: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:59,223 INFO L272 TraceCheckUtils]: 25: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:59,223 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1615#true} {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #84#return; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:59,223 INFO L290 TraceCheckUtils]: 23: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:59,224 INFO L290 TraceCheckUtils]: 22: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:59,224 INFO L290 TraceCheckUtils]: 21: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:59,224 INFO L272 TraceCheckUtils]: 20: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:59,225 INFO L290 TraceCheckUtils]: 19: Hoare triple {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} assume !false; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:59,226 INFO L290 TraceCheckUtils]: 18: Hoare triple {1615#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {1786#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:59,226 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1615#true} {1615#true} #82#return; {1615#true} is VALID [2022-02-20 17:29:59,226 INFO L290 TraceCheckUtils]: 16: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:59,226 INFO L290 TraceCheckUtils]: 15: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:59,226 INFO L290 TraceCheckUtils]: 14: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:59,226 INFO L272 TraceCheckUtils]: 13: Hoare triple {1615#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:59,226 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1615#true} {1615#true} #80#return; {1615#true} is VALID [2022-02-20 17:29:59,226 INFO L290 TraceCheckUtils]: 11: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:59,226 INFO L290 TraceCheckUtils]: 10: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:59,226 INFO L290 TraceCheckUtils]: 9: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:59,227 INFO L272 TraceCheckUtils]: 8: Hoare triple {1615#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 20 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:59,227 INFO L290 TraceCheckUtils]: 7: Hoare triple {1615#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1615#true} is VALID [2022-02-20 17:29:59,227 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1615#true} {1615#true} #78#return; {1615#true} is VALID [2022-02-20 17:29:59,227 INFO L290 TraceCheckUtils]: 5: Hoare triple {1615#true} assume true; {1615#true} is VALID [2022-02-20 17:29:59,227 INFO L290 TraceCheckUtils]: 4: Hoare triple {1615#true} assume !(0 == ~cond); {1615#true} is VALID [2022-02-20 17:29:59,227 INFO L290 TraceCheckUtils]: 3: Hoare triple {1615#true} ~cond := #in~cond; {1615#true} is VALID [2022-02-20 17:29:59,227 INFO L272 TraceCheckUtils]: 2: Hoare triple {1615#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 20 then 1 else 0)); {1615#true} is VALID [2022-02-20 17:29:59,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {1615#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1615#true} is VALID [2022-02-20 17:29:59,227 INFO L290 TraceCheckUtils]: 0: Hoare triple {1615#true} assume { :begin_inline_ULTIMATE.init } 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); {1615#true} is VALID [2022-02-20 17:29:59,228 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-02-20 17:29:59,228 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:59,228 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2111877028] [2022-02-20 17:29:59,228 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:59,228 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1684501746] [2022-02-20 17:29:59,228 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1684501746] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:29:59,236 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:29:59,236 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-02-20 17:29:59,237 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [59519367] [2022-02-20 17:29:59,237 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:59,238 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 51 [2022-02-20 17:29:59,239 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:59,239 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:59,272 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:59,272 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:59,273 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:59,273 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:59,273 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-02-20 17:29:59,273 INFO L87 Difference]: Start difference. First operand 60 states and 76 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:59,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:59,635 INFO L93 Difference]: Finished difference Result 72 states and 91 transitions. [2022-02-20 17:29:59,635 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:29:59,636 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 51 [2022-02-20 17:29:59,636 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:59,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:59,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2022-02-20 17:29:59,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:59,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2022-02-20 17:29:59,639 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 54 transitions. [2022-02-20 17:29:59,693 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:59,695 INFO L225 Difference]: With dead ends: 72 [2022-02-20 17:29:59,695 INFO L226 Difference]: Without dead ends: 70 [2022-02-20 17:29:59,696 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 90 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-02-20 17:29:59,697 INFO L933 BasicCegarLoop]: 37 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:59,697 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [11 Valid, 125 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:29:59,697 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-02-20 17:29:59,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 67. [2022-02-20 17:29:59,706 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:59,706 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 67 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 42 states have internal predecessors, (46), 20 states have call successors, (20), 7 states have call predecessors, (20), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:29:59,706 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 67 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 42 states have internal predecessors, (46), 20 states have call successors, (20), 7 states have call predecessors, (20), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:29:59,707 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 67 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 42 states have internal predecessors, (46), 20 states have call successors, (20), 7 states have call predecessors, (20), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:29:59,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:59,710 INFO L93 Difference]: Finished difference Result 70 states and 89 transitions. [2022-02-20 17:29:59,710 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 89 transitions. [2022-02-20 17:29:59,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:59,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:59,711 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 42 states have internal predecessors, (46), 20 states have call successors, (20), 7 states have call predecessors, (20), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) Second operand 70 states. [2022-02-20 17:29:59,711 INFO L87 Difference]: Start difference. First operand has 67 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 42 states have internal predecessors, (46), 20 states have call successors, (20), 7 states have call predecessors, (20), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) Second operand 70 states. [2022-02-20 17:29:59,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:59,714 INFO L93 Difference]: Finished difference Result 70 states and 89 transitions. [2022-02-20 17:29:59,714 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 89 transitions. [2022-02-20 17:29:59,715 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:59,715 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:59,715 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:59,715 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:59,715 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 42 states have internal predecessors, (46), 20 states have call successors, (20), 7 states have call predecessors, (20), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:29:59,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 84 transitions. [2022-02-20 17:29:59,718 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 84 transitions. Word has length 51 [2022-02-20 17:29:59,718 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:59,718 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 84 transitions. [2022-02-20 17:29:59,718 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:29:59,719 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 84 transitions. [2022-02-20 17:29:59,719 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 17:29:59,719 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:59,719 INFO L514 BasicCegarLoop]: 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] [2022-02-20 17:29:59,747 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-02-20 17:29:59,940 WARN L452 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-02-20 17:29:59,940 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:59,941 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:59,941 INFO L85 PathProgramCache]: Analyzing trace with hash 957489548, now seen corresponding path program 1 times [2022-02-20 17:29:59,941 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:59,941 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [389363234] [2022-02-20 17:29:59,941 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:59,942 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:59,956 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:59,956 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [455869943] [2022-02-20 17:29:59,956 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:59,956 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:59,956 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:59,957 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-02-20 17:29:59,972 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-02-20 17:30:00,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:00,002 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:30:00,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:00,015 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:30:00,195 INFO L290 TraceCheckUtils]: 0: Hoare triple {2268#true} assume { :begin_inline_ULTIMATE.init } 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); {2268#true} is VALID [2022-02-20 17:30:00,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {2268#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2268#true} is VALID [2022-02-20 17:30:00,196 INFO L272 TraceCheckUtils]: 2: Hoare triple {2268#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 20 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:30:00,196 INFO L290 TraceCheckUtils]: 3: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:30:00,196 INFO L290 TraceCheckUtils]: 4: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:30:00,196 INFO L290 TraceCheckUtils]: 5: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:30:00,196 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2268#true} {2268#true} #78#return; {2268#true} is VALID [2022-02-20 17:30:00,196 INFO L290 TraceCheckUtils]: 7: Hoare triple {2268#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2268#true} is VALID [2022-02-20 17:30:00,197 INFO L272 TraceCheckUtils]: 8: Hoare triple {2268#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 20 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:30:00,197 INFO L290 TraceCheckUtils]: 9: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:30:00,198 INFO L290 TraceCheckUtils]: 10: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:30:00,198 INFO L290 TraceCheckUtils]: 11: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:30:00,198 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2268#true} {2268#true} #80#return; {2268#true} is VALID [2022-02-20 17:30:00,198 INFO L272 TraceCheckUtils]: 13: Hoare triple {2268#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:30:00,198 INFO L290 TraceCheckUtils]: 14: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:30:00,198 INFO L290 TraceCheckUtils]: 15: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:30:00,198 INFO L290 TraceCheckUtils]: 16: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:30:00,199 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2268#true} {2268#true} #82#return; {2268#true} is VALID [2022-02-20 17:30:00,199 INFO L290 TraceCheckUtils]: 18: Hoare triple {2268#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:00,199 INFO L290 TraceCheckUtils]: 19: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:00,200 INFO L272 TraceCheckUtils]: 20: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:30:00,200 INFO L290 TraceCheckUtils]: 21: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:30:00,200 INFO L290 TraceCheckUtils]: 22: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:30:00,200 INFO L290 TraceCheckUtils]: 23: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:30:00,201 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2268#true} {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:00,201 INFO L272 TraceCheckUtils]: 25: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:30:00,201 INFO L290 TraceCheckUtils]: 26: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:30:00,201 INFO L290 TraceCheckUtils]: 27: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:30:00,202 INFO L290 TraceCheckUtils]: 28: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:30:00,202 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2268#true} {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:00,202 INFO L272 TraceCheckUtils]: 30: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:30:00,202 INFO L290 TraceCheckUtils]: 31: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:30:00,202 INFO L290 TraceCheckUtils]: 32: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:30:00,202 INFO L290 TraceCheckUtils]: 33: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:30:00,203 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2268#true} {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:00,203 INFO L290 TraceCheckUtils]: 35: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !(main_~r~0#1 >= main_~d~0#1); {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:00,204 INFO L290 TraceCheckUtils]: 36: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:00,204 INFO L272 TraceCheckUtils]: 37: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:30:00,204 INFO L290 TraceCheckUtils]: 38: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:30:00,204 INFO L290 TraceCheckUtils]: 39: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:30:00,205 INFO L290 TraceCheckUtils]: 40: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:30:00,205 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2268#true} {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #90#return; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:00,205 INFO L272 TraceCheckUtils]: 42: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2268#true} is VALID [2022-02-20 17:30:00,206 INFO L290 TraceCheckUtils]: 43: Hoare triple {2268#true} ~cond := #in~cond; {2268#true} is VALID [2022-02-20 17:30:00,206 INFO L290 TraceCheckUtils]: 44: Hoare triple {2268#true} assume !(0 == ~cond); {2268#true} is VALID [2022-02-20 17:30:00,206 INFO L290 TraceCheckUtils]: 45: Hoare triple {2268#true} assume true; {2268#true} is VALID [2022-02-20 17:30:00,212 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2268#true} {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #92#return; {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:00,212 INFO L290 TraceCheckUtils]: 47: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !(1 != main_~p~0#1); {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:00,213 INFO L272 TraceCheckUtils]: 48: Hoare triple {2327#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {2418#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:30:00,214 INFO L290 TraceCheckUtils]: 49: Hoare triple {2418#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2422#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:00,214 INFO L290 TraceCheckUtils]: 50: Hoare triple {2422#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2269#false} is VALID [2022-02-20 17:30:00,214 INFO L290 TraceCheckUtils]: 51: Hoare triple {2269#false} assume !false; {2269#false} is VALID [2022-02-20 17:30:00,215 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-02-20 17:30:00,215 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:30:00,215 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:30:00,215 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [389363234] [2022-02-20 17:30:00,215 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:30:00,219 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [455869943] [2022-02-20 17:30:00,219 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [455869943] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:30:00,219 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:30:00,219 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:30:00,219 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2045670020] [2022-02-20 17:30:00,220 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:30:00,220 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-02-20 17:30:00,220 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:30:00,221 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 17:30:00,249 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:30:00,249 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:30:00,249 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:30:00,249 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:30:00,249 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:30:00,250 INFO L87 Difference]: Start difference. First operand 67 states and 84 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 17:30:00,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:00,532 INFO L93 Difference]: Finished difference Result 75 states and 92 transitions. [2022-02-20 17:30:00,532 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:30:00,532 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-02-20 17:30:00,533 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:30:00,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 17:30:00,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:30:00,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 17:30:00,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:30:00,535 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2022-02-20 17:30:00,596 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:30:00,598 INFO L225 Difference]: With dead ends: 75 [2022-02-20 17:30:00,598 INFO L226 Difference]: Without dead ends: 68 [2022-02-20 17:30:00,598 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 48 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-02-20 17:30:00,599 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 8 mSDsluCounter, 84 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:30:00,599 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:30:00,600 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-02-20 17:30:00,611 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 67. [2022-02-20 17:30:00,612 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:30:00,612 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 43 states have internal predecessors, (46), 18 states have call successors, (18), 8 states have call predecessors, (18), 8 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-02-20 17:30:00,612 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 43 states have internal predecessors, (46), 18 states have call successors, (18), 8 states have call predecessors, (18), 8 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-02-20 17:30:00,613 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 43 states have internal predecessors, (46), 18 states have call successors, (18), 8 states have call predecessors, (18), 8 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-02-20 17:30:00,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:00,615 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2022-02-20 17:30:00,615 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 82 transitions. [2022-02-20 17:30:00,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:30:00,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:30:00,616 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 43 states have internal predecessors, (46), 18 states have call successors, (18), 8 states have call predecessors, (18), 8 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 68 states. [2022-02-20 17:30:00,616 INFO L87 Difference]: Start difference. First operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 43 states have internal predecessors, (46), 18 states have call successors, (18), 8 states have call predecessors, (18), 8 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) Second operand 68 states. [2022-02-20 17:30:00,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:00,619 INFO L93 Difference]: Finished difference Result 68 states and 82 transitions. [2022-02-20 17:30:00,619 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 82 transitions. [2022-02-20 17:30:00,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:30:00,619 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:30:00,619 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:30:00,619 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:30:00,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 43 states have internal predecessors, (46), 18 states have call successors, (18), 8 states have call predecessors, (18), 8 states have return successors, (17), 15 states have call predecessors, (17), 17 states have call successors, (17) [2022-02-20 17:30:00,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 81 transitions. [2022-02-20 17:30:00,622 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 81 transitions. Word has length 52 [2022-02-20 17:30:00,622 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:30:00,622 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 81 transitions. [2022-02-20 17:30:00,622 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-02-20 17:30:00,623 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 81 transitions. [2022-02-20 17:30:00,623 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-02-20 17:30:00,623 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:30:00,623 INFO L514 BasicCegarLoop]: 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] [2022-02-20 17:30:00,646 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-02-20 17:30:00,846 WARN L452 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-02-20 17:30:00,846 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:30:00,847 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:30:00,847 INFO L85 PathProgramCache]: Analyzing trace with hash -1754894755, now seen corresponding path program 1 times [2022-02-20 17:30:00,847 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:30:00,847 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1945991211] [2022-02-20 17:30:00,847 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:00,847 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:30:00,858 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:30:00,858 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [928301099] [2022-02-20 17:30:00,858 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:00,859 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:30:00,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:30:00,867 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-02-20 17:30:00,879 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-02-20 17:30:00,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:00,917 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 17:30:00,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:00,938 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:30:05,242 INFO L290 TraceCheckUtils]: 0: Hoare triple {2768#true} assume { :begin_inline_ULTIMATE.init } 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); {2768#true} is VALID [2022-02-20 17:30:05,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {2768#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2768#true} is VALID [2022-02-20 17:30:05,242 INFO L272 TraceCheckUtils]: 2: Hoare triple {2768#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 20 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:05,242 INFO L290 TraceCheckUtils]: 3: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:05,242 INFO L290 TraceCheckUtils]: 4: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:05,243 INFO L290 TraceCheckUtils]: 5: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:05,243 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2768#true} {2768#true} #78#return; {2768#true} is VALID [2022-02-20 17:30:05,243 INFO L290 TraceCheckUtils]: 7: Hoare triple {2768#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2768#true} is VALID [2022-02-20 17:30:05,243 INFO L272 TraceCheckUtils]: 8: Hoare triple {2768#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 20 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:05,246 INFO L290 TraceCheckUtils]: 9: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:05,246 INFO L290 TraceCheckUtils]: 10: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:05,246 INFO L290 TraceCheckUtils]: 11: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:05,246 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2768#true} {2768#true} #80#return; {2768#true} is VALID [2022-02-20 17:30:05,246 INFO L272 TraceCheckUtils]: 13: Hoare triple {2768#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:05,246 INFO L290 TraceCheckUtils]: 14: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:05,246 INFO L290 TraceCheckUtils]: 15: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:05,246 INFO L290 TraceCheckUtils]: 16: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:05,246 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2768#true} {2768#true} #82#return; {2768#true} is VALID [2022-02-20 17:30:05,253 INFO L290 TraceCheckUtils]: 18: Hoare triple {2768#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,254 INFO L290 TraceCheckUtils]: 19: Hoare triple {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,254 INFO L272 TraceCheckUtils]: 20: Hoare triple {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:05,254 INFO L290 TraceCheckUtils]: 21: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:05,254 INFO L290 TraceCheckUtils]: 22: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:05,254 INFO L290 TraceCheckUtils]: 23: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:05,255 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2768#true} {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,256 INFO L272 TraceCheckUtils]: 25: Hoare triple {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:05,256 INFO L290 TraceCheckUtils]: 26: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:05,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:05,256 INFO L290 TraceCheckUtils]: 28: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:05,257 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2768#true} {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,257 INFO L272 TraceCheckUtils]: 30: Hoare triple {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:05,257 INFO L290 TraceCheckUtils]: 31: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:05,257 INFO L290 TraceCheckUtils]: 32: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:05,258 INFO L290 TraceCheckUtils]: 33: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:05,258 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2768#true} {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,259 INFO L290 TraceCheckUtils]: 35: Hoare triple {2827#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,260 INFO L290 TraceCheckUtils]: 36: Hoare triple {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,260 INFO L272 TraceCheckUtils]: 37: Hoare triple {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:05,260 INFO L290 TraceCheckUtils]: 38: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:05,260 INFO L290 TraceCheckUtils]: 39: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:05,260 INFO L290 TraceCheckUtils]: 40: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:05,260 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2768#true} {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,261 INFO L272 TraceCheckUtils]: 42: Hoare triple {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:05,261 INFO L290 TraceCheckUtils]: 43: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:05,261 INFO L290 TraceCheckUtils]: 44: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:05,261 INFO L290 TraceCheckUtils]: 45: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:05,261 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2768#true} {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,262 INFO L272 TraceCheckUtils]: 47: Hoare triple {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:05,262 INFO L290 TraceCheckUtils]: 48: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:05,262 INFO L290 TraceCheckUtils]: 49: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:05,262 INFO L290 TraceCheckUtils]: 50: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:05,262 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2768#true} {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,263 INFO L290 TraceCheckUtils]: 52: Hoare triple {2879#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !(main_~r~0#1 >= main_~d~0#1); {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,263 INFO L290 TraceCheckUtils]: 53: Hoare triple {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,264 INFO L272 TraceCheckUtils]: 54: Hoare triple {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:05,264 INFO L290 TraceCheckUtils]: 55: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:05,264 INFO L290 TraceCheckUtils]: 56: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:05,264 INFO L290 TraceCheckUtils]: 57: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:05,264 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {2768#true} {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #90#return; {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,264 INFO L272 TraceCheckUtils]: 59: Hoare triple {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:05,265 INFO L290 TraceCheckUtils]: 60: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:05,265 INFO L290 TraceCheckUtils]: 61: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:05,265 INFO L290 TraceCheckUtils]: 62: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:05,265 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {2768#true} {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #92#return; {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:05,267 INFO L290 TraceCheckUtils]: 64: Hoare triple {2931#(and (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {2968#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~d~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (not (<= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|)))} is VALID [2022-02-20 17:30:05,268 INFO L290 TraceCheckUtils]: 65: Hoare triple {2968#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~d~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (not (<= (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|)))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {2972#(and (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ |ULTIMATE.start_main_~r~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2))) (<= 0 |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~q~0#1| 1) (not (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|)))} is VALID [2022-02-20 17:30:05,268 INFO L290 TraceCheckUtils]: 66: Hoare triple {2972#(and (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ |ULTIMATE.start_main_~r~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2))) (<= 0 |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~q~0#1| 1) (not (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|)))} assume !false; {2972#(and (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ |ULTIMATE.start_main_~r~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2))) (<= 0 |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~q~0#1| 1) (not (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|)))} is VALID [2022-02-20 17:30:05,269 INFO L272 TraceCheckUtils]: 67: Hoare triple {2972#(and (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ |ULTIMATE.start_main_~r~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2))) (<= 0 |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~q~0#1| 1) (not (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|)))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {2979#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:30:05,269 INFO L290 TraceCheckUtils]: 68: Hoare triple {2979#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2983#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:05,269 INFO L290 TraceCheckUtils]: 69: Hoare triple {2983#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2769#false} is VALID [2022-02-20 17:30:05,270 INFO L290 TraceCheckUtils]: 70: Hoare triple {2769#false} assume !false; {2769#false} is VALID [2022-02-20 17:30:05,270 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-02-20 17:30:05,270 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:30:12,019 INFO L290 TraceCheckUtils]: 70: Hoare triple {2769#false} assume !false; {2769#false} is VALID [2022-02-20 17:30:12,019 INFO L290 TraceCheckUtils]: 69: Hoare triple {2983#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2769#false} is VALID [2022-02-20 17:30:12,020 INFO L290 TraceCheckUtils]: 68: Hoare triple {2979#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2983#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:12,020 INFO L272 TraceCheckUtils]: 67: Hoare triple {2999#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {2979#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:30:12,021 INFO L290 TraceCheckUtils]: 66: Hoare triple {2999#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} assume !false; {2999#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} is VALID [2022-02-20 17:30:12,023 INFO L290 TraceCheckUtils]: 65: Hoare triple {3006#(= (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {2999#(= (+ (* |ULTIMATE.start_main_~q~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} is VALID [2022-02-20 17:30:12,036 INFO L290 TraceCheckUtils]: 64: Hoare triple {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {3006#(= (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~d~0#1|) (* (+ |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} is VALID [2022-02-20 17:30:12,037 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {2768#true} {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} #92#return; {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:30:12,037 INFO L290 TraceCheckUtils]: 62: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:12,037 INFO L290 TraceCheckUtils]: 61: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:12,038 INFO L290 TraceCheckUtils]: 60: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:12,038 INFO L272 TraceCheckUtils]: 59: Hoare triple {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:12,038 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {2768#true} {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} #90#return; {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:30:12,039 INFO L290 TraceCheckUtils]: 57: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:12,039 INFO L290 TraceCheckUtils]: 56: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:12,039 INFO L290 TraceCheckUtils]: 55: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:12,039 INFO L272 TraceCheckUtils]: 54: Hoare triple {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:12,040 INFO L290 TraceCheckUtils]: 53: Hoare triple {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} assume !false; {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:30:12,042 INFO L290 TraceCheckUtils]: 52: Hoare triple {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !(main_~r~0#1 >= main_~d~0#1); {3010#(and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0))))} is VALID [2022-02-20 17:30:12,042 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2768#true} {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} #88#return; {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:12,043 INFO L290 TraceCheckUtils]: 50: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:12,043 INFO L290 TraceCheckUtils]: 49: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:12,043 INFO L290 TraceCheckUtils]: 48: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:12,043 INFO L272 TraceCheckUtils]: 47: Hoare triple {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:12,044 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2768#true} {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} #86#return; {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:12,044 INFO L290 TraceCheckUtils]: 45: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:12,044 INFO L290 TraceCheckUtils]: 44: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:12,044 INFO L290 TraceCheckUtils]: 43: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:12,044 INFO L272 TraceCheckUtils]: 42: Hoare triple {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:12,045 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2768#true} {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} #84#return; {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:12,045 INFO L290 TraceCheckUtils]: 40: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:12,045 INFO L290 TraceCheckUtils]: 39: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:12,054 INFO L290 TraceCheckUtils]: 38: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:12,054 INFO L272 TraceCheckUtils]: 37: Hoare triple {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:12,057 INFO L290 TraceCheckUtils]: 36: Hoare triple {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !false; {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:12,061 INFO L290 TraceCheckUtils]: 35: Hoare triple {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {3047#(or (and (or (not (< |ULTIMATE.start_main_~d~0#1| 0)) (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (- 1) (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (+ (- 1) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)))) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (or (and (or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (+ (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1|)) (and (< |ULTIMATE.start_main_~p~0#1| 0) (not (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0)))) (or (= (mod |ULTIMATE.start_main_~p~0#1| 2) 0) (not (< |ULTIMATE.start_main_~p~0#1| 0)) (= (+ (* (- 1) (div |ULTIMATE.start_main_~d~0#1| 2)) |ULTIMATE.start_main_~r~0#1| (* (+ |ULTIMATE.start_main_~q~0#1| (div |ULTIMATE.start_main_~p~0#1| 2) 1) (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))) (and (not (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0)) (< |ULTIMATE.start_main_~d~0#1| 0)))) (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:12,062 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2768#true} {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:12,062 INFO L290 TraceCheckUtils]: 33: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:12,062 INFO L290 TraceCheckUtils]: 32: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:12,062 INFO L290 TraceCheckUtils]: 31: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:12,062 INFO L272 TraceCheckUtils]: 30: Hoare triple {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:12,063 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2768#true} {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:12,063 INFO L290 TraceCheckUtils]: 28: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:12,063 INFO L290 TraceCheckUtils]: 27: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:12,063 INFO L290 TraceCheckUtils]: 26: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:12,063 INFO L272 TraceCheckUtils]: 25: Hoare triple {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:12,064 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2768#true} {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:12,064 INFO L290 TraceCheckUtils]: 23: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:12,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:12,064 INFO L290 TraceCheckUtils]: 21: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:12,064 INFO L272 TraceCheckUtils]: 20: Hoare triple {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:12,065 INFO L290 TraceCheckUtils]: 19: Hoare triple {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:12,066 INFO L290 TraceCheckUtils]: 18: Hoare triple {2768#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {3099#(or (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (<= (* 2 |ULTIMATE.start_main_~d~0#1|) |ULTIMATE.start_main_~r~0#1|) (= (+ (* (+ (div (* 2 |ULTIMATE.start_main_~p~0#1|) 2) |ULTIMATE.start_main_~q~0#1|) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (* (- 1) (div (* 2 |ULTIMATE.start_main_~d~0#1|) 2)) |ULTIMATE.start_main_~r~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:12,066 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2768#true} {2768#true} #82#return; {2768#true} is VALID [2022-02-20 17:30:12,067 INFO L290 TraceCheckUtils]: 16: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:12,067 INFO L290 TraceCheckUtils]: 15: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:12,067 INFO L290 TraceCheckUtils]: 14: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:12,067 INFO L272 TraceCheckUtils]: 13: Hoare triple {2768#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:12,067 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2768#true} {2768#true} #80#return; {2768#true} is VALID [2022-02-20 17:30:12,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:12,067 INFO L290 TraceCheckUtils]: 10: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:12,067 INFO L290 TraceCheckUtils]: 9: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:12,067 INFO L272 TraceCheckUtils]: 8: Hoare triple {2768#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 20 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:12,067 INFO L290 TraceCheckUtils]: 7: Hoare triple {2768#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2768#true} is VALID [2022-02-20 17:30:12,067 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2768#true} {2768#true} #78#return; {2768#true} is VALID [2022-02-20 17:30:12,067 INFO L290 TraceCheckUtils]: 5: Hoare triple {2768#true} assume true; {2768#true} is VALID [2022-02-20 17:30:12,068 INFO L290 TraceCheckUtils]: 4: Hoare triple {2768#true} assume !(0 == ~cond); {2768#true} is VALID [2022-02-20 17:30:12,068 INFO L290 TraceCheckUtils]: 3: Hoare triple {2768#true} ~cond := #in~cond; {2768#true} is VALID [2022-02-20 17:30:12,068 INFO L272 TraceCheckUtils]: 2: Hoare triple {2768#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 20 then 1 else 0)); {2768#true} is VALID [2022-02-20 17:30:12,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {2768#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2768#true} is VALID [2022-02-20 17:30:12,068 INFO L290 TraceCheckUtils]: 0: Hoare triple {2768#true} assume { :begin_inline_ULTIMATE.init } 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); {2768#true} is VALID [2022-02-20 17:30:12,069 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-02-20 17:30:12,069 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:30:12,069 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1945991211] [2022-02-20 17:30:12,069 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:30:12,069 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [928301099] [2022-02-20 17:30:12,070 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [928301099] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:30:12,070 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:30:12,070 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-02-20 17:30:12,070 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2062763348] [2022-02-20 17:30:12,070 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:30:12,071 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) Word has length 71 [2022-02-20 17:30:12,071 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:30:12,072 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-02-20 17:30:12,181 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:30:12,181 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-02-20 17:30:12,182 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:30:12,182 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-02-20 17:30:12,182 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-02-20 17:30:12,182 INFO L87 Difference]: Start difference. First operand 67 states and 81 transitions. Second operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-02-20 17:30:21,395 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.25s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:30:23,437 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-02-20 17:30:26,184 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-02-20 17:30:31,769 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.64s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:30:37,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:37,257 INFO L93 Difference]: Finished difference Result 165 states and 227 transitions. [2022-02-20 17:30:37,257 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-02-20 17:30:37,258 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) Word has length 71 [2022-02-20 17:30:37,258 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:30:37,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-02-20 17:30:37,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 166 transitions. [2022-02-20 17:30:37,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-02-20 17:30:37,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 166 transitions. [2022-02-20 17:30:37,266 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 166 transitions. [2022-02-20 17:30:38,902 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:30:38,905 INFO L225 Difference]: With dead ends: 165 [2022-02-20 17:30:38,905 INFO L226 Difference]: Without dead ends: 138 [2022-02-20 17:30:38,906 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 146 GetRequests, 127 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 66 ImplicationChecksByTransitivity, 6.7s TimeCoverageRelationStatistics Valid=95, Invalid=285, Unknown=0, NotChecked=0, Total=380 [2022-02-20 17:30:38,906 INFO L933 BasicCegarLoop]: 52 mSDtfsCounter, 51 mSDsluCounter, 260 mSDsCounter, 0 mSdLazyCounter, 290 mSolverCounterSat, 112 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 11.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 312 SdHoareTripleChecker+Invalid, 404 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 112 IncrementalHoareTripleChecker+Valid, 290 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 11.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:30:38,907 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [57 Valid, 312 Invalid, 404 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [112 Valid, 290 Invalid, 2 Unknown, 0 Unchecked, 11.1s Time] [2022-02-20 17:30:38,907 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2022-02-20 17:30:38,944 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 102. [2022-02-20 17:30:38,944 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:30:38,944 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand has 102 states, 61 states have (on average 1.180327868852459) internal successors, (72), 65 states have internal predecessors, (72), 29 states have call successors, (29), 11 states have call predecessors, (29), 11 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-02-20 17:30:38,945 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand has 102 states, 61 states have (on average 1.180327868852459) internal successors, (72), 65 states have internal predecessors, (72), 29 states have call successors, (29), 11 states have call predecessors, (29), 11 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-02-20 17:30:38,945 INFO L87 Difference]: Start difference. First operand 138 states. Second operand has 102 states, 61 states have (on average 1.180327868852459) internal successors, (72), 65 states have internal predecessors, (72), 29 states have call successors, (29), 11 states have call predecessors, (29), 11 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-02-20 17:30:38,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:38,950 INFO L93 Difference]: Finished difference Result 138 states and 190 transitions. [2022-02-20 17:30:38,951 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 190 transitions. [2022-02-20 17:30:38,951 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:30:38,951 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:30:38,953 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 61 states have (on average 1.180327868852459) internal successors, (72), 65 states have internal predecessors, (72), 29 states have call successors, (29), 11 states have call predecessors, (29), 11 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) Second operand 138 states. [2022-02-20 17:30:38,953 INFO L87 Difference]: Start difference. First operand has 102 states, 61 states have (on average 1.180327868852459) internal successors, (72), 65 states have internal predecessors, (72), 29 states have call successors, (29), 11 states have call predecessors, (29), 11 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) Second operand 138 states. [2022-02-20 17:30:38,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:38,958 INFO L93 Difference]: Finished difference Result 138 states and 190 transitions. [2022-02-20 17:30:38,958 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 190 transitions. [2022-02-20 17:30:38,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:30:38,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:30:38,959 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:30:38,959 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:30:38,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 61 states have (on average 1.180327868852459) internal successors, (72), 65 states have internal predecessors, (72), 29 states have call successors, (29), 11 states have call predecessors, (29), 11 states have return successors, (28), 25 states have call predecessors, (28), 28 states have call successors, (28) [2022-02-20 17:30:38,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 129 transitions. [2022-02-20 17:30:38,963 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 129 transitions. Word has length 71 [2022-02-20 17:30:38,963 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:30:38,963 INFO L470 AbstractCegarLoop]: Abstraction has 102 states and 129 transitions. [2022-02-20 17:30:38,964 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.142857142857143) internal successors, (30), 13 states have internal predecessors, (30), 9 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 7 states have call predecessors, (19), 7 states have call successors, (19) [2022-02-20 17:30:38,964 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 129 transitions. [2022-02-20 17:30:38,966 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-02-20 17:30:38,966 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:30:38,966 INFO L514 BasicCegarLoop]: 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] [2022-02-20 17:30:38,992 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-02-20 17:30:39,167 WARN L452 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-02-20 17:30:39,167 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:30:39,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:30:39,168 INFO L85 PathProgramCache]: Analyzing trace with hash -1620227847, now seen corresponding path program 1 times [2022-02-20 17:30:39,168 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:30:39,168 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1231024454] [2022-02-20 17:30:39,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:39,168 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:30:39,180 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:30:39,180 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [266817540] [2022-02-20 17:30:39,180 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:39,181 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:30:39,181 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:30:39,182 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-02-20 17:30:39,185 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-02-20 17:30:39,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:39,228 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 26 conjunts are in the unsatisfiable core [2022-02-20 17:30:39,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:39,248 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:30:42,987 INFO L290 TraceCheckUtils]: 0: Hoare triple {3878#true} assume { :begin_inline_ULTIMATE.init } 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); {3878#true} is VALID [2022-02-20 17:30:42,987 INFO L290 TraceCheckUtils]: 1: Hoare triple {3878#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~A~0#1, main_~B~0#1, main_~r~0#1, main_~d~0#1, main_~p~0#1, main_~q~0#1;havoc main_~A~0#1;havoc main_~B~0#1;havoc main_~r~0#1;havoc main_~d~0#1;havoc main_~p~0#1;havoc main_~q~0#1;main_~A~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {3878#true} is VALID [2022-02-20 17:30:42,988 INFO L272 TraceCheckUtils]: 2: Hoare triple {3878#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 20 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:42,988 INFO L290 TraceCheckUtils]: 3: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:42,988 INFO L290 TraceCheckUtils]: 4: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:42,988 INFO L290 TraceCheckUtils]: 5: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:42,988 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3878#true} {3878#true} #78#return; {3878#true} is VALID [2022-02-20 17:30:42,988 INFO L290 TraceCheckUtils]: 7: Hoare triple {3878#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3878#true} is VALID [2022-02-20 17:30:42,989 INFO L272 TraceCheckUtils]: 8: Hoare triple {3878#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 20 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:42,989 INFO L290 TraceCheckUtils]: 9: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:42,989 INFO L290 TraceCheckUtils]: 10: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:42,989 INFO L290 TraceCheckUtils]: 11: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:42,989 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3878#true} {3878#true} #80#return; {3878#true} is VALID [2022-02-20 17:30:42,989 INFO L272 TraceCheckUtils]: 13: Hoare triple {3878#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:42,989 INFO L290 TraceCheckUtils]: 14: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:42,990 INFO L290 TraceCheckUtils]: 15: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:42,990 INFO L290 TraceCheckUtils]: 16: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:42,990 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3878#true} {3878#true} #82#return; {3878#true} is VALID [2022-02-20 17:30:42,999 INFO L290 TraceCheckUtils]: 18: Hoare triple {3878#true} main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:43,000 INFO L290 TraceCheckUtils]: 19: Hoare triple {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !false; {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:43,000 INFO L272 TraceCheckUtils]: 20: Hoare triple {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:43,000 INFO L290 TraceCheckUtils]: 21: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:43,000 INFO L290 TraceCheckUtils]: 22: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:43,000 INFO L290 TraceCheckUtils]: 23: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:43,001 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {3878#true} {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #84#return; {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:43,001 INFO L272 TraceCheckUtils]: 25: Hoare triple {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:43,001 INFO L290 TraceCheckUtils]: 26: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:43,001 INFO L290 TraceCheckUtils]: 27: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:43,002 INFO L290 TraceCheckUtils]: 28: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:43,002 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3878#true} {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #86#return; {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:43,002 INFO L272 TraceCheckUtils]: 30: Hoare triple {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:43,003 INFO L290 TraceCheckUtils]: 31: Hoare triple {3878#true} ~cond := #in~cond; {3977#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:43,003 INFO L290 TraceCheckUtils]: 32: Hoare triple {3977#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:30:43,004 INFO L290 TraceCheckUtils]: 33: Hoare triple {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:30:43,005 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3981#(not (= |__VERIFIER_assert_#in~cond| 0))} {3937#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #88#return; {3988#(and (< |ULTIMATE.start_main_~d~0#1| 4294967296) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= 0 |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:30:43,006 INFO L290 TraceCheckUtils]: 35: Hoare triple {3988#(and (< |ULTIMATE.start_main_~d~0#1| 4294967296) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= 0 |ULTIMATE.start_main_~d~0#1|))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:43,007 INFO L290 TraceCheckUtils]: 36: Hoare triple {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} assume !false; {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:43,007 INFO L272 TraceCheckUtils]: 37: Hoare triple {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:43,007 INFO L290 TraceCheckUtils]: 38: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:43,007 INFO L290 TraceCheckUtils]: 39: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:43,007 INFO L290 TraceCheckUtils]: 40: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:43,008 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3878#true} {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #84#return; {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:43,008 INFO L272 TraceCheckUtils]: 42: Hoare triple {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:43,008 INFO L290 TraceCheckUtils]: 43: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:43,008 INFO L290 TraceCheckUtils]: 44: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:43,009 INFO L290 TraceCheckUtils]: 45: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:43,009 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3878#true} {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #86#return; {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:43,009 INFO L272 TraceCheckUtils]: 47: Hoare triple {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:43,009 INFO L290 TraceCheckUtils]: 48: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:43,009 INFO L290 TraceCheckUtils]: 49: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:43,009 INFO L290 TraceCheckUtils]: 50: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:43,010 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3878#true} {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #88#return; {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:43,010 INFO L290 TraceCheckUtils]: 52: Hoare triple {3992#(and (<= 0 (div |ULTIMATE.start_main_~d~0#1| 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} assume !(main_~r~0#1 >= main_~d~0#1); {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:43,011 INFO L290 TraceCheckUtils]: 53: Hoare triple {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} assume !false; {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:43,011 INFO L272 TraceCheckUtils]: 54: Hoare triple {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:43,011 INFO L290 TraceCheckUtils]: 55: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:43,011 INFO L290 TraceCheckUtils]: 56: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:43,011 INFO L290 TraceCheckUtils]: 57: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:43,012 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {3878#true} {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #90#return; {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:43,012 INFO L272 TraceCheckUtils]: 59: Hoare triple {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:43,012 INFO L290 TraceCheckUtils]: 60: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:43,012 INFO L290 TraceCheckUtils]: 61: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:43,012 INFO L290 TraceCheckUtils]: 62: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:43,013 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {3878#true} {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} #92#return; {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:30:43,014 INFO L290 TraceCheckUtils]: 64: Hoare triple {4044#(and (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0) (<= (div |ULTIMATE.start_main_~d~0#1| 2) |ULTIMATE.start_main_~r~0#1|))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {4081#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (< |ULTIMATE.start_main_~d~0#1| (+ |ULTIMATE.start_main_~r~0#1| 1)) (< |ULTIMATE.start_main_~r~0#1| (* 2 |ULTIMATE.start_main_~d~0#1|)))} is VALID [2022-02-20 17:30:43,015 INFO L290 TraceCheckUtils]: 65: Hoare triple {4081#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (< |ULTIMATE.start_main_~d~0#1| (+ |ULTIMATE.start_main_~r~0#1| 1)) (< |ULTIMATE.start_main_~r~0#1| (* 2 |ULTIMATE.start_main_~d~0#1|)))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} is VALID [2022-02-20 17:30:43,016 INFO L290 TraceCheckUtils]: 66: Hoare triple {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} assume !false; {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} is VALID [2022-02-20 17:30:43,016 INFO L272 TraceCheckUtils]: 67: Hoare triple {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:43,016 INFO L290 TraceCheckUtils]: 68: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:43,016 INFO L290 TraceCheckUtils]: 69: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:43,016 INFO L290 TraceCheckUtils]: 70: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:43,017 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {3878#true} {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} #90#return; {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} is VALID [2022-02-20 17:30:43,017 INFO L272 TraceCheckUtils]: 72: Hoare triple {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {3878#true} is VALID [2022-02-20 17:30:43,017 INFO L290 TraceCheckUtils]: 73: Hoare triple {3878#true} ~cond := #in~cond; {3878#true} is VALID [2022-02-20 17:30:43,017 INFO L290 TraceCheckUtils]: 74: Hoare triple {3878#true} assume !(0 == ~cond); {3878#true} is VALID [2022-02-20 17:30:43,017 INFO L290 TraceCheckUtils]: 75: Hoare triple {3878#true} assume true; {3878#true} is VALID [2022-02-20 17:30:43,018 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {3878#true} {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} #92#return; {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} is VALID [2022-02-20 17:30:43,019 INFO L290 TraceCheckUtils]: 77: Hoare triple {4085#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~q~0#1|) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} assume !(1 != main_~p~0#1); {4122#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~q~0#1| 1) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} is VALID [2022-02-20 17:30:43,020 INFO L272 TraceCheckUtils]: 78: Hoare triple {4122#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 |ULTIMATE.start_main_~d~0#1|)) (= |ULTIMATE.start_main_~q~0#1| 1) (< |ULTIMATE.start_main_~d~0#1| (+ (mod |ULTIMATE.start_main_~A~0#1| 4294967296) 1)) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) |ULTIMATE.start_main_~d~0#1|) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {4126#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:30:43,020 INFO L290 TraceCheckUtils]: 79: Hoare triple {4126#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4130#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:43,020 INFO L290 TraceCheckUtils]: 80: Hoare triple {4130#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3879#false} is VALID [2022-02-20 17:30:43,020 INFO L290 TraceCheckUtils]: 81: Hoare triple {3879#false} assume !false; {3879#false} is VALID [2022-02-20 17:30:43,021 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 25 proven. 31 refuted. 0 times theorem prover too weak. 165 trivial. 0 not checked. [2022-02-20 17:30:43,021 INFO L328 TraceCheckSpWp]: Computing backward predicates...