./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/hard-u_valuebound10.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-u_valuebound10.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 acfb876dde79fce1275c4e206713974ad548aff8bf1022b4ac21a21145aaa523 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:31:05,206 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:31:05,208 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:31:05,240 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:31:05,240 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:31:05,243 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:31:05,244 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:31:05,246 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:31:05,248 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:31:05,251 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:31:05,252 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:31:05,253 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:31:05,253 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:31:05,255 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:31:05,256 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:31:05,258 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:31:05,259 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:31:05,260 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:31:05,261 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:31:05,265 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:31:05,266 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:31:05,267 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:31:05,268 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:31:05,269 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:31:05,274 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:31:05,274 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:31:05,274 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:31:05,279 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:31:05,280 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:31:05,280 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:31:05,280 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:31:05,281 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:31:05,282 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:31:05,283 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:31:05,284 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:31:05,284 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:31:05,285 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:31:05,285 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:31:05,285 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:31:05,286 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:31:05,286 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:31:05,287 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:31:05,311 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:31:05,311 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:31:05,311 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:31:05,312 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:31:05,312 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:31:05,312 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:31:05,313 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:31:05,313 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:31:05,313 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:31:05,313 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:31:05,314 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:31:05,314 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:31:05,314 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:31:05,315 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:31:05,315 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:31:05,315 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:31:05,315 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:31:05,315 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:31:05,315 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:31:05,315 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:31:05,316 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:31:05,316 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:31:05,316 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:31:05,316 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:31:05,316 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:31:05,316 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:31:05,317 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:31:05,317 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:31:05,318 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:31:05,318 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:31:05,318 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:31:05,318 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:31:05,318 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:31:05,319 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 -> acfb876dde79fce1275c4e206713974ad548aff8bf1022b4ac21a21145aaa523 [2022-02-20 17:31:05,525 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:31:05,546 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:31:05,549 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:31:05,550 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:31:05,550 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:31:05,552 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/hard-u_valuebound10.c [2022-02-20 17:31:05,613 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9f2405e90/51e74e37260042f88efe4642d7c2707d/FLAG567fa01a6 [2022-02-20 17:31:05,897 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:31:05,898 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard-u_valuebound10.c [2022-02-20 17:31:05,905 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9f2405e90/51e74e37260042f88efe4642d7c2707d/FLAG567fa01a6 [2022-02-20 17:31:06,341 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9f2405e90/51e74e37260042f88efe4642d7c2707d [2022-02-20 17:31:06,344 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:31:06,345 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:31:06,348 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:31:06,348 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:31:06,351 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:31:06,352 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:31:06" (1/1) ... [2022-02-20 17:31:06,354 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@624e044f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:31:06, skipping insertion in model container [2022-02-20 17:31:06,354 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:31:06" (1/1) ... [2022-02-20 17:31:06,360 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:31:06,377 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:31:06,519 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-u_valuebound10.c[537,550] [2022-02-20 17:31:06,546 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:31:06,563 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:31:06,578 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-u_valuebound10.c[537,550] [2022-02-20 17:31:06,588 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:31:06,596 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:31:06,597 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:31:06 WrapperNode [2022-02-20 17:31:06,597 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:31:06,598 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:31:06,598 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:31:06,598 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:31:06,603 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:31:06" (1/1) ... [2022-02-20 17:31:06,613 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:31:06" (1/1) ... [2022-02-20 17:31:06,638 INFO L137 Inliner]: procedures = 14, calls = 17, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 55 [2022-02-20 17:31:06,639 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:31:06,640 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:31:06,640 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:31:06,640 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:31:06,645 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:31:06" (1/1) ... [2022-02-20 17:31:06,645 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:31:06" (1/1) ... [2022-02-20 17:31:06,648 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:31:06" (1/1) ... [2022-02-20 17:31:06,648 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:31:06" (1/1) ... [2022-02-20 17:31:06,658 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:31:06" (1/1) ... [2022-02-20 17:31:06,662 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:31:06" (1/1) ... [2022-02-20 17:31:06,665 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:31:06" (1/1) ... [2022-02-20 17:31:06,666 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:31:06,671 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:31:06,671 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:31:06,672 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:31:06,673 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:31:06" (1/1) ... [2022-02-20 17:31:06,679 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:31:06,685 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:31:06,696 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:31:06,702 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:31:06,724 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:31:06,724 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:31:06,724 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:31:06,725 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:31:06,725 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:31:06,725 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:31:06,725 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:31:06,728 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:31:06,768 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:31:06,770 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:31:06,866 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:31:06,870 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:31:06,871 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:31:06,872 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:31:06 BoogieIcfgContainer [2022-02-20 17:31:06,872 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:31:06,873 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:31:06,873 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:31:06,875 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:31:06,876 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:31:06" (1/3) ... [2022-02-20 17:31:06,876 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@42a9096c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:31:06, skipping insertion in model container [2022-02-20 17:31:06,876 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:31:06" (2/3) ... [2022-02-20 17:31:06,877 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@42a9096c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:31:06, skipping insertion in model container [2022-02-20 17:31:06,877 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:31:06" (3/3) ... [2022-02-20 17:31:06,878 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-u_valuebound10.c [2022-02-20 17:31:06,881 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:31:06,882 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:31:06,914 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:31:06,919 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:31:06,919 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:31:06,945 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:31:06,949 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 17:31:06,949 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:31:06,949 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:31:06,950 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:31:06,953 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:31:06,953 INFO L85 PathProgramCache]: Analyzing trace with hash -487550744, now seen corresponding path program 1 times [2022-02-20 17:31:06,978 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:31:06,978 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2060426834] [2022-02-20 17:31:06,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:06,979 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:31:07,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:07,150 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:31:07,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:07,163 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:31:07,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:31:07,164 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:31:07,165 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#false} {36#true} #78#return; {37#false} is VALID [2022-02-20 17:31:07,166 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:31:07,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:07,178 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:31:07,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:31:07,179 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:31:07,179 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#false} {37#false} #80#return; {37#false} is VALID [2022-02-20 17:31:07,180 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:31:07,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:07,188 INFO L290 TraceCheckUtils]: 0: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:31:07,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:31:07,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:31:07,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#false} {37#false} #82#return; {37#false} is VALID [2022-02-20 17:31:07,190 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(9, 2);call #Ultimate.allocInit(12, 3); {36#true} is VALID [2022-02-20 17:31:07,190 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:31:07,190 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 <= 10 then 1 else 0)); {36#true} is VALID [2022-02-20 17:31:07,191 INFO L290 TraceCheckUtils]: 3: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:31:07,191 INFO L290 TraceCheckUtils]: 4: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:31:07,192 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:31:07,192 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {37#false} {36#true} #78#return; {37#false} is VALID [2022-02-20 17:31:07,192 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:31:07,192 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 <= 10 then 1 else 0)); {36#true} is VALID [2022-02-20 17:31:07,192 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:31:07,193 INFO L290 TraceCheckUtils]: 10: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:31:07,193 INFO L290 TraceCheckUtils]: 11: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:31:07,193 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {37#false} {37#false} #80#return; {37#false} is VALID [2022-02-20 17:31:07,194 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:31:07,194 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#true} ~cond := #in~cond; {36#true} is VALID [2022-02-20 17:31:07,195 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#true} assume 0 == ~cond;assume false; {37#false} is VALID [2022-02-20 17:31:07,195 INFO L290 TraceCheckUtils]: 16: Hoare triple {37#false} assume true; {37#false} is VALID [2022-02-20 17:31:07,195 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {37#false} {37#false} #82#return; {37#false} is VALID [2022-02-20 17:31:07,196 INFO L290 TraceCheckUtils]: 18: Hoare triple {37#false} main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {37#false} is VALID [2022-02-20 17:31:07,196 INFO L290 TraceCheckUtils]: 19: Hoare triple {37#false} assume !false; {37#false} is VALID [2022-02-20 17:31:07,196 INFO L272 TraceCheckUtils]: 20: Hoare triple {37#false} call __VERIFIER_assert((if 0 == main_~q~0#1 % 4294967296 then 1 else 0)); {37#false} is VALID [2022-02-20 17:31:07,196 INFO L290 TraceCheckUtils]: 21: Hoare triple {37#false} ~cond := #in~cond; {37#false} is VALID [2022-02-20 17:31:07,197 INFO L290 TraceCheckUtils]: 22: Hoare triple {37#false} assume 0 == ~cond; {37#false} is VALID [2022-02-20 17:31:07,197 INFO L290 TraceCheckUtils]: 23: Hoare triple {37#false} assume !false; {37#false} is VALID [2022-02-20 17:31:07,197 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:31:07,198 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:31:07,198 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2060426834] [2022-02-20 17:31:07,199 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2060426834] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:31:07,200 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:31:07,200 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:31:07,202 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [509005824] [2022-02-20 17:31:07,203 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:31:07,208 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:31:07,209 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:31:07,212 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:31:07,245 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:31:07,246 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:31:07,247 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:31:07,265 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:31:07,267 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:31:07,270 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:31:07,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:07,358 INFO L93 Difference]: Finished difference Result 63 states and 104 transitions. [2022-02-20 17:31:07,358 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:31:07,359 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:31:07,360 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:31:07,360 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:31:07,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 104 transitions. [2022-02-20 17:31:07,375 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:31:07,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 104 transitions. [2022-02-20 17:31:07,387 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 104 transitions. [2022-02-20 17:31:07,534 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:31:07,542 INFO L225 Difference]: With dead ends: 63 [2022-02-20 17:31:07,542 INFO L226 Difference]: Without dead ends: 29 [2022-02-20 17:31:07,545 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:31:07,549 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:31:07,550 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:31:07,560 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-02-20 17:31:07,568 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-02-20 17:31:07,569 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:31:07,569 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:31:07,570 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:31:07,570 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:31:07,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:07,573 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2022-02-20 17:31:07,573 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 17:31:07,576 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:07,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:07,579 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:31:07,580 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:31:07,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:07,585 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2022-02-20 17:31:07,585 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 17:31:07,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:07,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:07,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:31:07,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:31:07,587 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:31:07,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 39 transitions. [2022-02-20 17:31:07,594 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 39 transitions. Word has length 24 [2022-02-20 17:31:07,594 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:31:07,594 INFO L470 AbstractCegarLoop]: Abstraction has 29 states and 39 transitions. [2022-02-20 17:31:07,595 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:31:07,595 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 39 transitions. [2022-02-20 17:31:07,597 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-02-20 17:31:07,597 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:31:07,597 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:31:07,597 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:31:07,599 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:31:07,599 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:31:07,599 INFO L85 PathProgramCache]: Analyzing trace with hash -1636258074, now seen corresponding path program 1 times [2022-02-20 17:31:07,599 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:31:07,600 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [907440172] [2022-02-20 17:31:07,600 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:07,600 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:31:07,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:07,663 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:31:07,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:07,669 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:31:07,670 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:31:07,670 INFO L290 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:31:07,670 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #78#return; {242#true} is VALID [2022-02-20 17:31:07,670 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:31:07,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:07,675 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:31:07,675 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:31:07,675 INFO L290 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:31:07,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #80#return; {242#true} is VALID [2022-02-20 17:31:07,676 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:31:07,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:07,692 INFO L290 TraceCheckUtils]: 0: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:31:07,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:31:07,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:31:07,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {242#true} {242#true} #82#return; {242#true} is VALID [2022-02-20 17:31:07,693 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(9, 2);call #Ultimate.allocInit(12, 3); {242#true} is VALID [2022-02-20 17:31:07,693 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:31:07,694 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 <= 10 then 1 else 0)); {242#true} is VALID [2022-02-20 17:31:07,694 INFO L290 TraceCheckUtils]: 3: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:31:07,694 INFO L290 TraceCheckUtils]: 4: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:31:07,694 INFO L290 TraceCheckUtils]: 5: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:31:07,694 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {242#true} {242#true} #78#return; {242#true} is VALID [2022-02-20 17:31:07,694 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:31:07,695 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 <= 10 then 1 else 0)); {242#true} is VALID [2022-02-20 17:31:07,695 INFO L290 TraceCheckUtils]: 9: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:31:07,695 INFO L290 TraceCheckUtils]: 10: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:31:07,695 INFO L290 TraceCheckUtils]: 11: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:31:07,695 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {242#true} {242#true} #80#return; {242#true} is VALID [2022-02-20 17:31:07,695 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:31:07,696 INFO L290 TraceCheckUtils]: 14: Hoare triple {242#true} ~cond := #in~cond; {242#true} is VALID [2022-02-20 17:31:07,696 INFO L290 TraceCheckUtils]: 15: Hoare triple {242#true} assume !(0 == ~cond); {242#true} is VALID [2022-02-20 17:31:07,696 INFO L290 TraceCheckUtils]: 16: Hoare triple {242#true} assume true; {242#true} is VALID [2022-02-20 17:31:07,696 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {242#true} {242#true} #82#return; {242#true} is VALID [2022-02-20 17:31:07,698 INFO L290 TraceCheckUtils]: 18: Hoare triple {242#true} main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {256#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:31:07,698 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:31:07,699 INFO L272 TraceCheckUtils]: 20: Hoare triple {256#(= |ULTIMATE.start_main_~q~0#1| 0)} call __VERIFIER_assert((if 0 == main_~q~0#1 % 4294967296 then 1 else 0)); {257#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:31:07,699 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:31:07,700 INFO L290 TraceCheckUtils]: 22: Hoare triple {258#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {243#false} is VALID [2022-02-20 17:31:07,700 INFO L290 TraceCheckUtils]: 23: Hoare triple {243#false} assume !false; {243#false} is VALID [2022-02-20 17:31:07,700 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:31:07,700 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:31:07,700 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [907440172] [2022-02-20 17:31:07,701 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [907440172] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:31:07,701 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:31:07,701 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:31:07,701 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [470969919] [2022-02-20 17:31:07,701 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:31:07,702 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:31:07,703 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:31:07,703 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:31:07,714 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:31:07,715 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:31:07,715 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:31:07,715 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:31:07,715 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:31:07,716 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:31:07,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:07,876 INFO L93 Difference]: Finished difference Result 42 states and 56 transitions. [2022-02-20 17:31:07,876 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:31:07,876 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:31:07,877 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:31:07,877 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:31:07,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:31:07,882 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:31:07,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:31:07,885 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2022-02-20 17:31:07,927 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:31:07,929 INFO L225 Difference]: With dead ends: 42 [2022-02-20 17:31:07,929 INFO L226 Difference]: Without dead ends: 40 [2022-02-20 17:31:07,933 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:31:07,934 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:31:07,935 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:31:07,936 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-02-20 17:31:07,941 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2022-02-20 17:31:07,941 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:31:07,942 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:31:07,942 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:31:07,943 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:31:07,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:07,945 INFO L93 Difference]: Finished difference Result 40 states and 54 transitions. [2022-02-20 17:31:07,945 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 54 transitions. [2022-02-20 17:31:07,949 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:07,949 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:07,950 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:31:07,951 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:31:07,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:07,957 INFO L93 Difference]: Finished difference Result 40 states and 54 transitions. [2022-02-20 17:31:07,959 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 54 transitions. [2022-02-20 17:31:07,960 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:07,960 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:07,960 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:31:07,960 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:31:07,961 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:31:07,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 42 transitions. [2022-02-20 17:31:07,966 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 42 transitions. Word has length 24 [2022-02-20 17:31:07,967 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:31:07,967 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 42 transitions. [2022-02-20 17:31:07,967 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:31:07,968 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 42 transitions. [2022-02-20 17:31:07,968 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:31:07,968 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:31:07,968 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:31:07,968 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 17:31:07,968 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:31:07,969 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:31:07,969 INFO L85 PathProgramCache]: Analyzing trace with hash 906849917, now seen corresponding path program 1 times [2022-02-20 17:31:07,969 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:31:07,969 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1133558538] [2022-02-20 17:31:07,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:07,969 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:31:08,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:08,165 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:31:08,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:08,181 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:31:08,182 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:31:08,187 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:31:08,187 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {450#true} #78#return; {450#true} is VALID [2022-02-20 17:31:08,188 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:31:08,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:08,196 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:31:08,197 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:31:08,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:31:08,197 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {450#true} #80#return; {450#true} is VALID [2022-02-20 17:31:08,198 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:31:08,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:08,204 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:31:08,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:31:08,205 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:31:08,205 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {450#true} #82#return; {450#true} is VALID [2022-02-20 17:31:08,205 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 20 [2022-02-20 17:31:08,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:08,223 INFO L290 TraceCheckUtils]: 0: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:31:08,223 INFO L290 TraceCheckUtils]: 1: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:31:08,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:31:08,225 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {450#true} {464#(and (<= (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296)) (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|)) (< (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296) 1)) (<= (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|))} #84#return; {464#(and (<= (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296)) (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|)) (< (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296) 1)) (<= (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:08,225 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(9, 2);call #Ultimate.allocInit(12, 3); {450#true} is VALID [2022-02-20 17:31:08,225 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:31:08,226 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 <= 10 then 1 else 0)); {450#true} is VALID [2022-02-20 17:31:08,227 INFO L290 TraceCheckUtils]: 3: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:31:08,227 INFO L290 TraceCheckUtils]: 4: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:31:08,227 INFO L290 TraceCheckUtils]: 5: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:31:08,228 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {450#true} {450#true} #78#return; {450#true} is VALID [2022-02-20 17:31:08,228 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:31:08,228 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 <= 10 then 1 else 0)); {450#true} is VALID [2022-02-20 17:31:08,228 INFO L290 TraceCheckUtils]: 9: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:31:08,228 INFO L290 TraceCheckUtils]: 10: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:31:08,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:31:08,229 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {450#true} {450#true} #80#return; {450#true} is VALID [2022-02-20 17:31:08,229 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:31:08,231 INFO L290 TraceCheckUtils]: 14: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:31:08,231 INFO L290 TraceCheckUtils]: 15: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:31:08,231 INFO L290 TraceCheckUtils]: 16: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:31:08,231 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {450#true} {450#true} #82#return; {450#true} is VALID [2022-02-20 17:31:08,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {450#true} main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {464#(and (<= (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296)) (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|)) (< (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296) 1)) (<= (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:08,234 INFO L290 TraceCheckUtils]: 19: Hoare triple {464#(and (<= (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296)) (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|)) (< (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296) 1)) (<= (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|))} assume !false; {464#(and (<= (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296)) (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|)) (< (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296) 1)) (<= (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:08,234 INFO L272 TraceCheckUtils]: 20: Hoare triple {464#(and (<= (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296)) (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|)) (< (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296) 1)) (<= (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 % 4294967296 then 1 else 0)); {450#true} is VALID [2022-02-20 17:31:08,234 INFO L290 TraceCheckUtils]: 21: Hoare triple {450#true} ~cond := #in~cond; {450#true} is VALID [2022-02-20 17:31:08,234 INFO L290 TraceCheckUtils]: 22: Hoare triple {450#true} assume !(0 == ~cond); {450#true} is VALID [2022-02-20 17:31:08,234 INFO L290 TraceCheckUtils]: 23: Hoare triple {450#true} assume true; {450#true} is VALID [2022-02-20 17:31:08,235 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {450#true} {464#(and (<= (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296)) (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|)) (< (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296) 1)) (<= (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|))} #84#return; {464#(and (<= (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296)) (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|)) (< (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296) 1)) (<= (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:08,236 INFO L272 TraceCheckUtils]: 25: Hoare triple {464#(and (<= (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296)) (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|)) (< (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) (+ |ULTIMATE.start_main_~A~0#1| (* (div |ULTIMATE.start_main_~r~0#1| 4294967296) 4294967296) 1)) (<= (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~r~0#1 % 4294967296 == main_~A~0#1 % 4294967296 then 1 else 0)); {469#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:31:08,236 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:31:08,237 INFO L290 TraceCheckUtils]: 27: Hoare triple {470#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {451#false} is VALID [2022-02-20 17:31:08,237 INFO L290 TraceCheckUtils]: 28: Hoare triple {451#false} assume !false; {451#false} is VALID [2022-02-20 17:31:08,237 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:31:08,238 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:31:08,239 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1133558538] [2022-02-20 17:31:08,239 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1133558538] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:31:08,239 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:31:08,240 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:31:08,240 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [770404716] [2022-02-20 17:31:08,240 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:31:08,240 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:31:08,241 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:31:08,241 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:31:08,260 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:31:08,260 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:31:08,260 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:31:08,260 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:31:08,261 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:31:08,261 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:31:08,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:08,459 INFO L93 Difference]: Finished difference Result 46 states and 59 transitions. [2022-02-20 17:31:08,460 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:31:08,460 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:31:08,460 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:31:08,460 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:31:08,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:31:08,461 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:31:08,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2022-02-20 17:31:08,462 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2022-02-20 17:31:08,522 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:31:08,523 INFO L225 Difference]: With dead ends: 46 [2022-02-20 17:31:08,523 INFO L226 Difference]: Without dead ends: 44 [2022-02-20 17:31:08,524 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 11 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:31:08,524 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:31:08,525 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:31:08,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-02-20 17:31:08,538 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-02-20 17:31:08,538 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:31:08,538 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:31:08,539 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:31:08,539 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:31:08,540 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:08,541 INFO L93 Difference]: Finished difference Result 44 states and 57 transitions. [2022-02-20 17:31:08,541 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 57 transitions. [2022-02-20 17:31:08,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:08,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:08,541 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:31:08,541 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:31:08,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:08,543 INFO L93 Difference]: Finished difference Result 44 states and 57 transitions. [2022-02-20 17:31:08,543 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 57 transitions. [2022-02-20 17:31:08,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:08,543 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:08,543 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:31:08,543 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:31:08,544 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:31:08,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 45 transitions. [2022-02-20 17:31:08,545 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 45 transitions. Word has length 29 [2022-02-20 17:31:08,545 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:31:08,545 INFO L470 AbstractCegarLoop]: Abstraction has 37 states and 45 transitions. [2022-02-20 17:31:08,545 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:31:08,545 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 45 transitions. [2022-02-20 17:31:08,546 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 17:31:08,546 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:31:08,546 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:31:08,546 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 17:31:08,546 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:31:08,546 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:31:08,547 INFO L85 PathProgramCache]: Analyzing trace with hash 710995206, now seen corresponding path program 1 times [2022-02-20 17:31:08,547 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:31:08,547 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [635184522] [2022-02-20 17:31:08,547 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:08,547 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:31:08,558 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:31:08,558 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1705864835] [2022-02-20 17:31:08,559 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:08,559 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:31:08,559 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:31:08,560 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:31:08,571 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:31:08,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:08,605 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:31:08,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:08,616 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:31:08,773 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(9, 2);call #Ultimate.allocInit(12, 3); {680#true} is VALID [2022-02-20 17:31:08,774 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:31:08,774 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 <= 10 then 1 else 0)); {680#true} is VALID [2022-02-20 17:31:08,774 INFO L290 TraceCheckUtils]: 3: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:31:08,774 INFO L290 TraceCheckUtils]: 4: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:31:08,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:31:08,775 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {680#true} {680#true} #78#return; {680#true} is VALID [2022-02-20 17:31:08,775 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:31:08,775 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 <= 10 then 1 else 0)); {680#true} is VALID [2022-02-20 17:31:08,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:31:08,776 INFO L290 TraceCheckUtils]: 10: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:31:08,776 INFO L290 TraceCheckUtils]: 11: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:31:08,776 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {680#true} {680#true} #80#return; {680#true} is VALID [2022-02-20 17:31:08,776 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:31:08,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:31:08,777 INFO L290 TraceCheckUtils]: 15: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:31:08,777 INFO L290 TraceCheckUtils]: 16: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:31:08,777 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {680#true} {680#true} #82#return; {680#true} is VALID [2022-02-20 17:31:08,778 INFO L290 TraceCheckUtils]: 18: Hoare triple {680#true} main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:31:08,778 INFO L290 TraceCheckUtils]: 19: Hoare triple {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} assume !false; {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:31:08,779 INFO L272 TraceCheckUtils]: 20: Hoare triple {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 % 4294967296 then 1 else 0)); {680#true} is VALID [2022-02-20 17:31:08,779 INFO L290 TraceCheckUtils]: 21: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:31:08,779 INFO L290 TraceCheckUtils]: 22: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:31:08,779 INFO L290 TraceCheckUtils]: 23: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:31:08,801 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {680#true} {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} #84#return; {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:31:08,801 INFO L272 TraceCheckUtils]: 25: Hoare triple {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~r~0#1 % 4294967296 == main_~A~0#1 % 4294967296 then 1 else 0)); {680#true} is VALID [2022-02-20 17:31:08,801 INFO L290 TraceCheckUtils]: 26: Hoare triple {680#true} ~cond := #in~cond; {680#true} is VALID [2022-02-20 17:31:08,802 INFO L290 TraceCheckUtils]: 27: Hoare triple {680#true} assume !(0 == ~cond); {680#true} is VALID [2022-02-20 17:31:08,802 INFO L290 TraceCheckUtils]: 28: Hoare triple {680#true} assume true; {680#true} is VALID [2022-02-20 17:31:08,803 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {680#true} {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} #86#return; {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:31:08,803 INFO L272 TraceCheckUtils]: 30: Hoare triple {739#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~d~0#1 % 4294967296 == main_~B~0#1 * main_~p~0#1 % 4294967296 then 1 else 0)); {776#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:31:08,804 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:31:08,804 INFO L290 TraceCheckUtils]: 32: Hoare triple {780#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {681#false} is VALID [2022-02-20 17:31:08,805 INFO L290 TraceCheckUtils]: 33: Hoare triple {681#false} assume !false; {681#false} is VALID [2022-02-20 17:31:08,805 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:31:08,805 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:31:08,805 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:31:08,805 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [635184522] [2022-02-20 17:31:08,805 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:31:08,806 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1705864835] [2022-02-20 17:31:08,806 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1705864835] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:31:08,806 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:31:08,806 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:31:08,806 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [50874474] [2022-02-20 17:31:08,806 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:31:08,807 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:31:08,807 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:31:08,807 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:31:08,832 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:31:08,832 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:31:08,832 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:31:08,834 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:31:08,834 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:31:08,834 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:31:10,990 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=false, quantifiers [] [2022-02-20 17:31:11,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:11,227 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-02-20 17:31:11,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:31:11,227 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:31:11,228 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:31:11,228 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:31:11,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-02-20 17:31:11,229 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:31:11,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-02-20 17:31:11,230 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-02-20 17:31:11,292 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:31:11,294 INFO L225 Difference]: With dead ends: 54 [2022-02-20 17:31:11,294 INFO L226 Difference]: Without dead ends: 51 [2022-02-20 17:31:11,294 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:31:11,295 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 2 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 138 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:31:11,295 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 138 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 37 Invalid, 1 Unknown, 0 Unchecked, 2.0s Time] [2022-02-20 17:31:11,295 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-02-20 17:31:11,320 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 51. [2022-02-20 17:31:11,321 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:31:11,321 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 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:31:11,321 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 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:31:11,321 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 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:31:11,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:11,323 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-02-20 17:31:11,323 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-02-20 17:31:11,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:11,324 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:11,324 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 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:31:11,324 INFO L87 Difference]: Start difference. First operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 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:31:11,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:11,326 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-02-20 17:31:11,326 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-02-20 17:31:11,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:11,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:11,326 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:31:11,326 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:31:11,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 29 states have (on average 1.206896551724138) internal successors, (35), 31 states have internal predecessors, (35), 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:31:11,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 65 transitions. [2022-02-20 17:31:11,328 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 65 transitions. Word has length 34 [2022-02-20 17:31:11,328 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:31:11,328 INFO L470 AbstractCegarLoop]: Abstraction has 51 states and 65 transitions. [2022-02-20 17:31:11,328 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:31:11,329 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-02-20 17:31:11,329 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 17:31:11,329 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:31:11,329 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:31:11,350 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:31:11,547 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:31:11,547 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:31:11,548 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:31:11,548 INFO L85 PathProgramCache]: Analyzing trace with hash -1829555286, now seen corresponding path program 1 times [2022-02-20 17:31:11,548 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:31:11,548 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [221008282] [2022-02-20 17:31:11,548 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:11,548 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:31:11,559 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:31:11,559 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [60131441] [2022-02-20 17:31:11,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:11,560 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:31:11,560 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:31:11,565 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:31:11,566 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:31:11,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:11,600 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 17:31:11,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:11,610 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:31:13,712 INFO L290 TraceCheckUtils]: 0: Hoare triple {1042#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(9, 2);call #Ultimate.allocInit(12, 3); {1042#true} is VALID [2022-02-20 17:31:13,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {1042#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; {1042#true} is VALID [2022-02-20 17:31:13,712 INFO L272 TraceCheckUtils]: 2: Hoare triple {1042#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {1042#true} is VALID [2022-02-20 17:31:13,712 INFO L290 TraceCheckUtils]: 3: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-02-20 17:31:13,713 INFO L290 TraceCheckUtils]: 4: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-02-20 17:31:13,713 INFO L290 TraceCheckUtils]: 5: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-02-20 17:31:13,713 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1042#true} {1042#true} #78#return; {1042#true} is VALID [2022-02-20 17:31:13,713 INFO L290 TraceCheckUtils]: 7: Hoare triple {1042#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1042#true} is VALID [2022-02-20 17:31:13,713 INFO L272 TraceCheckUtils]: 8: Hoare triple {1042#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {1042#true} is VALID [2022-02-20 17:31:13,713 INFO L290 TraceCheckUtils]: 9: Hoare triple {1042#true} ~cond := #in~cond; {1074#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:31:13,714 INFO L290 TraceCheckUtils]: 10: Hoare triple {1074#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1078#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:31:13,714 INFO L290 TraceCheckUtils]: 11: Hoare triple {1078#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1078#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:31:13,715 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1078#(not (= |assume_abort_if_not_#in~cond| 0))} {1042#true} #80#return; {1085#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} is VALID [2022-02-20 17:31:13,715 INFO L272 TraceCheckUtils]: 13: Hoare triple {1085#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1042#true} is VALID [2022-02-20 17:31:13,715 INFO L290 TraceCheckUtils]: 14: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-02-20 17:31:13,715 INFO L290 TraceCheckUtils]: 15: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-02-20 17:31:13,715 INFO L290 TraceCheckUtils]: 16: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-02-20 17:31:13,715 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1042#true} {1085#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} #82#return; {1085#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} is VALID [2022-02-20 17:31:13,716 INFO L290 TraceCheckUtils]: 18: Hoare triple {1085#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:13,716 INFO L290 TraceCheckUtils]: 19: Hoare triple {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !false; {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:13,716 INFO L272 TraceCheckUtils]: 20: Hoare triple {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 % 4294967296 then 1 else 0)); {1042#true} is VALID [2022-02-20 17:31:13,716 INFO L290 TraceCheckUtils]: 21: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-02-20 17:31:13,717 INFO L290 TraceCheckUtils]: 22: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-02-20 17:31:13,717 INFO L290 TraceCheckUtils]: 23: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-02-20 17:31:13,732 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1042#true} {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} #84#return; {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:13,732 INFO L272 TraceCheckUtils]: 25: Hoare triple {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~r~0#1 % 4294967296 == main_~A~0#1 % 4294967296 then 1 else 0)); {1042#true} is VALID [2022-02-20 17:31:13,732 INFO L290 TraceCheckUtils]: 26: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-02-20 17:31:13,732 INFO L290 TraceCheckUtils]: 27: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-02-20 17:31:13,732 INFO L290 TraceCheckUtils]: 28: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-02-20 17:31:13,733 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1042#true} {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} #86#return; {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:13,733 INFO L272 TraceCheckUtils]: 30: Hoare triple {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 % 4294967296 == main_~B~0#1 * main_~p~0#1 % 4294967296 then 1 else 0)); {1042#true} is VALID [2022-02-20 17:31:13,733 INFO L290 TraceCheckUtils]: 31: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-02-20 17:31:13,733 INFO L290 TraceCheckUtils]: 32: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-02-20 17:31:13,733 INFO L290 TraceCheckUtils]: 33: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-02-20 17:31:13,734 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1042#true} {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} #88#return; {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:13,734 INFO L290 TraceCheckUtils]: 35: Hoare triple {1104#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !(main_~r~0#1 % 4294967296 >= main_~d~0#1 % 4294967296); {1156#(and (not (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:13,735 INFO L290 TraceCheckUtils]: 36: Hoare triple {1156#(and (not (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !false; {1156#(and (not (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:13,735 INFO L272 TraceCheckUtils]: 37: Hoare triple {1156#(and (not (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == (main_~q~0#1 * main_~B~0#1 + main_~r~0#1) % 4294967296 then 1 else 0)); {1163#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:31:13,736 INFO L290 TraceCheckUtils]: 38: Hoare triple {1163#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1167#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:31:13,736 INFO L290 TraceCheckUtils]: 39: Hoare triple {1167#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1043#false} is VALID [2022-02-20 17:31:13,736 INFO L290 TraceCheckUtils]: 40: Hoare triple {1043#false} assume !false; {1043#false} is VALID [2022-02-20 17:31:13,736 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:31:13,736 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:31:14,176 INFO L290 TraceCheckUtils]: 40: Hoare triple {1043#false} assume !false; {1043#false} is VALID [2022-02-20 17:31:14,176 INFO L290 TraceCheckUtils]: 39: Hoare triple {1167#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1043#false} is VALID [2022-02-20 17:31:14,177 INFO L290 TraceCheckUtils]: 38: Hoare triple {1163#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1167#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:31:14,178 INFO L272 TraceCheckUtils]: 37: Hoare triple {1183#(= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (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 + main_~r~0#1) % 4294967296 then 1 else 0)); {1163#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:31:14,178 INFO L290 TraceCheckUtils]: 36: Hoare triple {1183#(= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} assume !false; {1183#(= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} is VALID [2022-02-20 17:31:14,179 INFO L290 TraceCheckUtils]: 35: Hoare triple {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} assume !(main_~r~0#1 % 4294967296 >= main_~d~0#1 % 4294967296); {1183#(= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))} is VALID [2022-02-20 17:31:14,179 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1042#true} {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} #88#return; {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} is VALID [2022-02-20 17:31:14,179 INFO L290 TraceCheckUtils]: 33: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-02-20 17:31:14,180 INFO L290 TraceCheckUtils]: 32: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-02-20 17:31:14,180 INFO L290 TraceCheckUtils]: 31: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-02-20 17:31:14,180 INFO L272 TraceCheckUtils]: 30: Hoare triple {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 % 4294967296 == main_~B~0#1 * main_~p~0#1 % 4294967296 then 1 else 0)); {1042#true} is VALID [2022-02-20 17:31:14,181 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1042#true} {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} #86#return; {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} is VALID [2022-02-20 17:31:14,181 INFO L290 TraceCheckUtils]: 28: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-02-20 17:31:14,181 INFO L290 TraceCheckUtils]: 27: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-02-20 17:31:14,181 INFO L290 TraceCheckUtils]: 26: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-02-20 17:31:14,181 INFO L272 TraceCheckUtils]: 25: Hoare triple {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 % 4294967296 == main_~A~0#1 % 4294967296 then 1 else 0)); {1042#true} is VALID [2022-02-20 17:31:14,182 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1042#true} {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} #84#return; {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} is VALID [2022-02-20 17:31:14,182 INFO L290 TraceCheckUtils]: 23: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-02-20 17:31:14,182 INFO L290 TraceCheckUtils]: 22: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-02-20 17:31:14,183 INFO L290 TraceCheckUtils]: 21: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-02-20 17:31:14,183 INFO L272 TraceCheckUtils]: 20: Hoare triple {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 % 4294967296 then 1 else 0)); {1042#true} is VALID [2022-02-20 17:31:14,183 INFO L290 TraceCheckUtils]: 19: Hoare triple {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} assume !false; {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} is VALID [2022-02-20 17:31:14,184 INFO L290 TraceCheckUtils]: 18: Hoare triple {1042#true} main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {1190#(or (= (mod (+ (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} is VALID [2022-02-20 17:31:14,184 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1042#true} {1042#true} #82#return; {1042#true} is VALID [2022-02-20 17:31:14,184 INFO L290 TraceCheckUtils]: 16: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-02-20 17:31:14,184 INFO L290 TraceCheckUtils]: 15: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-02-20 17:31:14,184 INFO L290 TraceCheckUtils]: 14: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-02-20 17:31:14,185 INFO L272 TraceCheckUtils]: 13: Hoare triple {1042#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1042#true} is VALID [2022-02-20 17:31:14,185 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1042#true} {1042#true} #80#return; {1042#true} is VALID [2022-02-20 17:31:14,185 INFO L290 TraceCheckUtils]: 11: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-02-20 17:31:14,185 INFO L290 TraceCheckUtils]: 10: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-02-20 17:31:14,185 INFO L290 TraceCheckUtils]: 9: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-02-20 17:31:14,185 INFO L272 TraceCheckUtils]: 8: Hoare triple {1042#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {1042#true} is VALID [2022-02-20 17:31:14,185 INFO L290 TraceCheckUtils]: 7: Hoare triple {1042#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1042#true} is VALID [2022-02-20 17:31:14,186 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1042#true} {1042#true} #78#return; {1042#true} is VALID [2022-02-20 17:31:14,186 INFO L290 TraceCheckUtils]: 5: Hoare triple {1042#true} assume true; {1042#true} is VALID [2022-02-20 17:31:14,186 INFO L290 TraceCheckUtils]: 4: Hoare triple {1042#true} assume !(0 == ~cond); {1042#true} is VALID [2022-02-20 17:31:14,186 INFO L290 TraceCheckUtils]: 3: Hoare triple {1042#true} ~cond := #in~cond; {1042#true} is VALID [2022-02-20 17:31:14,186 INFO L272 TraceCheckUtils]: 2: Hoare triple {1042#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {1042#true} is VALID [2022-02-20 17:31:14,186 INFO L290 TraceCheckUtils]: 1: Hoare triple {1042#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; {1042#true} is VALID [2022-02-20 17:31:14,186 INFO L290 TraceCheckUtils]: 0: Hoare triple {1042#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(9, 2);call #Ultimate.allocInit(12, 3); {1042#true} is VALID [2022-02-20 17:31:14,187 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:31:14,187 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:31:14,187 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [221008282] [2022-02-20 17:31:14,187 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:31:14,187 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [60131441] [2022-02-20 17:31:14,187 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [60131441] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:31:14,188 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:31:14,188 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-02-20 17:31:14,188 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [711777136] [2022-02-20 17:31:14,188 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:31:14,189 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:31:14,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:31:14,189 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:31:14,215 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:31:14,215 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 17:31:14,215 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:31:14,216 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 17:31:14,216 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:31:14,216 INFO L87 Difference]: Start difference. First operand 51 states and 65 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:31:16,623 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:31:16,817 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:16,817 INFO L93 Difference]: Finished difference Result 64 states and 82 transitions. [2022-02-20 17:31:16,817 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:31:16,818 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:31:16,818 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:31:16,818 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:31:16,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:31:16,820 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:31:16,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-02-20 17:31:16,821 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2022-02-20 17:31:16,876 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:31:16,879 INFO L225 Difference]: With dead ends: 64 [2022-02-20 17:31:16,879 INFO L226 Difference]: Without dead ends: 62 [2022-02-20 17:31:16,880 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:31:16,882 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 12 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-02-20 17:31:16,882 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 162 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 41 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-02-20 17:31:16,883 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 62 states. [2022-02-20 17:31:16,918 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 62 to 60. [2022-02-20 17:31:16,918 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:31:16,918 INFO L82 GeneralOperation]: Start isEquivalent. First operand 62 states. Second operand has 60 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 37 states have internal predecessors, (43), 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:31:16,919 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand has 60 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 37 states have internal predecessors, (43), 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:31:16,919 INFO L87 Difference]: Start difference. First operand 62 states. Second operand has 60 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 37 states have internal predecessors, (43), 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:31:16,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:16,921 INFO L93 Difference]: Finished difference Result 62 states and 80 transitions. [2022-02-20 17:31:16,921 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 80 transitions. [2022-02-20 17:31:16,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:16,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:16,922 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 37 states have internal predecessors, (43), 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:31:16,922 INFO L87 Difference]: Start difference. First operand has 60 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 37 states have internal predecessors, (43), 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:31:16,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:16,923 INFO L93 Difference]: Finished difference Result 62 states and 80 transitions. [2022-02-20 17:31:16,924 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 80 transitions. [2022-02-20 17:31:16,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:16,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:16,924 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:31:16,924 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:31:16,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 35 states have (on average 1.2285714285714286) internal successors, (43), 37 states have internal predecessors, (43), 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:31:16,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 77 transitions. [2022-02-20 17:31:16,926 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 77 transitions. Word has length 41 [2022-02-20 17:31:16,926 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:31:16,926 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 77 transitions. [2022-02-20 17:31:16,926 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:31:16,926 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 77 transitions. [2022-02-20 17:31:16,926 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 17:31:16,926 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:31:16,927 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:31:16,945 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-02-20 17:31:17,143 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:31:17,143 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:31:17,143 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:31:17,143 INFO L85 PathProgramCache]: Analyzing trace with hash 105343995, now seen corresponding path program 1 times [2022-02-20 17:31:17,143 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:31:17,143 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1449933145] [2022-02-20 17:31:17,143 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:17,144 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:31:17,158 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:31:17,164 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [126552300] [2022-02-20 17:31:17,165 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:17,165 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:31:17,165 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:31:17,177 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:31:17,183 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:31:17,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:17,340 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 23 conjunts are in the unsatisfiable core [2022-02-20 17:31:17,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:17,367 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:31:19,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {1599#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(9, 2);call #Ultimate.allocInit(12, 3); {1599#true} is VALID [2022-02-20 17:31:19,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {1599#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; {1599#true} is VALID [2022-02-20 17:31:19,226 INFO L272 TraceCheckUtils]: 2: Hoare triple {1599#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:19,226 INFO L290 TraceCheckUtils]: 3: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:19,226 INFO L290 TraceCheckUtils]: 4: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:19,227 INFO L290 TraceCheckUtils]: 5: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:19,227 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1599#true} {1599#true} #78#return; {1599#true} is VALID [2022-02-20 17:31:19,227 INFO L290 TraceCheckUtils]: 7: Hoare triple {1599#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1599#true} is VALID [2022-02-20 17:31:19,227 INFO L272 TraceCheckUtils]: 8: Hoare triple {1599#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:19,227 INFO L290 TraceCheckUtils]: 9: Hoare triple {1599#true} ~cond := #in~cond; {1631#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:31:19,228 INFO L290 TraceCheckUtils]: 10: Hoare triple {1631#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1635#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:31:19,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {1635#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1635#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:31:19,229 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1635#(not (= |assume_abort_if_not_#in~cond| 0))} {1599#true} #80#return; {1642#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} is VALID [2022-02-20 17:31:19,229 INFO L272 TraceCheckUtils]: 13: Hoare triple {1642#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:19,230 INFO L290 TraceCheckUtils]: 14: Hoare triple {1599#true} ~cond := #in~cond; {1631#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:31:19,230 INFO L290 TraceCheckUtils]: 15: Hoare triple {1631#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1635#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:31:19,231 INFO L290 TraceCheckUtils]: 16: Hoare triple {1635#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1635#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:31:19,232 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1635#(not (= |assume_abort_if_not_#in~cond| 0))} {1642#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} #82#return; {1658#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:31:19,234 INFO L290 TraceCheckUtils]: 18: Hoare triple {1658#(and (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:31:19,234 INFO L290 TraceCheckUtils]: 19: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} assume !false; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:31:19,235 INFO L272 TraceCheckUtils]: 20: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 % 4294967296 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:19,235 INFO L290 TraceCheckUtils]: 21: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:19,235 INFO L290 TraceCheckUtils]: 22: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:19,235 INFO L290 TraceCheckUtils]: 23: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:19,236 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1599#true} {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} #84#return; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:31:19,236 INFO L272 TraceCheckUtils]: 25: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~r~0#1 % 4294967296 == main_~A~0#1 % 4294967296 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:19,236 INFO L290 TraceCheckUtils]: 26: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:19,236 INFO L290 TraceCheckUtils]: 27: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:19,236 INFO L290 TraceCheckUtils]: 28: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:19,237 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1599#true} {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} #86#return; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:31:19,237 INFO L272 TraceCheckUtils]: 30: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} call __VERIFIER_assert((if main_~d~0#1 % 4294967296 == main_~B~0#1 * main_~p~0#1 % 4294967296 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:19,237 INFO L290 TraceCheckUtils]: 31: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:19,237 INFO L290 TraceCheckUtils]: 32: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:19,237 INFO L290 TraceCheckUtils]: 33: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:19,237 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1599#true} {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} #88#return; {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} is VALID [2022-02-20 17:31:19,238 INFO L290 TraceCheckUtils]: 35: Hoare triple {1662#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~d~0#1|))} assume !!(main_~r~0#1 % 4294967296 >= main_~d~0#1 % 4294967296);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {1714#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|))} is VALID [2022-02-20 17:31:19,238 INFO L290 TraceCheckUtils]: 36: Hoare triple {1714#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|))} assume !false; {1714#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|))} is VALID [2022-02-20 17:31:19,238 INFO L272 TraceCheckUtils]: 37: Hoare triple {1714#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 % 4294967296 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:19,238 INFO L290 TraceCheckUtils]: 38: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:19,238 INFO L290 TraceCheckUtils]: 39: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:19,239 INFO L290 TraceCheckUtils]: 40: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:19,239 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1599#true} {1714#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|))} #84#return; {1714#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|))} is VALID [2022-02-20 17:31:19,239 INFO L272 TraceCheckUtils]: 42: Hoare triple {1714#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|))} call __VERIFIER_assert((if main_~r~0#1 % 4294967296 == main_~A~0#1 % 4294967296 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:19,239 INFO L290 TraceCheckUtils]: 43: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:19,239 INFO L290 TraceCheckUtils]: 44: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:19,240 INFO L290 TraceCheckUtils]: 45: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:19,242 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1599#true} {1714#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|))} #86#return; {1714#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|))} is VALID [2022-02-20 17:31:19,247 INFO L272 TraceCheckUtils]: 47: Hoare triple {1714#(and (= |ULTIMATE.start_main_~d~0#1| (* 2 |ULTIMATE.start_main_~B~0#1|)) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= 2 |ULTIMATE.start_main_~p~0#1|))} call __VERIFIER_assert((if main_~d~0#1 % 4294967296 == main_~B~0#1 * main_~p~0#1 % 4294967296 then 1 else 0)); {1751#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:31:19,247 INFO L290 TraceCheckUtils]: 48: Hoare triple {1751#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1755#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:31:19,247 INFO L290 TraceCheckUtils]: 49: Hoare triple {1755#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1600#false} is VALID [2022-02-20 17:31:19,248 INFO L290 TraceCheckUtils]: 50: Hoare triple {1600#false} assume !false; {1600#false} is VALID [2022-02-20 17:31:19,248 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:31:19,248 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:31:19,857 INFO L290 TraceCheckUtils]: 50: Hoare triple {1600#false} assume !false; {1600#false} is VALID [2022-02-20 17:31:19,858 INFO L290 TraceCheckUtils]: 49: Hoare triple {1755#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1600#false} is VALID [2022-02-20 17:31:19,858 INFO L290 TraceCheckUtils]: 48: Hoare triple {1751#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1755#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:31:19,859 INFO L272 TraceCheckUtils]: 47: Hoare triple {1771#(= (mod (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 4294967296) (mod |ULTIMATE.start_main_~d~0#1| 4294967296))} call __VERIFIER_assert((if main_~d~0#1 % 4294967296 == main_~B~0#1 * main_~p~0#1 % 4294967296 then 1 else 0)); {1751#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:31:19,859 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1599#true} {1771#(= (mod (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 4294967296) (mod |ULTIMATE.start_main_~d~0#1| 4294967296))} #86#return; {1771#(= (mod (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 4294967296) (mod |ULTIMATE.start_main_~d~0#1| 4294967296))} is VALID [2022-02-20 17:31:19,859 INFO L290 TraceCheckUtils]: 45: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:19,860 INFO L290 TraceCheckUtils]: 44: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:19,860 INFO L290 TraceCheckUtils]: 43: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:19,860 INFO L272 TraceCheckUtils]: 42: Hoare triple {1771#(= (mod (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 4294967296) (mod |ULTIMATE.start_main_~d~0#1| 4294967296))} call __VERIFIER_assert((if main_~r~0#1 % 4294967296 == main_~A~0#1 % 4294967296 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:19,860 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {1599#true} {1771#(= (mod (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 4294967296) (mod |ULTIMATE.start_main_~d~0#1| 4294967296))} #84#return; {1771#(= (mod (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 4294967296) (mod |ULTIMATE.start_main_~d~0#1| 4294967296))} is VALID [2022-02-20 17:31:19,860 INFO L290 TraceCheckUtils]: 40: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:19,860 INFO L290 TraceCheckUtils]: 39: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:19,860 INFO L290 TraceCheckUtils]: 38: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:19,860 INFO L272 TraceCheckUtils]: 37: Hoare triple {1771#(= (mod (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 4294967296) (mod |ULTIMATE.start_main_~d~0#1| 4294967296))} call __VERIFIER_assert((if 0 == main_~q~0#1 % 4294967296 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:19,861 INFO L290 TraceCheckUtils]: 36: Hoare triple {1771#(= (mod (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 4294967296) (mod |ULTIMATE.start_main_~d~0#1| 4294967296))} assume !false; {1771#(= (mod (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 4294967296) (mod |ULTIMATE.start_main_~d~0#1| 4294967296))} is VALID [2022-02-20 17:31:21,867 WARN L290 TraceCheckUtils]: 35: Hoare triple {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} assume !!(main_~r~0#1 % 4294967296 >= main_~d~0#1 % 4294967296);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {1771#(= (mod (* |ULTIMATE.start_main_~B~0#1| |ULTIMATE.start_main_~p~0#1|) 4294967296) (mod |ULTIMATE.start_main_~d~0#1| 4294967296))} is UNKNOWN [2022-02-20 17:31:21,868 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1599#true} {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} #88#return; {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} is VALID [2022-02-20 17:31:21,868 INFO L290 TraceCheckUtils]: 33: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:21,868 INFO L290 TraceCheckUtils]: 32: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:21,868 INFO L290 TraceCheckUtils]: 31: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:21,868 INFO L272 TraceCheckUtils]: 30: Hoare triple {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} call __VERIFIER_assert((if main_~d~0#1 % 4294967296 == main_~B~0#1 * main_~p~0#1 % 4294967296 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:21,869 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1599#true} {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} #86#return; {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} is VALID [2022-02-20 17:31:21,869 INFO L290 TraceCheckUtils]: 28: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:21,869 INFO L290 TraceCheckUtils]: 27: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:21,869 INFO L290 TraceCheckUtils]: 26: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:21,869 INFO L272 TraceCheckUtils]: 25: Hoare triple {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} call __VERIFIER_assert((if main_~r~0#1 % 4294967296 == main_~A~0#1 % 4294967296 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:21,870 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {1599#true} {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} #84#return; {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} is VALID [2022-02-20 17:31:21,870 INFO L290 TraceCheckUtils]: 23: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:21,870 INFO L290 TraceCheckUtils]: 22: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:21,870 INFO L290 TraceCheckUtils]: 21: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:21,870 INFO L272 TraceCheckUtils]: 20: Hoare triple {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} call __VERIFIER_assert((if 0 == main_~q~0#1 % 4294967296 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:21,871 INFO L290 TraceCheckUtils]: 19: Hoare triple {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} assume !false; {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} is VALID [2022-02-20 17:31:21,871 INFO L290 TraceCheckUtils]: 18: Hoare triple {1599#true} main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {1808#(= (mod (* |ULTIMATE.start_main_~B~0#1| (* 2 |ULTIMATE.start_main_~p~0#1|)) 4294967296) (mod (* 2 |ULTIMATE.start_main_~d~0#1|) 4294967296))} is VALID [2022-02-20 17:31:21,871 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1599#true} {1599#true} #82#return; {1599#true} is VALID [2022-02-20 17:31:21,871 INFO L290 TraceCheckUtils]: 16: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:21,871 INFO L290 TraceCheckUtils]: 15: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:21,871 INFO L290 TraceCheckUtils]: 14: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:21,871 INFO L272 TraceCheckUtils]: 13: Hoare triple {1599#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:21,871 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1599#true} {1599#true} #80#return; {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L290 TraceCheckUtils]: 11: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L290 TraceCheckUtils]: 10: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L290 TraceCheckUtils]: 9: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L272 TraceCheckUtils]: 8: Hoare triple {1599#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L290 TraceCheckUtils]: 7: Hoare triple {1599#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1599#true} {1599#true} #78#return; {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L290 TraceCheckUtils]: 5: Hoare triple {1599#true} assume true; {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L290 TraceCheckUtils]: 4: Hoare triple {1599#true} assume !(0 == ~cond); {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L290 TraceCheckUtils]: 3: Hoare triple {1599#true} ~cond := #in~cond; {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L272 TraceCheckUtils]: 2: Hoare triple {1599#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L290 TraceCheckUtils]: 1: Hoare triple {1599#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; {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L290 TraceCheckUtils]: 0: Hoare triple {1599#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(9, 2);call #Ultimate.allocInit(12, 3); {1599#true} is VALID [2022-02-20 17:31:21,872 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-02-20 17:31:21,873 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:31:21,873 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1449933145] [2022-02-20 17:31:21,873 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:31:21,873 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [126552300] [2022-02-20 17:31:21,873 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [126552300] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:31:21,873 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:31:21,873 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [10] total 12 [2022-02-20 17:31:21,873 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [697642796] [2022-02-20 17:31:21,873 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:31:21,874 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 51 [2022-02-20 17:31:21,874 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:31:21,874 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:31:23,911 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 32 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 17:31:23,912 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 17:31:23,912 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:31:23,912 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 17:31:23,913 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:31:23,913 INFO L87 Difference]: Start difference. First operand 60 states and 77 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:31:27,477 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:31:29,647 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:31:31,752 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.10s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:31:33,860 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.11s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:31:36,692 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:31:38,798 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.11s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:31:39,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:39,596 INFO L93 Difference]: Finished difference Result 72 states and 92 transitions. [2022-02-20 17:31:39,596 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:31:39,596 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 51 [2022-02-20 17:31:39,596 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:31:39,596 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:31:39,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2022-02-20 17:31:39,598 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:31:39,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2022-02-20 17:31:39,599 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 54 transitions. [2022-02-20 17:31:41,653 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 53 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-02-20 17:31:41,655 INFO L225 Difference]: With dead ends: 72 [2022-02-20 17:31:41,655 INFO L226 Difference]: Without dead ends: 70 [2022-02-20 17:31:41,655 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 89 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=35, Invalid=121, Unknown=0, NotChecked=0, Total=156 [2022-02-20 17:31:41,656 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 8 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 2 mSolverCounterUnsat, 6 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 6 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 12.9s IncrementalHoareTripleChecker+Time [2022-02-20 17:31:41,656 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 157 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 44 Invalid, 6 Unknown, 0 Unchecked, 12.9s Time] [2022-02-20 17:31:41,657 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-02-20 17:31:41,676 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 67. [2022-02-20 17:31:41,677 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:31:41,677 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 67 states, 39 states have (on average 1.205128205128205) internal successors, (47), 42 states have internal predecessors, (47), 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:31:41,677 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 67 states, 39 states have (on average 1.205128205128205) internal successors, (47), 42 states have internal predecessors, (47), 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:31:41,678 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 67 states, 39 states have (on average 1.205128205128205) internal successors, (47), 42 states have internal predecessors, (47), 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:31:41,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:41,680 INFO L93 Difference]: Finished difference Result 70 states and 90 transitions. [2022-02-20 17:31:41,680 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 90 transitions. [2022-02-20 17:31:41,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:41,680 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:41,681 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 39 states have (on average 1.205128205128205) internal successors, (47), 42 states have internal predecessors, (47), 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:31:41,681 INFO L87 Difference]: Start difference. First operand has 67 states, 39 states have (on average 1.205128205128205) internal successors, (47), 42 states have internal predecessors, (47), 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:31:41,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:41,683 INFO L93 Difference]: Finished difference Result 70 states and 90 transitions. [2022-02-20 17:31:41,683 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 90 transitions. [2022-02-20 17:31:41,683 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:41,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:41,684 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:31:41,684 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:31:41,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 39 states have (on average 1.205128205128205) internal successors, (47), 42 states have internal predecessors, (47), 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:31:41,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 85 transitions. [2022-02-20 17:31:41,686 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 85 transitions. Word has length 51 [2022-02-20 17:31:41,686 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:31:41,686 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 85 transitions. [2022-02-20 17:31:41,686 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:31:41,687 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 85 transitions. [2022-02-20 17:31:41,687 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 17:31:41,687 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:31:41,687 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:31:41,693 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-02-20 17:31:41,891 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:31:41,893 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:31:41,893 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:31:41,894 INFO L85 PathProgramCache]: Analyzing trace with hash 957489548, now seen corresponding path program 1 times [2022-02-20 17:31:41,894 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:31:41,894 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1843741642] [2022-02-20 17:31:41,894 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:41,894 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:31:41,908 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:31:41,909 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1724098775] [2022-02-20 17:31:41,909 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:41,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:31:41,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:31:41,910 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:31:41,911 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:31:41,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:41,955 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 17:31:41,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:31:41,966 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:31:44,018 INFO L290 TraceCheckUtils]: 0: Hoare triple {2254#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(9, 2);call #Ultimate.allocInit(12, 3); {2254#true} is VALID [2022-02-20 17:31:44,018 INFO L290 TraceCheckUtils]: 1: Hoare triple {2254#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; {2254#true} is VALID [2022-02-20 17:31:44,018 INFO L272 TraceCheckUtils]: 2: Hoare triple {2254#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:44,018 INFO L290 TraceCheckUtils]: 3: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:44,018 INFO L290 TraceCheckUtils]: 4: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:44,019 INFO L290 TraceCheckUtils]: 5: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:44,019 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2254#true} {2254#true} #78#return; {2254#true} is VALID [2022-02-20 17:31:44,019 INFO L290 TraceCheckUtils]: 7: Hoare triple {2254#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2254#true} is VALID [2022-02-20 17:31:44,019 INFO L272 TraceCheckUtils]: 8: Hoare triple {2254#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:44,019 INFO L290 TraceCheckUtils]: 9: Hoare triple {2254#true} ~cond := #in~cond; {2286#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:31:44,020 INFO L290 TraceCheckUtils]: 10: Hoare triple {2286#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2290#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:31:44,020 INFO L290 TraceCheckUtils]: 11: Hoare triple {2290#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2290#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:31:44,021 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2290#(not (= |assume_abort_if_not_#in~cond| 0))} {2254#true} #80#return; {2297#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} is VALID [2022-02-20 17:31:44,021 INFO L272 TraceCheckUtils]: 13: Hoare triple {2297#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:44,021 INFO L290 TraceCheckUtils]: 14: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:44,021 INFO L290 TraceCheckUtils]: 15: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:44,021 INFO L290 TraceCheckUtils]: 16: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:44,022 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2254#true} {2297#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} #82#return; {2297#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} is VALID [2022-02-20 17:31:44,022 INFO L290 TraceCheckUtils]: 18: Hoare triple {2297#(<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) 10)} main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:44,023 INFO L290 TraceCheckUtils]: 19: Hoare triple {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !false; {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:44,023 INFO L272 TraceCheckUtils]: 20: Hoare triple {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if 0 == main_~q~0#1 % 4294967296 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:44,023 INFO L290 TraceCheckUtils]: 21: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:44,023 INFO L290 TraceCheckUtils]: 22: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:44,023 INFO L290 TraceCheckUtils]: 23: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:44,024 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2254#true} {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} #84#return; {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:44,024 INFO L272 TraceCheckUtils]: 25: Hoare triple {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~r~0#1 % 4294967296 == main_~A~0#1 % 4294967296 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:44,024 INFO L290 TraceCheckUtils]: 26: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:44,024 INFO L290 TraceCheckUtils]: 27: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:44,024 INFO L290 TraceCheckUtils]: 28: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:44,025 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2254#true} {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} #86#return; {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:44,025 INFO L272 TraceCheckUtils]: 30: Hoare triple {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} call __VERIFIER_assert((if main_~d~0#1 % 4294967296 == main_~B~0#1 * main_~p~0#1 % 4294967296 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:44,025 INFO L290 TraceCheckUtils]: 31: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:44,025 INFO L290 TraceCheckUtils]: 32: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:44,025 INFO L290 TraceCheckUtils]: 33: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:44,026 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2254#true} {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} #88#return; {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} is VALID [2022-02-20 17:31:44,027 INFO L290 TraceCheckUtils]: 35: Hoare triple {2316#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|))} assume !(main_~r~0#1 % 4294967296 >= main_~d~0#1 % 4294967296); {2368#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (not (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))))} is VALID [2022-02-20 17:31:44,027 INFO L290 TraceCheckUtils]: 36: Hoare triple {2368#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (not (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))))} assume !false; {2368#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (not (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))))} is VALID [2022-02-20 17:31:44,027 INFO L272 TraceCheckUtils]: 37: Hoare triple {2368#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (not (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == (main_~q~0#1 * main_~B~0#1 + main_~r~0#1) % 4294967296 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:44,027 INFO L290 TraceCheckUtils]: 38: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:44,027 INFO L290 TraceCheckUtils]: 39: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:44,027 INFO L290 TraceCheckUtils]: 40: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:44,029 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2254#true} {2368#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (not (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))))} #90#return; {2368#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (not (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))))} is VALID [2022-02-20 17:31:44,031 INFO L272 TraceCheckUtils]: 42: Hoare triple {2368#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (not (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))))} call __VERIFIER_assert((if main_~d~0#1 % 4294967296 == main_~B~0#1 * main_~p~0#1 % 4294967296 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:44,031 INFO L290 TraceCheckUtils]: 43: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:44,031 INFO L290 TraceCheckUtils]: 44: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:44,031 INFO L290 TraceCheckUtils]: 45: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:44,035 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2254#true} {2368#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (not (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))))} #92#return; {2368#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (not (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))))} is VALID [2022-02-20 17:31:44,036 INFO L290 TraceCheckUtils]: 47: Hoare triple {2368#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (not (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))))} assume !(1 != main_~p~0#1 % 4294967296); {2368#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (not (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))))} is VALID [2022-02-20 17:31:44,037 INFO L272 TraceCheckUtils]: 48: Hoare triple {2368#(and (= |ULTIMATE.start_main_~q~0#1| 0) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) 10) (= |ULTIMATE.start_main_~A~0#1| |ULTIMATE.start_main_~r~0#1|) (not (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296))))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == (main_~d~0#1 * main_~q~0#1 + main_~r~0#1) % 4294967296 then 1 else 0)); {2408#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:31:44,037 INFO L290 TraceCheckUtils]: 49: Hoare triple {2408#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2412#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:31:44,037 INFO L290 TraceCheckUtils]: 50: Hoare triple {2412#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2255#false} is VALID [2022-02-20 17:31:44,038 INFO L290 TraceCheckUtils]: 51: Hoare triple {2255#false} assume !false; {2255#false} is VALID [2022-02-20 17:31:44,038 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 13 proven. 3 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-02-20 17:31:44,038 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:31:45,639 INFO L290 TraceCheckUtils]: 51: Hoare triple {2255#false} assume !false; {2255#false} is VALID [2022-02-20 17:31:45,639 INFO L290 TraceCheckUtils]: 50: Hoare triple {2412#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2255#false} is VALID [2022-02-20 17:31:45,640 INFO L290 TraceCheckUtils]: 49: Hoare triple {2408#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2412#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:31:45,641 INFO L272 TraceCheckUtils]: 48: Hoare triple {2428#(= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == (main_~d~0#1 * main_~q~0#1 + main_~r~0#1) % 4294967296 then 1 else 0)); {2408#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:31:45,641 INFO L290 TraceCheckUtils]: 47: Hoare triple {2428#(= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296))} assume !(1 != main_~p~0#1 % 4294967296); {2428#(= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296))} is VALID [2022-02-20 17:31:45,642 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2254#true} {2428#(= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296))} #92#return; {2428#(= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296))} is VALID [2022-02-20 17:31:45,642 INFO L290 TraceCheckUtils]: 45: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:45,642 INFO L290 TraceCheckUtils]: 44: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:45,642 INFO L290 TraceCheckUtils]: 43: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:45,642 INFO L272 TraceCheckUtils]: 42: Hoare triple {2428#(= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296))} call __VERIFIER_assert((if main_~d~0#1 % 4294967296 == main_~B~0#1 * main_~p~0#1 % 4294967296 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:45,643 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {2254#true} {2428#(= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296))} #90#return; {2428#(= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296))} is VALID [2022-02-20 17:31:45,643 INFO L290 TraceCheckUtils]: 40: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:45,643 INFO L290 TraceCheckUtils]: 39: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:45,643 INFO L290 TraceCheckUtils]: 38: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:45,644 INFO L272 TraceCheckUtils]: 37: Hoare triple {2428#(= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == (main_~q~0#1 * main_~B~0#1 + main_~r~0#1) % 4294967296 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:45,644 INFO L290 TraceCheckUtils]: 36: Hoare triple {2428#(= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296))} assume !false; {2428#(= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296))} is VALID [2022-02-20 17:31:45,644 INFO L290 TraceCheckUtils]: 35: Hoare triple {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} assume !(main_~r~0#1 % 4294967296 >= main_~d~0#1 % 4294967296); {2428#(= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296))} is VALID [2022-02-20 17:31:45,645 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2254#true} {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} #88#return; {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} is VALID [2022-02-20 17:31:45,645 INFO L290 TraceCheckUtils]: 33: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:45,645 INFO L290 TraceCheckUtils]: 32: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:45,646 INFO L290 TraceCheckUtils]: 31: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:45,646 INFO L272 TraceCheckUtils]: 30: Hoare triple {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 % 4294967296 == main_~B~0#1 * main_~p~0#1 % 4294967296 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:45,646 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2254#true} {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} #86#return; {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} is VALID [2022-02-20 17:31:45,646 INFO L290 TraceCheckUtils]: 28: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:45,668 INFO L290 TraceCheckUtils]: 27: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:45,668 INFO L290 TraceCheckUtils]: 26: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:45,668 INFO L272 TraceCheckUtils]: 25: Hoare triple {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 % 4294967296 == main_~A~0#1 % 4294967296 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:45,669 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2254#true} {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} #84#return; {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} is VALID [2022-02-20 17:31:45,670 INFO L290 TraceCheckUtils]: 23: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:45,670 INFO L290 TraceCheckUtils]: 22: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:45,670 INFO L290 TraceCheckUtils]: 21: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:45,670 INFO L272 TraceCheckUtils]: 20: Hoare triple {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 % 4294967296 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:45,670 INFO L290 TraceCheckUtils]: 19: Hoare triple {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} assume !false; {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} is VALID [2022-02-20 17:31:45,671 INFO L290 TraceCheckUtils]: 18: Hoare triple {2254#true} main_~r~0#1 := main_~A~0#1;main_~d~0#1 := main_~B~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0; {2468#(or (= (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (mod (+ (* |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~r~0#1|) 4294967296)) (<= (mod |ULTIMATE.start_main_~d~0#1| 4294967296) (mod |ULTIMATE.start_main_~r~0#1| 4294967296)))} is VALID [2022-02-20 17:31:45,671 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2254#true} {2254#true} #82#return; {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L290 TraceCheckUtils]: 16: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L290 TraceCheckUtils]: 15: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L290 TraceCheckUtils]: 14: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L272 TraceCheckUtils]: 13: Hoare triple {2254#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 1 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2254#true} {2254#true} #80#return; {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L290 TraceCheckUtils]: 11: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L290 TraceCheckUtils]: 10: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L290 TraceCheckUtils]: 9: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L272 TraceCheckUtils]: 8: Hoare triple {2254#true} call assume_abort_if_not((if main_~B~0#1 % 4294967296 >= 0 && main_~B~0#1 % 4294967296 <= 10 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {2254#true} main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2254#true} {2254#true} #78#return; {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L290 TraceCheckUtils]: 5: Hoare triple {2254#true} assume true; {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L290 TraceCheckUtils]: 4: Hoare triple {2254#true} assume !(0 == ~cond); {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L290 TraceCheckUtils]: 3: Hoare triple {2254#true} ~cond := #in~cond; {2254#true} is VALID [2022-02-20 17:31:45,671 INFO L272 TraceCheckUtils]: 2: Hoare triple {2254#true} call assume_abort_if_not((if main_~A~0#1 % 4294967296 >= 0 && main_~A~0#1 % 4294967296 <= 10 then 1 else 0)); {2254#true} is VALID [2022-02-20 17:31:45,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {2254#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; {2254#true} is VALID [2022-02-20 17:31:45,672 INFO L290 TraceCheckUtils]: 0: Hoare triple {2254#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(9, 2);call #Ultimate.allocInit(12, 3); {2254#true} is VALID [2022-02-20 17:31:45,672 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:31:45,672 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:31:45,672 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1843741642] [2022-02-20 17:31:45,672 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:31:45,672 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1724098775] [2022-02-20 17:31:45,672 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1724098775] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:31:45,672 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:31:45,672 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-02-20 17:31:45,672 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1731950460] [2022-02-20 17:31:45,672 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:31:45,673 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 52 [2022-02-20 17:31:45,673 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:31:45,673 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:31:45,702 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:31:45,702 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 17:31:45,703 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:31:45,703 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 17:31:45,703 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:31:45,703 INFO L87 Difference]: Start difference. First operand 67 states and 85 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:31:49,873 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:31:52,006 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.13s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:31:54,141 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.13s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-02-20 17:31:55,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:55,373 INFO L93 Difference]: Finished difference Result 73 states and 90 transitions. [2022-02-20 17:31:55,373 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:31:55,373 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 52 [2022-02-20 17:31:55,374 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:31:55,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:31:55,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:31:55,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:31:55,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:31:55,376 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-02-20 17:31:55,435 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:31:55,436 INFO L225 Difference]: With dead ends: 73 [2022-02-20 17:31:55,436 INFO L226 Difference]: Without dead ends: 66 [2022-02-20 17:31:55,437 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 92 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:31:55,437 INFO L933 BasicCegarLoop]: 42 mSDtfsCounter, 9 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 3 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.4s IncrementalHoareTripleChecker+Time [2022-02-20 17:31:55,437 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 180 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 37 Invalid, 3 Unknown, 0 Unchecked, 7.4s Time] [2022-02-20 17:31:55,438 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-02-20 17:31:55,465 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 66. [2022-02-20 17:31:55,465 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:31:55,465 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 66 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 41 states have internal predecessors, (46), 19 states have call successors, (19), 7 states have call predecessors, (19), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:31:55,465 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 66 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 41 states have internal predecessors, (46), 19 states have call successors, (19), 7 states have call predecessors, (19), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:31:55,466 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 66 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 41 states have internal predecessors, (46), 19 states have call successors, (19), 7 states have call predecessors, (19), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:31:55,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:55,468 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-02-20 17:31:55,468 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-02-20 17:31:55,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:55,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:55,468 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 41 states have internal predecessors, (46), 19 states have call successors, (19), 7 states have call predecessors, (19), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) Second operand 66 states. [2022-02-20 17:31:55,469 INFO L87 Difference]: Start difference. First operand has 66 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 41 states have internal predecessors, (46), 19 states have call successors, (19), 7 states have call predecessors, (19), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) Second operand 66 states. [2022-02-20 17:31:55,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:31:55,471 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-02-20 17:31:55,471 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-02-20 17:31:55,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:31:55,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:31:55,471 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:31:55,471 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:31:55,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 39 states have (on average 1.1794871794871795) internal successors, (46), 41 states have internal predecessors, (46), 19 states have call successors, (19), 7 states have call predecessors, (19), 7 states have return successors, (18), 17 states have call predecessors, (18), 18 states have call successors, (18) [2022-02-20 17:31:55,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 83 transitions. [2022-02-20 17:31:55,473 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 83 transitions. Word has length 52 [2022-02-20 17:31:55,474 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:31:55,474 INFO L470 AbstractCegarLoop]: Abstraction has 66 states and 83 transitions. [2022-02-20 17:31:55,474 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:31:55,474 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-02-20 17:31:55,474 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-02-20 17:31:55,475 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:31:55,475 INFO L514 BasicCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:31:55,494 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 17:31:55,692 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:31:55,692 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:31:55,695 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:31:55,695 INFO L85 PathProgramCache]: Analyzing trace with hash 1397226472, now seen corresponding path program 1 times [2022-02-20 17:31:55,695 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:31:55,695 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1142001765] [2022-02-20 17:31:55,696 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:55,696 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:31:55,718 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:31:55,727 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [474659721] [2022-02-20 17:31:55,727 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:31:55,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:31:55,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:31:55,728 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:31:55,739 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process