./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/hard-ll_unwindbound5.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/nla-digbench-scaling/hard-ll_unwindbound5.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 1eba5bc7e50ef659abfe155713ae512eb1ae4032ecb78db63a02f9acbcdf9dbe --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:29:47,907 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:29:47,908 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:29:47,930 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:29:47,930 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:29:47,931 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:29:47,932 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:29:47,933 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:29:47,934 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:29:47,935 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:29:47,936 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:29:47,936 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:29:47,937 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:29:47,937 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:29:47,938 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:29:47,939 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:29:47,939 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:29:47,940 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:29:47,941 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:29:47,942 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:29:47,943 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:29:47,944 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:29:47,944 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:29:47,945 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:29:47,947 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:29:47,947 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:29:47,947 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:29:47,948 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:29:47,948 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:29:47,949 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:29:47,949 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:29:47,949 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:29:47,950 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:29:47,950 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:29:47,951 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:29:47,951 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:29:47,952 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:29:47,952 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:29:47,952 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:29:47,953 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:29:47,953 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:29:47,954 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2022-02-20 17:29:47,970 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:29:47,970 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:29:47,971 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:29:47,971 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:29:47,971 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:29:47,971 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:29:47,972 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:29:47,972 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:29:47,972 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:29:47,972 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:29:47,972 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:29:47,973 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:29:47,973 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:29:47,973 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:29:47,973 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:29:47,973 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:29:47,973 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:29:47,973 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:29:47,974 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:29:47,974 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:29:47,974 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:29:47,974 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:29:47,974 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:29:47,974 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:29:47,974 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:29:47,975 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:29:47,975 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:29:47,975 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:29:47,975 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:29:47,975 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:29:47,975 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:29:47,975 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:29:47,976 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:29:47,976 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 -> 1eba5bc7e50ef659abfe155713ae512eb1ae4032ecb78db63a02f9acbcdf9dbe [2022-02-20 17:29:48,145 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:29:48,166 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:29:48,168 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:29:48,168 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:29:48,169 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:29:48,170 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/hard-ll_unwindbound5.c [2022-02-20 17:29:48,220 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/75558af2c/7cc0e38df3de41e8a55e169569f8180b/FLAGd305b6e04 [2022-02-20 17:29:48,497 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:29:48,497 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard-ll_unwindbound5.c [2022-02-20 17:29:48,501 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/75558af2c/7cc0e38df3de41e8a55e169569f8180b/FLAGd305b6e04 [2022-02-20 17:29:48,936 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/75558af2c/7cc0e38df3de41e8a55e169569f8180b [2022-02-20 17:29:48,937 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:29:48,938 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:29:48,939 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:29:48,939 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:29:48,957 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:29:48,958 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:29:48" (1/1) ... [2022-02-20 17:29:48,959 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7d0de283 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:48, skipping insertion in model container [2022-02-20 17:29:48,959 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:29:48" (1/1) ... [2022-02-20 17:29:48,963 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:29:48,972 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:29:49,073 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard-ll_unwindbound5.c[538,551] [2022-02-20 17:29:49,087 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:29:49,093 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:29:49,103 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/hard-ll_unwindbound5.c[538,551] [2022-02-20 17:29:49,112 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:29:49,121 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:29:49,121 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49 WrapperNode [2022-02-20 17:29:49,121 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:29:49,122 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:29:49,122 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:29:49,122 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:29:49,126 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49" (1/1) ... [2022-02-20 17:29:49,130 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49" (1/1) ... [2022-02-20 17:29:49,146 INFO L137 Inliner]: procedures = 14, calls = 15, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 65 [2022-02-20 17:29:49,146 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:29:49,147 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:29:49,147 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:29:49,147 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:29:49,153 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49" (1/1) ... [2022-02-20 17:29:49,153 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49" (1/1) ... [2022-02-20 17:29:49,154 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49" (1/1) ... [2022-02-20 17:29:49,154 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49" (1/1) ... [2022-02-20 17:29:49,157 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49" (1/1) ... [2022-02-20 17:29:49,160 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49" (1/1) ... [2022-02-20 17:29:49,161 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49" (1/1) ... [2022-02-20 17:29:49,162 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:29:49,162 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:29:49,163 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:29:49,163 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:29:49,166 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49" (1/1) ... [2022-02-20 17:29:49,171 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:29:49,178 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:49,189 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-02-20 17:29:49,196 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-02-20 17:29:49,225 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:29:49,225 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:29:49,225 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:29:49,225 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:29:49,225 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:29:49,225 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:29:49,266 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:29:49,267 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:29:49,365 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:29:49,370 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:29:49,370 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-02-20 17:29:49,371 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:29:49 BoogieIcfgContainer [2022-02-20 17:29:49,372 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:29:49,373 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:29:49,373 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:29:49,389 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:29:49,390 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:29:48" (1/3) ... [2022-02-20 17:29:49,390 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5180771b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:29:49, skipping insertion in model container [2022-02-20 17:29:49,390 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:29:49" (2/3) ... [2022-02-20 17:29:49,391 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5180771b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:29:49, skipping insertion in model container [2022-02-20 17:29:49,391 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:29:49" (3/3) ... [2022-02-20 17:29:49,392 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_unwindbound5.c [2022-02-20 17:29:49,395 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:29:49,395 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:29:49,425 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:29:49,429 INFO L339 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mLoopAccelerationTechnique=FAST_UPR [2022-02-20 17:29:49,430 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:29:49,445 INFO L276 IsEmpty]: Start isEmpty. Operand has 28 states, 18 states have (on average 1.5555555555555556) internal successors, (28), 19 states have internal predecessors, (28), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-02-20 17:29:49,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 17:29:49,448 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:49,449 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:29:49,449 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:49,453 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:49,453 INFO L85 PathProgramCache]: Analyzing trace with hash -712527539, now seen corresponding path program 1 times [2022-02-20 17:29:49,459 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:49,460 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [769276662] [2022-02-20 17:29:49,460 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:49,461 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:49,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:49,556 INFO L290 TraceCheckUtils]: 0: Hoare triple {31#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {31#true} is VALID [2022-02-20 17:29:49,556 INFO L290 TraceCheckUtils]: 1: Hoare triple {31#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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {31#true} is VALID [2022-02-20 17:29:49,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {31#true} assume 0 == assume_abort_if_not_~cond#1;assume false; {32#false} is VALID [2022-02-20 17:29:49,559 INFO L290 TraceCheckUtils]: 3: Hoare triple {32#false} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {32#false} is VALID [2022-02-20 17:29:49,559 INFO L290 TraceCheckUtils]: 4: Hoare triple {32#false} assume !true; {32#false} is VALID [2022-02-20 17:29:49,559 INFO L290 TraceCheckUtils]: 5: Hoare triple {32#false} assume !true; {32#false} is VALID [2022-02-20 17:29:49,560 INFO L272 TraceCheckUtils]: 6: Hoare triple {32#false} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {32#false} is VALID [2022-02-20 17:29:49,560 INFO L290 TraceCheckUtils]: 7: Hoare triple {32#false} ~cond := #in~cond; {32#false} is VALID [2022-02-20 17:29:49,560 INFO L290 TraceCheckUtils]: 8: Hoare triple {32#false} assume 0 == ~cond; {32#false} is VALID [2022-02-20 17:29:49,560 INFO L290 TraceCheckUtils]: 9: Hoare triple {32#false} assume !false; {32#false} is VALID [2022-02-20 17:29:49,561 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 17:29:49,561 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:49,562 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [769276662] [2022-02-20 17:29:49,562 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [769276662] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:49,562 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:49,563 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:29:49,564 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [170463369] [2022-02-20 17:29:49,564 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:49,568 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 17:29:49,569 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:49,571 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:49,583 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:49,583 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:29:49,583 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:49,597 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:29:49,597 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:29:49,599 INFO L87 Difference]: Start difference. First operand has 28 states, 18 states have (on average 1.5555555555555556) internal successors, (28), 19 states have internal predecessors, (28), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:49,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:49,653 INFO L93 Difference]: Finished difference Result 53 states and 87 transitions. [2022-02-20 17:29:49,653 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:29:49,653 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 17:29:49,654 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:49,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:49,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 87 transitions. [2022-02-20 17:29:49,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:49,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 87 transitions. [2022-02-20 17:29:49,673 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 87 transitions. [2022-02-20 17:29:49,793 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:49,799 INFO L225 Difference]: With dead ends: 53 [2022-02-20 17:29:49,799 INFO L226 Difference]: Without dead ends: 24 [2022-02-20 17:29:49,802 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:29:49,804 INFO L933 BasicCegarLoop]: 38 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, 38 SdHoareTripleChecker+Invalid, 0 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:49,805 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:49,816 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2022-02-20 17:29:49,825 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2022-02-20 17:29:49,826 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:49,826 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand has 24 states, 15 states have (on average 1.4) internal successors, (21), 16 states have internal predecessors, (21), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:49,827 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand has 24 states, 15 states have (on average 1.4) internal successors, (21), 16 states have internal predecessors, (21), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:49,827 INFO L87 Difference]: Start difference. First operand 24 states. Second operand has 24 states, 15 states have (on average 1.4) internal successors, (21), 16 states have internal predecessors, (21), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:49,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:49,831 INFO L93 Difference]: Finished difference Result 24 states and 34 transitions. [2022-02-20 17:29:49,831 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 34 transitions. [2022-02-20 17:29:49,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:49,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:49,832 INFO L74 IsIncluded]: Start isIncluded. First operand has 24 states, 15 states have (on average 1.4) internal successors, (21), 16 states have internal predecessors, (21), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 24 states. [2022-02-20 17:29:49,833 INFO L87 Difference]: Start difference. First operand has 24 states, 15 states have (on average 1.4) internal successors, (21), 16 states have internal predecessors, (21), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 24 states. [2022-02-20 17:29:49,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:49,836 INFO L93 Difference]: Finished difference Result 24 states and 34 transitions. [2022-02-20 17:29:49,836 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 34 transitions. [2022-02-20 17:29:49,837 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:49,837 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:49,837 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:49,837 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:49,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 15 states have (on average 1.4) internal successors, (21), 16 states have internal predecessors, (21), 7 states have call successors, (7), 1 states have call predecessors, (7), 1 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:49,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 34 transitions. [2022-02-20 17:29:49,841 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 34 transitions. Word has length 10 [2022-02-20 17:29:49,841 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:49,842 INFO L470 AbstractCegarLoop]: Abstraction has 24 states and 34 transitions. [2022-02-20 17:29:49,842 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 4.5) internal successors, (9), 2 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:49,842 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 34 transitions. [2022-02-20 17:29:49,842 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 17:29:49,842 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:49,843 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:29:49,843 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:29:49,843 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:49,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:49,844 INFO L85 PathProgramCache]: Analyzing trace with hash -1983932575, now seen corresponding path program 1 times [2022-02-20 17:29:49,844 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:49,844 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [191373336] [2022-02-20 17:29:49,844 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:49,844 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:49,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:49,908 INFO L290 TraceCheckUtils]: 0: Hoare triple {189#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {189#true} is VALID [2022-02-20 17:29:49,908 INFO L290 TraceCheckUtils]: 1: Hoare triple {189#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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {189#true} is VALID [2022-02-20 17:29:49,909 INFO L290 TraceCheckUtils]: 2: Hoare triple {189#true} assume !(0 == assume_abort_if_not_~cond#1); {189#true} is VALID [2022-02-20 17:29:49,909 INFO L290 TraceCheckUtils]: 3: Hoare triple {189#true} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {191#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:29:49,910 INFO L290 TraceCheckUtils]: 4: Hoare triple {191#(= |ULTIMATE.start_main_~q~0#1| 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {191#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:29:49,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {191#(= |ULTIMATE.start_main_~q~0#1| 0)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {191#(= |ULTIMATE.start_main_~q~0#1| 0)} is VALID [2022-02-20 17:29:49,911 INFO L272 TraceCheckUtils]: 6: Hoare triple {191#(= |ULTIMATE.start_main_~q~0#1| 0)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {192#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:29:49,912 INFO L290 TraceCheckUtils]: 7: Hoare triple {192#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {193#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:29:49,912 INFO L290 TraceCheckUtils]: 8: Hoare triple {193#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {190#false} is VALID [2022-02-20 17:29:49,912 INFO L290 TraceCheckUtils]: 9: Hoare triple {190#false} assume !false; {190#false} is VALID [2022-02-20 17:29:49,912 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 17:29:49,913 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:49,913 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [191373336] [2022-02-20 17:29:49,913 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [191373336] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:49,913 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:49,913 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:49,913 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [382666163] [2022-02-20 17:29:49,914 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:49,915 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 17:29:49,915 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:49,915 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:49,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:49,924 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:49,925 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:49,925 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:49,925 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:49,926 INFO L87 Difference]: Start difference. First operand 24 states and 34 transitions. Second operand has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:50,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:50,084 INFO L93 Difference]: Finished difference Result 38 states and 53 transitions. [2022-02-20 17:29:50,085 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:29:50,085 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 17:29:50,085 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:50,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:50,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2022-02-20 17:29:50,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:50,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2022-02-20 17:29:50,090 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 53 transitions. [2022-02-20 17:29:50,135 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:50,137 INFO L225 Difference]: With dead ends: 38 [2022-02-20 17:29:50,137 INFO L226 Difference]: Without dead ends: 36 [2022-02-20 17:29:50,138 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:29:50,139 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 15 mSDsluCounter, 79 mSDsCounter, 0 mSdLazyCounter, 21 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 21 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:50,139 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 112 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 21 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:50,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-02-20 17:29:50,143 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 28. [2022-02-20 17:29:50,143 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:50,144 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 28 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:50,144 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 28 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:50,144 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 28 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:50,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:50,159 INFO L93 Difference]: Finished difference Result 36 states and 51 transitions. [2022-02-20 17:29:50,159 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 51 transitions. [2022-02-20 17:29:50,160 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:50,160 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:50,161 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-02-20 17:29:50,161 INFO L87 Difference]: Start difference. First operand has 28 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-02-20 17:29:50,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:50,165 INFO L93 Difference]: Finished difference Result 36 states and 51 transitions. [2022-02-20 17:29:50,165 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 51 transitions. [2022-02-20 17:29:50,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:50,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:50,167 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:50,167 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:50,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:50,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 37 transitions. [2022-02-20 17:29:50,169 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 37 transitions. Word has length 10 [2022-02-20 17:29:50,169 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:50,169 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 37 transitions. [2022-02-20 17:29:50,169 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 1.8) internal successors, (9), 4 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:50,169 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 37 transitions. [2022-02-20 17:29:50,170 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-20 17:29:50,170 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:50,170 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:29:50,170 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 17:29:50,170 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:50,171 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:50,171 INFO L85 PathProgramCache]: Analyzing trace with hash 1787143384, now seen corresponding path program 1 times [2022-02-20 17:29:50,171 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:50,172 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [772215305] [2022-02-20 17:29:50,172 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:50,172 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:50,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:50,212 INFO L290 TraceCheckUtils]: 0: Hoare triple {360#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {362#(= ~counter~0 0)} is VALID [2022-02-20 17:29:50,213 INFO L290 TraceCheckUtils]: 1: Hoare triple {362#(= ~counter~0 0)} 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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {362#(= ~counter~0 0)} is VALID [2022-02-20 17:29:50,213 INFO L290 TraceCheckUtils]: 2: Hoare triple {362#(= ~counter~0 0)} assume !(0 == assume_abort_if_not_~cond#1); {362#(= ~counter~0 0)} is VALID [2022-02-20 17:29:50,213 INFO L290 TraceCheckUtils]: 3: Hoare triple {362#(= ~counter~0 0)} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {362#(= ~counter~0 0)} is VALID [2022-02-20 17:29:50,214 INFO L290 TraceCheckUtils]: 4: Hoare triple {362#(= ~counter~0 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {363#(= |ULTIMATE.start_main_#t~post6#1| 0)} is VALID [2022-02-20 17:29:50,214 INFO L290 TraceCheckUtils]: 5: Hoare triple {363#(= |ULTIMATE.start_main_#t~post6#1| 0)} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {361#false} is VALID [2022-02-20 17:29:50,214 INFO L290 TraceCheckUtils]: 6: Hoare triple {361#false} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {361#false} is VALID [2022-02-20 17:29:50,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#false} assume !(main_#t~post7#1 < 5);havoc main_#t~post7#1; {361#false} is VALID [2022-02-20 17:29:50,215 INFO L272 TraceCheckUtils]: 8: Hoare triple {361#false} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {361#false} is VALID [2022-02-20 17:29:50,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#false} ~cond := #in~cond; {361#false} is VALID [2022-02-20 17:29:50,215 INFO L290 TraceCheckUtils]: 10: Hoare triple {361#false} assume 0 == ~cond; {361#false} is VALID [2022-02-20 17:29:50,215 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#false} assume !false; {361#false} is VALID [2022-02-20 17:29:50,216 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 17:29:50,216 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:50,216 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [772215305] [2022-02-20 17:29:50,216 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [772215305] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:50,216 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:50,216 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 17:29:50,216 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [937745789] [2022-02-20 17:29:50,217 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:50,217 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 12 [2022-02-20 17:29:50,217 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:50,217 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:50,225 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:50,226 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 17:29:50,226 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:50,226 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 17:29:50,226 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 17:29:50,227 INFO L87 Difference]: Start difference. First operand 28 states and 37 transitions. Second operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:50,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:50,297 INFO L93 Difference]: Finished difference Result 44 states and 59 transitions. [2022-02-20 17:29:50,298 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 17:29:50,298 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 12 [2022-02-20 17:29:50,298 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:50,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:50,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2022-02-20 17:29:50,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:50,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 56 transitions. [2022-02-20 17:29:50,303 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 56 transitions. [2022-02-20 17:29:50,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:50,359 INFO L225 Difference]: With dead ends: 44 [2022-02-20 17:29:50,359 INFO L226 Difference]: Without dead ends: 30 [2022-02-20 17:29:50,362 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 17:29:50,368 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 0 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:50,369 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 89 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:50,370 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-02-20 17:29:50,373 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-02-20 17:29:50,375 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:50,376 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 20 states have (on average 1.3) internal successors, (26), 21 states have internal predecessors, (26), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:50,376 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 20 states have (on average 1.3) internal successors, (26), 21 states have internal predecessors, (26), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:50,376 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 20 states have (on average 1.3) internal successors, (26), 21 states have internal predecessors, (26), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:50,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:50,378 INFO L93 Difference]: Finished difference Result 30 states and 39 transitions. [2022-02-20 17:29:50,378 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-02-20 17:29:50,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:50,378 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:50,379 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 20 states have (on average 1.3) internal successors, (26), 21 states have internal predecessors, (26), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 30 states. [2022-02-20 17:29:50,379 INFO L87 Difference]: Start difference. First operand has 30 states, 20 states have (on average 1.3) internal successors, (26), 21 states have internal predecessors, (26), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 30 states. [2022-02-20 17:29:50,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:50,381 INFO L93 Difference]: Finished difference Result 30 states and 39 transitions. [2022-02-20 17:29:50,381 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-02-20 17:29:50,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:50,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:50,384 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:50,384 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:50,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 20 states have (on average 1.3) internal successors, (26), 21 states have internal predecessors, (26), 7 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:50,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-02-20 17:29:50,386 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 12 [2022-02-20 17:29:50,386 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:50,386 INFO L470 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-02-20 17:29:50,387 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.75) internal successors, (11), 3 states have internal predecessors, (11), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 17:29:50,387 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-02-20 17:29:50,388 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 17:29:50,388 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:50,389 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:29:50,389 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 17:29:50,389 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:50,390 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:50,390 INFO L85 PathProgramCache]: Analyzing trace with hash 472519838, now seen corresponding path program 1 times [2022-02-20 17:29:50,390 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:50,390 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [509808484] [2022-02-20 17:29:50,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:50,391 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:50,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:50,471 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-02-20 17:29:50,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:50,496 INFO L290 TraceCheckUtils]: 0: Hoare triple {527#true} ~cond := #in~cond; {527#true} is VALID [2022-02-20 17:29:50,497 INFO L290 TraceCheckUtils]: 1: Hoare triple {527#true} assume !(0 == ~cond); {527#true} is VALID [2022-02-20 17:29:50,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {527#true} assume true; {527#true} is VALID [2022-02-20 17:29:50,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {527#true} {529#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} #74#return; {529#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:50,498 INFO L290 TraceCheckUtils]: 0: Hoare triple {527#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {527#true} is VALID [2022-02-20 17:29:50,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {527#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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {527#true} is VALID [2022-02-20 17:29:50,499 INFO L290 TraceCheckUtils]: 2: Hoare triple {527#true} assume !(0 == assume_abort_if_not_~cond#1); {527#true} is VALID [2022-02-20 17:29:50,500 INFO L290 TraceCheckUtils]: 3: Hoare triple {527#true} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {529#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:50,500 INFO L290 TraceCheckUtils]: 4: Hoare triple {529#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {529#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:50,501 INFO L290 TraceCheckUtils]: 5: Hoare triple {529#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {529#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:50,501 INFO L272 TraceCheckUtils]: 6: Hoare triple {529#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {527#true} is VALID [2022-02-20 17:29:50,501 INFO L290 TraceCheckUtils]: 7: Hoare triple {527#true} ~cond := #in~cond; {527#true} is VALID [2022-02-20 17:29:50,501 INFO L290 TraceCheckUtils]: 8: Hoare triple {527#true} assume !(0 == ~cond); {527#true} is VALID [2022-02-20 17:29:50,501 INFO L290 TraceCheckUtils]: 9: Hoare triple {527#true} assume true; {527#true} is VALID [2022-02-20 17:29:50,502 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {527#true} {529#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} #74#return; {529#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} is VALID [2022-02-20 17:29:50,503 INFO L272 TraceCheckUtils]: 11: Hoare triple {529#(= (+ (* (div |ULTIMATE.start_main_~A~0#1| 4294967296) 4294967296) |ULTIMATE.start_main_~r~0#1|) |ULTIMATE.start_main_~A~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {534#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:29:50,503 INFO L290 TraceCheckUtils]: 12: Hoare triple {534#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {535#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:29:50,504 INFO L290 TraceCheckUtils]: 13: Hoare triple {535#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {528#false} is VALID [2022-02-20 17:29:50,507 INFO L290 TraceCheckUtils]: 14: Hoare triple {528#false} assume !false; {528#false} is VALID [2022-02-20 17:29:50,507 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 17:29:50,508 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:50,508 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [509808484] [2022-02-20 17:29:50,508 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [509808484] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:50,508 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:50,508 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:50,508 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [120044663] [2022-02-20 17:29:50,508 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:50,509 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-02-20 17:29:50,510 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:50,511 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:29:50,523 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:50,523 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:50,523 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:50,524 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:50,524 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:50,524 INFO L87 Difference]: Start difference. First operand 30 states and 39 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:29:50,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:50,695 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-02-20 17:29:50,695 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 17:29:50,696 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-02-20 17:29:50,696 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:50,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:29:50,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2022-02-20 17:29:50,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:29:50,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2022-02-20 17:29:50,699 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 53 transitions. [2022-02-20 17:29:50,749 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:50,751 INFO L225 Difference]: With dead ends: 44 [2022-02-20 17:29:50,751 INFO L226 Difference]: Without dead ends: 42 [2022-02-20 17:29:50,751 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:29:50,752 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 13 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 31 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 108 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 31 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:50,752 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 108 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 31 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:50,753 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-02-20 17:29:50,756 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 34. [2022-02-20 17:29:50,771 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:50,771 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 34 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:50,772 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 34 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:50,772 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 34 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:50,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:50,774 INFO L93 Difference]: Finished difference Result 42 states and 56 transitions. [2022-02-20 17:29:50,774 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 56 transitions. [2022-02-20 17:29:50,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:50,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:50,774 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 42 states. [2022-02-20 17:29:50,774 INFO L87 Difference]: Start difference. First operand has 34 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 42 states. [2022-02-20 17:29:50,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:50,776 INFO L93 Difference]: Finished difference Result 42 states and 56 transitions. [2022-02-20 17:29:50,776 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 56 transitions. [2022-02-20 17:29:50,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:50,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:50,777 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:50,777 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:50,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 7 states have call successors, (7), 3 states have call predecessors, (7), 3 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-02-20 17:29:50,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 42 transitions. [2022-02-20 17:29:50,778 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 42 transitions. Word has length 15 [2022-02-20 17:29:50,778 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:50,778 INFO L470 AbstractCegarLoop]: Abstraction has 34 states and 42 transitions. [2022-02-20 17:29:50,778 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 1 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 17:29:50,778 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 42 transitions. [2022-02-20 17:29:50,779 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-02-20 17:29:50,779 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:50,779 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:29:50,779 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 17:29:50,779 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:50,779 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:50,779 INFO L85 PathProgramCache]: Analyzing trace with hash 838495553, now seen corresponding path program 1 times [2022-02-20 17:29:50,779 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:50,780 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [833791067] [2022-02-20 17:29:50,780 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:50,780 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:50,801 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:50,801 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2133020703] [2022-02-20 17:29:50,802 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:50,802 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:50,802 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:50,803 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:29:50,827 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-02-20 17:29:50,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:50,860 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 21 conjunts are in the unsatisfiable core [2022-02-20 17:29:50,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:50,870 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:51,466 INFO L290 TraceCheckUtils]: 0: Hoare triple {730#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {730#true} is VALID [2022-02-20 17:29:51,467 INFO L290 TraceCheckUtils]: 1: Hoare triple {730#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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {738#(or (and (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 1) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (and (not (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)))} is VALID [2022-02-20 17:29:51,468 INFO L290 TraceCheckUtils]: 2: Hoare triple {738#(or (and (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 1) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (and (not (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (= |ULTIMATE.start_assume_abort_if_not_~cond#1| 0)))} assume !(0 == assume_abort_if_not_~cond#1); {742#(<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))} is VALID [2022-02-20 17:29:51,469 INFO L290 TraceCheckUtils]: 3: Hoare triple {742#(<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {746#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0))} is VALID [2022-02-20 17:29:51,469 INFO L290 TraceCheckUtils]: 4: Hoare triple {746#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {746#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0))} is VALID [2022-02-20 17:29:51,470 INFO L290 TraceCheckUtils]: 5: Hoare triple {746#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {746#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0))} is VALID [2022-02-20 17:29:51,470 INFO L272 TraceCheckUtils]: 6: Hoare triple {746#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {730#true} is VALID [2022-02-20 17:29:51,472 INFO L290 TraceCheckUtils]: 7: Hoare triple {730#true} ~cond := #in~cond; {759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:51,473 INFO L290 TraceCheckUtils]: 8: Hoare triple {759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:29:51,473 INFO L290 TraceCheckUtils]: 9: Hoare triple {763#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:29:51,474 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {763#(not (= |__VERIFIER_assert_#in~cond| 0))} {746#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~q~0#1| 0))} #74#return; {770#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:51,474 INFO L272 TraceCheckUtils]: 11: Hoare triple {770#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {730#true} is VALID [2022-02-20 17:29:51,475 INFO L290 TraceCheckUtils]: 12: Hoare triple {730#true} ~cond := #in~cond; {730#true} is VALID [2022-02-20 17:29:51,475 INFO L290 TraceCheckUtils]: 13: Hoare triple {730#true} assume !(0 == ~cond); {730#true} is VALID [2022-02-20 17:29:51,475 INFO L290 TraceCheckUtils]: 14: Hoare triple {730#true} assume true; {730#true} is VALID [2022-02-20 17:29:51,476 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {730#true} {770#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} #76#return; {770#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} is VALID [2022-02-20 17:29:51,476 INFO L272 TraceCheckUtils]: 16: Hoare triple {770#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (<= 1 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {789#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:51,477 INFO L290 TraceCheckUtils]: 17: Hoare triple {789#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {793#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:51,477 INFO L290 TraceCheckUtils]: 18: Hoare triple {793#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {731#false} is VALID [2022-02-20 17:29:51,477 INFO L290 TraceCheckUtils]: 19: Hoare triple {731#false} assume !false; {731#false} is VALID [2022-02-20 17:29:51,478 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 17:29:51,478 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:29:57,330 INFO L290 TraceCheckUtils]: 19: Hoare triple {731#false} assume !false; {731#false} is VALID [2022-02-20 17:29:57,330 INFO L290 TraceCheckUtils]: 18: Hoare triple {793#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {731#false} is VALID [2022-02-20 17:29:57,331 INFO L290 TraceCheckUtils]: 17: Hoare triple {789#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {793#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:57,332 INFO L272 TraceCheckUtils]: 16: Hoare triple {809#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {789#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:57,332 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {730#true} {809#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} #76#return; {809#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:57,333 INFO L290 TraceCheckUtils]: 14: Hoare triple {730#true} assume true; {730#true} is VALID [2022-02-20 17:29:57,333 INFO L290 TraceCheckUtils]: 13: Hoare triple {730#true} assume !(0 == ~cond); {730#true} is VALID [2022-02-20 17:29:57,333 INFO L290 TraceCheckUtils]: 12: Hoare triple {730#true} ~cond := #in~cond; {730#true} is VALID [2022-02-20 17:29:57,333 INFO L272 TraceCheckUtils]: 11: Hoare triple {809#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {730#true} is VALID [2022-02-20 17:29:57,334 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {763#(not (= |__VERIFIER_assert_#in~cond| 0))} {828#(or (= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (not (= |ULTIMATE.start_main_~q~0#1| 0)))} #74#return; {809#(= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|)} is VALID [2022-02-20 17:29:57,334 INFO L290 TraceCheckUtils]: 9: Hoare triple {763#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:29:57,335 INFO L290 TraceCheckUtils]: 8: Hoare triple {838#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:29:57,335 INFO L290 TraceCheckUtils]: 7: Hoare triple {730#true} ~cond := #in~cond; {838#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:29:57,335 INFO L272 TraceCheckUtils]: 6: Hoare triple {828#(or (= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (not (= |ULTIMATE.start_main_~q~0#1| 0)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {730#true} is VALID [2022-02-20 17:29:57,336 INFO L290 TraceCheckUtils]: 5: Hoare triple {828#(or (= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (not (= |ULTIMATE.start_main_~q~0#1| 0)))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {828#(or (= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (not (= |ULTIMATE.start_main_~q~0#1| 0)))} is VALID [2022-02-20 17:29:57,336 INFO L290 TraceCheckUtils]: 4: Hoare triple {828#(or (= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (not (= |ULTIMATE.start_main_~q~0#1| 0)))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {828#(or (= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (not (= |ULTIMATE.start_main_~q~0#1| 0)))} is VALID [2022-02-20 17:29:57,337 INFO L290 TraceCheckUtils]: 3: Hoare triple {730#true} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {828#(or (= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (not (= |ULTIMATE.start_main_~q~0#1| 0)))} is VALID [2022-02-20 17:29:57,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {730#true} assume !(0 == assume_abort_if_not_~cond#1); {730#true} is VALID [2022-02-20 17:29:57,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {730#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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {730#true} is VALID [2022-02-20 17:29:57,337 INFO L290 TraceCheckUtils]: 0: Hoare triple {730#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {730#true} is VALID [2022-02-20 17:29:57,338 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 17:29:57,338 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:57,338 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [833791067] [2022-02-20 17:29:57,338 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:57,338 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2133020703] [2022-02-20 17:29:57,338 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2133020703] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:29:57,339 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:29:57,339 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 13 [2022-02-20 17:29:57,339 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [430406029] [2022-02-20 17:29:57,339 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:29:57,339 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.0) internal successors, (22), 10 states have internal predecessors, (22), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) Word has length 20 [2022-02-20 17:29:57,340 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:57,340 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.0) internal successors, (22), 10 states have internal predecessors, (22), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 17:29:57,368 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:57,369 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 17:29:57,369 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:57,369 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 17:29:57,369 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=121, Unknown=0, NotChecked=0, Total=156 [2022-02-20 17:29:57,370 INFO L87 Difference]: Start difference. First operand 34 states and 42 transitions. Second operand has 13 states, 11 states have (on average 2.0) internal successors, (22), 10 states have internal predecessors, (22), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 17:29:58,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:58,518 INFO L93 Difference]: Finished difference Result 75 states and 101 transitions. [2022-02-20 17:29:58,518 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 17:29:58,519 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.0) internal successors, (22), 10 states have internal predecessors, (22), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) Word has length 20 [2022-02-20 17:29:58,519 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:58,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.0) internal successors, (22), 10 states have internal predecessors, (22), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 17:29:58,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 92 transitions. [2022-02-20 17:29:58,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.0) internal successors, (22), 10 states have internal predecessors, (22), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 17:29:58,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 92 transitions. [2022-02-20 17:29:58,523 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 92 transitions. [2022-02-20 17:29:58,611 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:58,612 INFO L225 Difference]: With dead ends: 75 [2022-02-20 17:29:58,612 INFO L226 Difference]: Without dead ends: 59 [2022-02-20 17:29:58,613 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 27 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=79, Invalid=263, Unknown=0, NotChecked=0, Total=342 [2022-02-20 17:29:58,614 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 72 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 178 mSolverCounterSat, 69 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 247 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 69 IncrementalHoareTripleChecker+Valid, 178 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:58,614 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [72 Valid, 123 Invalid, 247 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [69 Valid, 178 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 17:29:58,614 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-02-20 17:29:58,628 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 56. [2022-02-20 17:29:58,629 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:58,629 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 56 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 38 states have internal predecessors, (44), 15 states have call successors, (15), 5 states have call predecessors, (15), 5 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:29:58,629 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 56 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 38 states have internal predecessors, (44), 15 states have call successors, (15), 5 states have call predecessors, (15), 5 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:29:58,630 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 56 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 38 states have internal predecessors, (44), 15 states have call successors, (15), 5 states have call predecessors, (15), 5 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:29:58,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:58,632 INFO L93 Difference]: Finished difference Result 59 states and 76 transitions. [2022-02-20 17:29:58,632 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 76 transitions. [2022-02-20 17:29:58,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:58,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:58,633 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 38 states have internal predecessors, (44), 15 states have call successors, (15), 5 states have call predecessors, (15), 5 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 59 states. [2022-02-20 17:29:58,633 INFO L87 Difference]: Start difference. First operand has 56 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 38 states have internal predecessors, (44), 15 states have call successors, (15), 5 states have call predecessors, (15), 5 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 59 states. [2022-02-20 17:29:58,635 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:58,635 INFO L93 Difference]: Finished difference Result 59 states and 76 transitions. [2022-02-20 17:29:58,635 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 76 transitions. [2022-02-20 17:29:58,636 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:58,636 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:58,636 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:58,636 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:58,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 38 states have internal predecessors, (44), 15 states have call successors, (15), 5 states have call predecessors, (15), 5 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:29:58,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 72 transitions. [2022-02-20 17:29:58,638 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 72 transitions. Word has length 20 [2022-02-20 17:29:58,638 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:58,639 INFO L470 AbstractCegarLoop]: Abstraction has 56 states and 72 transitions. [2022-02-20 17:29:58,639 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.0) internal successors, (22), 10 states have internal predecessors, (22), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 4 states have call successors, (4) [2022-02-20 17:29:58,639 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-02-20 17:29:58,639 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 17:29:58,640 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:58,640 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:29:58,661 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 17:29:58,855 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:58,855 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:58,856 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:58,856 INFO L85 PathProgramCache]: Analyzing trace with hash 414140572, now seen corresponding path program 1 times [2022-02-20 17:29:58,856 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:58,856 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1327139150] [2022-02-20 17:29:58,856 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:58,856 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:58,869 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:58,875 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [79464466] [2022-02-20 17:29:58,875 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:58,875 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:58,875 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:58,892 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:29:58,893 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-02-20 17:29:58,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:58,923 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 17:29:58,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:58,937 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:59,054 INFO L290 TraceCheckUtils]: 0: Hoare triple {1175#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1180#(<= ~counter~0 0)} is VALID [2022-02-20 17:29:59,055 INFO L290 TraceCheckUtils]: 1: Hoare triple {1180#(<= ~counter~0 0)} 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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1180#(<= ~counter~0 0)} is VALID [2022-02-20 17:29:59,055 INFO L290 TraceCheckUtils]: 2: Hoare triple {1180#(<= ~counter~0 0)} assume !(0 == assume_abort_if_not_~cond#1); {1180#(<= ~counter~0 0)} is VALID [2022-02-20 17:29:59,055 INFO L290 TraceCheckUtils]: 3: Hoare triple {1180#(<= ~counter~0 0)} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {1180#(<= ~counter~0 0)} is VALID [2022-02-20 17:29:59,056 INFO L290 TraceCheckUtils]: 4: Hoare triple {1180#(<= ~counter~0 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,056 INFO L290 TraceCheckUtils]: 5: Hoare triple {1193#(<= ~counter~0 1)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,057 INFO L272 TraceCheckUtils]: 6: Hoare triple {1193#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,057 INFO L290 TraceCheckUtils]: 7: Hoare triple {1193#(<= ~counter~0 1)} ~cond := #in~cond; {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {1193#(<= ~counter~0 1)} assume !(0 == ~cond); {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,057 INFO L290 TraceCheckUtils]: 9: Hoare triple {1193#(<= ~counter~0 1)} assume true; {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1193#(<= ~counter~0 1)} {1193#(<= ~counter~0 1)} #74#return; {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,058 INFO L272 TraceCheckUtils]: 11: Hoare triple {1193#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,059 INFO L290 TraceCheckUtils]: 12: Hoare triple {1193#(<= ~counter~0 1)} ~cond := #in~cond; {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,059 INFO L290 TraceCheckUtils]: 13: Hoare triple {1193#(<= ~counter~0 1)} assume !(0 == ~cond); {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,061 INFO L290 TraceCheckUtils]: 14: Hoare triple {1193#(<= ~counter~0 1)} assume true; {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,062 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1193#(<= ~counter~0 1)} {1193#(<= ~counter~0 1)} #76#return; {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,062 INFO L272 TraceCheckUtils]: 16: Hoare triple {1193#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,063 INFO L290 TraceCheckUtils]: 17: Hoare triple {1193#(<= ~counter~0 1)} ~cond := #in~cond; {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,063 INFO L290 TraceCheckUtils]: 18: Hoare triple {1193#(<= ~counter~0 1)} assume !(0 == ~cond); {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,063 INFO L290 TraceCheckUtils]: 19: Hoare triple {1193#(<= ~counter~0 1)} assume true; {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,064 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1193#(<= ~counter~0 1)} {1193#(<= ~counter~0 1)} #78#return; {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,064 INFO L290 TraceCheckUtils]: 21: Hoare triple {1193#(<= ~counter~0 1)} assume !(main_~r~0#1 >= main_~d~0#1); {1193#(<= ~counter~0 1)} is VALID [2022-02-20 17:29:59,065 INFO L290 TraceCheckUtils]: 22: Hoare triple {1193#(<= ~counter~0 1)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {1248#(<= |ULTIMATE.start_main_#t~post7#1| 1)} is VALID [2022-02-20 17:29:59,065 INFO L290 TraceCheckUtils]: 23: Hoare triple {1248#(<= |ULTIMATE.start_main_#t~post7#1| 1)} assume !(main_#t~post7#1 < 5);havoc main_#t~post7#1; {1176#false} is VALID [2022-02-20 17:29:59,065 INFO L272 TraceCheckUtils]: 24: Hoare triple {1176#false} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {1176#false} is VALID [2022-02-20 17:29:59,065 INFO L290 TraceCheckUtils]: 25: Hoare triple {1176#false} ~cond := #in~cond; {1176#false} is VALID [2022-02-20 17:29:59,065 INFO L290 TraceCheckUtils]: 26: Hoare triple {1176#false} assume 0 == ~cond; {1176#false} is VALID [2022-02-20 17:29:59,066 INFO L290 TraceCheckUtils]: 27: Hoare triple {1176#false} assume !false; {1176#false} is VALID [2022-02-20 17:29:59,066 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 17:29:59,066 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:29:59,066 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:59,066 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1327139150] [2022-02-20 17:29:59,066 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:59,066 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [79464466] [2022-02-20 17:29:59,066 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [79464466] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:59,066 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:59,067 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 17:29:59,067 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1439909271] [2022-02-20 17:29:59,067 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:59,067 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 28 [2022-02-20 17:29:59,067 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:59,068 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:59,083 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:59,084 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:59,084 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:59,084 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:59,084 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:59,084 INFO L87 Difference]: Start difference. First operand 56 states and 72 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:59,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:59,242 INFO L93 Difference]: Finished difference Result 72 states and 85 transitions. [2022-02-20 17:29:59,242 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:29:59,242 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (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 28 [2022-02-20 17:29:59,242 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:59,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:59,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 57 transitions. [2022-02-20 17:29:59,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:59,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 57 transitions. [2022-02-20 17:29:59,245 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 57 transitions. [2022-02-20 17:29:59,284 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:59,285 INFO L225 Difference]: With dead ends: 72 [2022-02-20 17:29:59,285 INFO L226 Difference]: Without dead ends: 65 [2022-02-20 17:29:59,285 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:59,286 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 4 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:59,286 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [4 Valid, 117 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:59,286 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-02-20 17:29:59,305 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 64. [2022-02-20 17:29:59,305 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:59,305 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 64 states, 41 states have (on average 1.1951219512195121) internal successors, (49), 44 states have internal predecessors, (49), 15 states have call successors, (15), 7 states have call predecessors, (15), 7 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:29:59,305 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 64 states, 41 states have (on average 1.1951219512195121) internal successors, (49), 44 states have internal predecessors, (49), 15 states have call successors, (15), 7 states have call predecessors, (15), 7 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:29:59,306 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 64 states, 41 states have (on average 1.1951219512195121) internal successors, (49), 44 states have internal predecessors, (49), 15 states have call successors, (15), 7 states have call predecessors, (15), 7 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:29:59,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:59,308 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2022-02-20 17:29:59,308 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-02-20 17:29:59,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:59,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:59,308 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 41 states have (on average 1.1951219512195121) internal successors, (49), 44 states have internal predecessors, (49), 15 states have call successors, (15), 7 states have call predecessors, (15), 7 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 65 states. [2022-02-20 17:29:59,309 INFO L87 Difference]: Start difference. First operand has 64 states, 41 states have (on average 1.1951219512195121) internal successors, (49), 44 states have internal predecessors, (49), 15 states have call successors, (15), 7 states have call predecessors, (15), 7 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 65 states. [2022-02-20 17:29:59,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:59,310 INFO L93 Difference]: Finished difference Result 65 states and 78 transitions. [2022-02-20 17:29:59,311 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 78 transitions. [2022-02-20 17:29:59,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:59,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:59,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:59,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:59,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 41 states have (on average 1.1951219512195121) internal successors, (49), 44 states have internal predecessors, (49), 15 states have call successors, (15), 7 states have call predecessors, (15), 7 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-02-20 17:29:59,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-02-20 17:29:59,313 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 28 [2022-02-20 17:29:59,313 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:59,313 INFO L470 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-02-20 17:29:59,314 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:59,314 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-02-20 17:29:59,314 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 17:29:59,314 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:59,314 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:29:59,356 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-02-20 17:29:59,524 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2022-02-20 17:29:59,525 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:29:59,525 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:29:59,525 INFO L85 PathProgramCache]: Analyzing trace with hash 415868450, now seen corresponding path program 1 times [2022-02-20 17:29:59,525 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:29:59,525 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [295940540] [2022-02-20 17:29:59,525 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:59,525 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:29:59,536 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:29:59,536 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1335640684] [2022-02-20 17:29:59,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:29:59,536 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:29:59,536 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:29:59,537 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:29:59,538 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-02-20 17:29:59,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:59,566 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:29:59,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:29:59,573 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:29:59,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {1580#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1580#true} is VALID [2022-02-20 17:29:59,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {1580#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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {1580#true} is VALID [2022-02-20 17:29:59,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {1580#true} assume !(0 == assume_abort_if_not_~cond#1); {1580#true} is VALID [2022-02-20 17:29:59,695 INFO L290 TraceCheckUtils]: 3: Hoare triple {1580#true} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:59,703 INFO L290 TraceCheckUtils]: 4: Hoare triple {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:59,704 INFO L290 TraceCheckUtils]: 5: Hoare triple {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:59,704 INFO L272 TraceCheckUtils]: 6: Hoare triple {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {1580#true} is VALID [2022-02-20 17:29:59,704 INFO L290 TraceCheckUtils]: 7: Hoare triple {1580#true} ~cond := #in~cond; {1580#true} is VALID [2022-02-20 17:29:59,704 INFO L290 TraceCheckUtils]: 8: Hoare triple {1580#true} assume !(0 == ~cond); {1580#true} is VALID [2022-02-20 17:29:59,704 INFO L290 TraceCheckUtils]: 9: Hoare triple {1580#true} assume true; {1580#true} is VALID [2022-02-20 17:29:59,705 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1580#true} {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #74#return; {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:59,705 INFO L272 TraceCheckUtils]: 11: Hoare triple {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {1580#true} is VALID [2022-02-20 17:29:59,705 INFO L290 TraceCheckUtils]: 12: Hoare triple {1580#true} ~cond := #in~cond; {1580#true} is VALID [2022-02-20 17:29:59,705 INFO L290 TraceCheckUtils]: 13: Hoare triple {1580#true} assume !(0 == ~cond); {1580#true} is VALID [2022-02-20 17:29:59,706 INFO L290 TraceCheckUtils]: 14: Hoare triple {1580#true} assume true; {1580#true} is VALID [2022-02-20 17:29:59,706 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1580#true} {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #76#return; {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:59,706 INFO L272 TraceCheckUtils]: 16: Hoare triple {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {1580#true} is VALID [2022-02-20 17:29:59,706 INFO L290 TraceCheckUtils]: 17: Hoare triple {1580#true} ~cond := #in~cond; {1580#true} is VALID [2022-02-20 17:29:59,706 INFO L290 TraceCheckUtils]: 18: Hoare triple {1580#true} assume !(0 == ~cond); {1580#true} is VALID [2022-02-20 17:29:59,707 INFO L290 TraceCheckUtils]: 19: Hoare triple {1580#true} assume true; {1580#true} is VALID [2022-02-20 17:29:59,707 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {1580#true} {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #78#return; {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:59,708 INFO L290 TraceCheckUtils]: 21: Hoare triple {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !(main_~r~0#1 >= main_~d~0#1); {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:59,708 INFO L290 TraceCheckUtils]: 22: Hoare triple {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:59,708 INFO L290 TraceCheckUtils]: 23: Hoare triple {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !!(main_#t~post7#1 < 5);havoc main_#t~post7#1; {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:29:59,709 INFO L272 TraceCheckUtils]: 24: Hoare triple {1594#(and (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {1658#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:29:59,709 INFO L290 TraceCheckUtils]: 25: Hoare triple {1658#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1662#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:29:59,710 INFO L290 TraceCheckUtils]: 26: Hoare triple {1662#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1581#false} is VALID [2022-02-20 17:29:59,710 INFO L290 TraceCheckUtils]: 27: Hoare triple {1581#false} assume !false; {1581#false} is VALID [2022-02-20 17:29:59,710 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-02-20 17:29:59,710 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:29:59,710 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:29:59,710 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [295940540] [2022-02-20 17:29:59,710 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:29:59,711 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1335640684] [2022-02-20 17:29:59,711 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1335640684] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:29:59,711 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:29:59,711 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:29:59,711 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1311268231] [2022-02-20 17:29:59,711 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:29:59,712 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 1 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 28 [2022-02-20 17:29:59,712 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:29:59,712 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:59,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:59,727 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:29:59,727 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:29:59,728 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:29:59,728 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:29:59,728 INFO L87 Difference]: Start difference. First operand 64 states and 77 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:59,887 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:59,887 INFO L93 Difference]: Finished difference Result 79 states and 97 transitions. [2022-02-20 17:29:59,887 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:29:59,887 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 1 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 28 [2022-02-20 17:29:59,887 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:29:59,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:59,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-02-20 17:29:59,888 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:59,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-02-20 17:29:59,889 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-02-20 17:29:59,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:29:59,944 INFO L225 Difference]: With dead ends: 79 [2022-02-20 17:29:59,944 INFO L226 Difference]: Without dead ends: 71 [2022-02-20 17:29:59,944 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-02-20 17:29:59,945 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 11 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 94 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:29:59,945 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 94 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:29:59,946 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-02-20 17:29:59,979 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 70. [2022-02-20 17:29:59,979 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:29:59,980 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 70 states, 45 states have (on average 1.2) internal successors, (54), 49 states have internal predecessors, (54), 16 states have call successors, (16), 8 states have call predecessors, (16), 8 states have return successors, (14), 12 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:29:59,981 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 70 states, 45 states have (on average 1.2) internal successors, (54), 49 states have internal predecessors, (54), 16 states have call successors, (16), 8 states have call predecessors, (16), 8 states have return successors, (14), 12 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:29:59,981 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 70 states, 45 states have (on average 1.2) internal successors, (54), 49 states have internal predecessors, (54), 16 states have call successors, (16), 8 states have call predecessors, (16), 8 states have return successors, (14), 12 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:29:59,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:59,985 INFO L93 Difference]: Finished difference Result 71 states and 85 transitions. [2022-02-20 17:29:59,985 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-02-20 17:29:59,985 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:59,985 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:59,985 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 45 states have (on average 1.2) internal successors, (54), 49 states have internal predecessors, (54), 16 states have call successors, (16), 8 states have call predecessors, (16), 8 states have return successors, (14), 12 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-02-20 17:29:59,986 INFO L87 Difference]: Start difference. First operand has 70 states, 45 states have (on average 1.2) internal successors, (54), 49 states have internal predecessors, (54), 16 states have call successors, (16), 8 states have call predecessors, (16), 8 states have return successors, (14), 12 states have call predecessors, (14), 14 states have call successors, (14) Second operand 71 states. [2022-02-20 17:29:59,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:29:59,987 INFO L93 Difference]: Finished difference Result 71 states and 85 transitions. [2022-02-20 17:29:59,987 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-02-20 17:29:59,988 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:29:59,988 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:29:59,988 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:29:59,988 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:29:59,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 45 states have (on average 1.2) internal successors, (54), 49 states have internal predecessors, (54), 16 states have call successors, (16), 8 states have call predecessors, (16), 8 states have return successors, (14), 12 states have call predecessors, (14), 14 states have call successors, (14) [2022-02-20 17:29:59,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 84 transitions. [2022-02-20 17:29:59,990 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 84 transitions. Word has length 28 [2022-02-20 17:29:59,990 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:29:59,990 INFO L470 AbstractCegarLoop]: Abstraction has 70 states and 84 transitions. [2022-02-20 17:29:59,990 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 1 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 17:29:59,990 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 84 transitions. [2022-02-20 17:29:59,990 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 17:29:59,990 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:29:59,990 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:30:00,007 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-02-20 17:30:00,195 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:30:00,196 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:30:00,196 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:30:00,196 INFO L85 PathProgramCache]: Analyzing trace with hash -1091220578, now seen corresponding path program 1 times [2022-02-20 17:30:00,196 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:30:00,196 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [438355723] [2022-02-20 17:30:00,196 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:00,196 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:30:00,211 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:30:00,211 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [737917031] [2022-02-20 17:30:00,211 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:00,211 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:30:00,211 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:30:00,212 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:30:00,213 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-02-20 17:30:00,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:00,248 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 17:30:00,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:00,256 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:30:00,392 INFO L290 TraceCheckUtils]: 0: Hoare triple {2017#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2022#(<= ~counter~0 0)} is VALID [2022-02-20 17:30:00,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {2022#(<= ~counter~0 0)} 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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2022#(<= ~counter~0 0)} is VALID [2022-02-20 17:30:00,393 INFO L290 TraceCheckUtils]: 2: Hoare triple {2022#(<= ~counter~0 0)} assume !(0 == assume_abort_if_not_~cond#1); {2022#(<= ~counter~0 0)} is VALID [2022-02-20 17:30:00,393 INFO L290 TraceCheckUtils]: 3: Hoare triple {2022#(<= ~counter~0 0)} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {2022#(<= ~counter~0 0)} is VALID [2022-02-20 17:30:00,394 INFO L290 TraceCheckUtils]: 4: Hoare triple {2022#(<= ~counter~0 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,397 INFO L290 TraceCheckUtils]: 5: Hoare triple {2035#(<= ~counter~0 1)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,397 INFO L272 TraceCheckUtils]: 6: Hoare triple {2035#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,398 INFO L290 TraceCheckUtils]: 7: Hoare triple {2035#(<= ~counter~0 1)} ~cond := #in~cond; {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,398 INFO L290 TraceCheckUtils]: 8: Hoare triple {2035#(<= ~counter~0 1)} assume !(0 == ~cond); {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,398 INFO L290 TraceCheckUtils]: 9: Hoare triple {2035#(<= ~counter~0 1)} assume true; {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,399 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2035#(<= ~counter~0 1)} {2035#(<= ~counter~0 1)} #74#return; {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,399 INFO L272 TraceCheckUtils]: 11: Hoare triple {2035#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,399 INFO L290 TraceCheckUtils]: 12: Hoare triple {2035#(<= ~counter~0 1)} ~cond := #in~cond; {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,400 INFO L290 TraceCheckUtils]: 13: Hoare triple {2035#(<= ~counter~0 1)} assume !(0 == ~cond); {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,400 INFO L290 TraceCheckUtils]: 14: Hoare triple {2035#(<= ~counter~0 1)} assume true; {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,400 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2035#(<= ~counter~0 1)} {2035#(<= ~counter~0 1)} #76#return; {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,401 INFO L272 TraceCheckUtils]: 16: Hoare triple {2035#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,401 INFO L290 TraceCheckUtils]: 17: Hoare triple {2035#(<= ~counter~0 1)} ~cond := #in~cond; {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,401 INFO L290 TraceCheckUtils]: 18: Hoare triple {2035#(<= ~counter~0 1)} assume !(0 == ~cond); {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,402 INFO L290 TraceCheckUtils]: 19: Hoare triple {2035#(<= ~counter~0 1)} assume true; {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,402 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {2035#(<= ~counter~0 1)} {2035#(<= ~counter~0 1)} #78#return; {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,402 INFO L290 TraceCheckUtils]: 21: Hoare triple {2035#(<= ~counter~0 1)} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {2035#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:00,403 INFO L290 TraceCheckUtils]: 22: Hoare triple {2035#(<= ~counter~0 1)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {2090#(<= |ULTIMATE.start_main_#t~post6#1| 1)} is VALID [2022-02-20 17:30:00,403 INFO L290 TraceCheckUtils]: 23: Hoare triple {2090#(<= |ULTIMATE.start_main_#t~post6#1| 1)} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {2018#false} is VALID [2022-02-20 17:30:00,403 INFO L290 TraceCheckUtils]: 24: Hoare triple {2018#false} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {2018#false} is VALID [2022-02-20 17:30:00,403 INFO L290 TraceCheckUtils]: 25: Hoare triple {2018#false} assume !(main_#t~post7#1 < 5);havoc main_#t~post7#1; {2018#false} is VALID [2022-02-20 17:30:00,403 INFO L272 TraceCheckUtils]: 26: Hoare triple {2018#false} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {2018#false} is VALID [2022-02-20 17:30:00,403 INFO L290 TraceCheckUtils]: 27: Hoare triple {2018#false} ~cond := #in~cond; {2018#false} is VALID [2022-02-20 17:30:00,404 INFO L290 TraceCheckUtils]: 28: Hoare triple {2018#false} assume !(0 == ~cond); {2018#false} is VALID [2022-02-20 17:30:00,404 INFO L290 TraceCheckUtils]: 29: Hoare triple {2018#false} assume true; {2018#false} is VALID [2022-02-20 17:30:00,404 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2018#false} {2018#false} #84#return; {2018#false} is VALID [2022-02-20 17:30:00,404 INFO L272 TraceCheckUtils]: 31: Hoare triple {2018#false} call __VERIFIER_assert((if main_~B~0#1 % 4294967296 == main_~d~0#1 then 1 else 0)); {2018#false} is VALID [2022-02-20 17:30:00,404 INFO L290 TraceCheckUtils]: 32: Hoare triple {2018#false} ~cond := #in~cond; {2018#false} is VALID [2022-02-20 17:30:00,404 INFO L290 TraceCheckUtils]: 33: Hoare triple {2018#false} assume 0 == ~cond; {2018#false} is VALID [2022-02-20 17:30:00,404 INFO L290 TraceCheckUtils]: 34: Hoare triple {2018#false} assume !false; {2018#false} is VALID [2022-02-20 17:30:00,404 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 18 proven. 2 refuted. 0 times theorem prover too weak. 14 trivial. 0 not checked. [2022-02-20 17:30:00,404 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:30:00,543 INFO L290 TraceCheckUtils]: 34: Hoare triple {2018#false} assume !false; {2018#false} is VALID [2022-02-20 17:30:00,543 INFO L290 TraceCheckUtils]: 33: Hoare triple {2018#false} assume 0 == ~cond; {2018#false} is VALID [2022-02-20 17:30:00,543 INFO L290 TraceCheckUtils]: 32: Hoare triple {2018#false} ~cond := #in~cond; {2018#false} is VALID [2022-02-20 17:30:00,543 INFO L272 TraceCheckUtils]: 31: Hoare triple {2018#false} call __VERIFIER_assert((if main_~B~0#1 % 4294967296 == main_~d~0#1 then 1 else 0)); {2018#false} is VALID [2022-02-20 17:30:00,543 INFO L284 TraceCheckUtils]: 30: Hoare quadruple {2017#true} {2018#false} #84#return; {2018#false} is VALID [2022-02-20 17:30:00,544 INFO L290 TraceCheckUtils]: 29: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-02-20 17:30:00,544 INFO L290 TraceCheckUtils]: 28: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-02-20 17:30:00,544 INFO L290 TraceCheckUtils]: 27: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-02-20 17:30:00,544 INFO L272 TraceCheckUtils]: 26: Hoare triple {2018#false} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {2017#true} is VALID [2022-02-20 17:30:00,544 INFO L290 TraceCheckUtils]: 25: Hoare triple {2018#false} assume !(main_#t~post7#1 < 5);havoc main_#t~post7#1; {2018#false} is VALID [2022-02-20 17:30:00,544 INFO L290 TraceCheckUtils]: 24: Hoare triple {2018#false} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {2018#false} is VALID [2022-02-20 17:30:00,545 INFO L290 TraceCheckUtils]: 23: Hoare triple {2160#(< |ULTIMATE.start_main_#t~post6#1| 5)} assume !(main_#t~post6#1 < 5);havoc main_#t~post6#1; {2018#false} is VALID [2022-02-20 17:30:00,545 INFO L290 TraceCheckUtils]: 22: Hoare triple {2164#(< ~counter~0 5)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {2160#(< |ULTIMATE.start_main_#t~post6#1| 5)} is VALID [2022-02-20 17:30:00,545 INFO L290 TraceCheckUtils]: 21: Hoare triple {2164#(< ~counter~0 5)} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {2164#(< ~counter~0 5)} is VALID [2022-02-20 17:30:00,546 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {2017#true} {2164#(< ~counter~0 5)} #78#return; {2164#(< ~counter~0 5)} is VALID [2022-02-20 17:30:00,546 INFO L290 TraceCheckUtils]: 19: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-02-20 17:30:00,546 INFO L290 TraceCheckUtils]: 18: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-02-20 17:30:00,546 INFO L290 TraceCheckUtils]: 17: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-02-20 17:30:00,546 INFO L272 TraceCheckUtils]: 16: Hoare triple {2164#(< ~counter~0 5)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2017#true} is VALID [2022-02-20 17:30:00,547 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2017#true} {2164#(< ~counter~0 5)} #76#return; {2164#(< ~counter~0 5)} is VALID [2022-02-20 17:30:00,547 INFO L290 TraceCheckUtils]: 14: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-02-20 17:30:00,547 INFO L290 TraceCheckUtils]: 13: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-02-20 17:30:00,547 INFO L290 TraceCheckUtils]: 12: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-02-20 17:30:00,547 INFO L272 TraceCheckUtils]: 11: Hoare triple {2164#(< ~counter~0 5)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2017#true} is VALID [2022-02-20 17:30:00,548 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2017#true} {2164#(< ~counter~0 5)} #74#return; {2164#(< ~counter~0 5)} is VALID [2022-02-20 17:30:00,548 INFO L290 TraceCheckUtils]: 9: Hoare triple {2017#true} assume true; {2017#true} is VALID [2022-02-20 17:30:00,548 INFO L290 TraceCheckUtils]: 8: Hoare triple {2017#true} assume !(0 == ~cond); {2017#true} is VALID [2022-02-20 17:30:00,548 INFO L290 TraceCheckUtils]: 7: Hoare triple {2017#true} ~cond := #in~cond; {2017#true} is VALID [2022-02-20 17:30:00,549 INFO L272 TraceCheckUtils]: 6: Hoare triple {2164#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2017#true} is VALID [2022-02-20 17:30:00,549 INFO L290 TraceCheckUtils]: 5: Hoare triple {2164#(< ~counter~0 5)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {2164#(< ~counter~0 5)} is VALID [2022-02-20 17:30:00,549 INFO L290 TraceCheckUtils]: 4: Hoare triple {2219#(< ~counter~0 4)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {2164#(< ~counter~0 5)} is VALID [2022-02-20 17:30:00,550 INFO L290 TraceCheckUtils]: 3: Hoare triple {2219#(< ~counter~0 4)} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {2219#(< ~counter~0 4)} is VALID [2022-02-20 17:30:00,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {2219#(< ~counter~0 4)} assume !(0 == assume_abort_if_not_~cond#1); {2219#(< ~counter~0 4)} is VALID [2022-02-20 17:30:00,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {2219#(< ~counter~0 4)} 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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2219#(< ~counter~0 4)} is VALID [2022-02-20 17:30:00,551 INFO L290 TraceCheckUtils]: 0: Hoare triple {2017#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2219#(< ~counter~0 4)} is VALID [2022-02-20 17:30:00,551 INFO L134 CoverageAnalysis]: Checked inductivity of 34 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:30:00,551 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:30:00,552 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [438355723] [2022-02-20 17:30:00,552 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:30:00,552 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [737917031] [2022-02-20 17:30:00,552 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [737917031] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:30:00,552 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:30:00,552 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5] total 8 [2022-02-20 17:30:00,552 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [136772793] [2022-02-20 17:30:00,552 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:30:00,553 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 35 [2022-02-20 17:30:00,553 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:30:00,553 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:30:00,585 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:30:00,586 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:30:00,586 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:30:00,586 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:30:00,586 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:30:00,586 INFO L87 Difference]: Start difference. First operand 70 states and 84 transitions. Second operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:30:01,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:01,035 INFO L93 Difference]: Finished difference Result 163 states and 196 transitions. [2022-02-20 17:30:01,035 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 17:30:01,036 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 35 [2022-02-20 17:30:01,036 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:30:01,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:30:01,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 112 transitions. [2022-02-20 17:30:01,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:30:01,039 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 112 transitions. [2022-02-20 17:30:01,039 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 112 transitions. [2022-02-20 17:30:01,115 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:30:01,117 INFO L225 Difference]: With dead ends: 163 [2022-02-20 17:30:01,117 INFO L226 Difference]: Without dead ends: 127 [2022-02-20 17:30:01,118 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 62 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:30:01,118 INFO L933 BasicCegarLoop]: 43 mSDtfsCounter, 42 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 156 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:30:01,118 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 156 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:30:01,119 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2022-02-20 17:30:01,162 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 120. [2022-02-20 17:30:01,162 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:30:01,162 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand has 120 states, 78 states have (on average 1.1538461538461537) internal successors, (90), 83 states have internal predecessors, (90), 26 states have call successors, (26), 16 states have call predecessors, (26), 15 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:30:01,163 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand has 120 states, 78 states have (on average 1.1538461538461537) internal successors, (90), 83 states have internal predecessors, (90), 26 states have call successors, (26), 16 states have call predecessors, (26), 15 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:30:01,163 INFO L87 Difference]: Start difference. First operand 127 states. Second operand has 120 states, 78 states have (on average 1.1538461538461537) internal successors, (90), 83 states have internal predecessors, (90), 26 states have call successors, (26), 16 states have call predecessors, (26), 15 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:30:01,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:01,166 INFO L93 Difference]: Finished difference Result 127 states and 146 transitions. [2022-02-20 17:30:01,166 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 146 transitions. [2022-02-20 17:30:01,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:30:01,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:30:01,166 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 78 states have (on average 1.1538461538461537) internal successors, (90), 83 states have internal predecessors, (90), 26 states have call successors, (26), 16 states have call predecessors, (26), 15 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) Second operand 127 states. [2022-02-20 17:30:01,167 INFO L87 Difference]: Start difference. First operand has 120 states, 78 states have (on average 1.1538461538461537) internal successors, (90), 83 states have internal predecessors, (90), 26 states have call successors, (26), 16 states have call predecessors, (26), 15 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) Second operand 127 states. [2022-02-20 17:30:01,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:01,169 INFO L93 Difference]: Finished difference Result 127 states and 146 transitions. [2022-02-20 17:30:01,169 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 146 transitions. [2022-02-20 17:30:01,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:30:01,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:30:01,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:30:01,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:30:01,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 78 states have (on average 1.1538461538461537) internal successors, (90), 83 states have internal predecessors, (90), 26 states have call successors, (26), 16 states have call predecessors, (26), 15 states have return successors, (23), 20 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:30:01,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 139 transitions. [2022-02-20 17:30:01,173 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 139 transitions. Word has length 35 [2022-02-20 17:30:01,173 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:30:01,173 INFO L470 AbstractCegarLoop]: Abstraction has 120 states and 139 transitions. [2022-02-20 17:30:01,174 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (9), 3 states have call predecessors, (9), 3 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:30:01,174 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 139 transitions. [2022-02-20 17:30:01,174 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 17:30:01,174 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:30:01,174 INFO L514 BasicCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:30:01,191 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:30:01,391 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:30:01,391 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:30:01,391 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:30:01,392 INFO L85 PathProgramCache]: Analyzing trace with hash -785132454, now seen corresponding path program 1 times [2022-02-20 17:30:01,392 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:30:01,392 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1453632193] [2022-02-20 17:30:01,392 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:01,392 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:30:01,406 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:30:01,406 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [589069279] [2022-02-20 17:30:01,407 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:01,407 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:30:01,407 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:30:01,408 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:30:01,409 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-02-20 17:30:01,442 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:01,443 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 17:30:01,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:01,474 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:30:01,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {2881#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2886#(<= ~counter~0 0)} is VALID [2022-02-20 17:30:01,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {2886#(<= ~counter~0 0)} 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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2886#(<= ~counter~0 0)} is VALID [2022-02-20 17:30:01,695 INFO L290 TraceCheckUtils]: 2: Hoare triple {2886#(<= ~counter~0 0)} assume !(0 == assume_abort_if_not_~cond#1); {2886#(<= ~counter~0 0)} is VALID [2022-02-20 17:30:01,695 INFO L290 TraceCheckUtils]: 3: Hoare triple {2886#(<= ~counter~0 0)} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {2886#(<= ~counter~0 0)} is VALID [2022-02-20 17:30:01,696 INFO L290 TraceCheckUtils]: 4: Hoare triple {2886#(<= ~counter~0 0)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {2899#(<= ~counter~0 1)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,697 INFO L272 TraceCheckUtils]: 6: Hoare triple {2899#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {2899#(<= ~counter~0 1)} ~cond := #in~cond; {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {2899#(<= ~counter~0 1)} assume !(0 == ~cond); {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {2899#(<= ~counter~0 1)} assume true; {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,698 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2899#(<= ~counter~0 1)} {2899#(<= ~counter~0 1)} #74#return; {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,698 INFO L272 TraceCheckUtils]: 11: Hoare triple {2899#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,699 INFO L290 TraceCheckUtils]: 12: Hoare triple {2899#(<= ~counter~0 1)} ~cond := #in~cond; {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,699 INFO L290 TraceCheckUtils]: 13: Hoare triple {2899#(<= ~counter~0 1)} assume !(0 == ~cond); {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,700 INFO L290 TraceCheckUtils]: 14: Hoare triple {2899#(<= ~counter~0 1)} assume true; {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,700 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2899#(<= ~counter~0 1)} {2899#(<= ~counter~0 1)} #76#return; {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,701 INFO L272 TraceCheckUtils]: 16: Hoare triple {2899#(<= ~counter~0 1)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,701 INFO L290 TraceCheckUtils]: 17: Hoare triple {2899#(<= ~counter~0 1)} ~cond := #in~cond; {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,701 INFO L290 TraceCheckUtils]: 18: Hoare triple {2899#(<= ~counter~0 1)} assume !(0 == ~cond); {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,702 INFO L290 TraceCheckUtils]: 19: Hoare triple {2899#(<= ~counter~0 1)} assume true; {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,702 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {2899#(<= ~counter~0 1)} {2899#(<= ~counter~0 1)} #78#return; {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,702 INFO L290 TraceCheckUtils]: 21: Hoare triple {2899#(<= ~counter~0 1)} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {2899#(<= ~counter~0 1)} is VALID [2022-02-20 17:30:01,703 INFO L290 TraceCheckUtils]: 22: Hoare triple {2899#(<= ~counter~0 1)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,703 INFO L290 TraceCheckUtils]: 23: Hoare triple {2954#(<= ~counter~0 2)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,704 INFO L272 TraceCheckUtils]: 24: Hoare triple {2954#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,704 INFO L290 TraceCheckUtils]: 25: Hoare triple {2954#(<= ~counter~0 2)} ~cond := #in~cond; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,704 INFO L290 TraceCheckUtils]: 26: Hoare triple {2954#(<= ~counter~0 2)} assume !(0 == ~cond); {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,704 INFO L290 TraceCheckUtils]: 27: Hoare triple {2954#(<= ~counter~0 2)} assume true; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,705 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2954#(<= ~counter~0 2)} {2954#(<= ~counter~0 2)} #74#return; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,705 INFO L272 TraceCheckUtils]: 29: Hoare triple {2954#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,706 INFO L290 TraceCheckUtils]: 30: Hoare triple {2954#(<= ~counter~0 2)} ~cond := #in~cond; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,706 INFO L290 TraceCheckUtils]: 31: Hoare triple {2954#(<= ~counter~0 2)} assume !(0 == ~cond); {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,706 INFO L290 TraceCheckUtils]: 32: Hoare triple {2954#(<= ~counter~0 2)} assume true; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,709 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2954#(<= ~counter~0 2)} {2954#(<= ~counter~0 2)} #76#return; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,711 INFO L272 TraceCheckUtils]: 34: Hoare triple {2954#(<= ~counter~0 2)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,712 INFO L290 TraceCheckUtils]: 35: Hoare triple {2954#(<= ~counter~0 2)} ~cond := #in~cond; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,713 INFO L290 TraceCheckUtils]: 36: Hoare triple {2954#(<= ~counter~0 2)} assume !(0 == ~cond); {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,713 INFO L290 TraceCheckUtils]: 37: Hoare triple {2954#(<= ~counter~0 2)} assume true; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,715 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2954#(<= ~counter~0 2)} {2954#(<= ~counter~0 2)} #78#return; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,716 INFO L290 TraceCheckUtils]: 39: Hoare triple {2954#(<= ~counter~0 2)} assume !(main_~r~0#1 >= main_~d~0#1); {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,716 INFO L290 TraceCheckUtils]: 40: Hoare triple {2954#(<= ~counter~0 2)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {3009#(<= |ULTIMATE.start_main_#t~post7#1| 2)} is VALID [2022-02-20 17:30:01,716 INFO L290 TraceCheckUtils]: 41: Hoare triple {3009#(<= |ULTIMATE.start_main_#t~post7#1| 2)} assume !(main_#t~post7#1 < 5);havoc main_#t~post7#1; {2882#false} is VALID [2022-02-20 17:30:01,717 INFO L272 TraceCheckUtils]: 42: Hoare triple {2882#false} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {2882#false} is VALID [2022-02-20 17:30:01,717 INFO L290 TraceCheckUtils]: 43: Hoare triple {2882#false} ~cond := #in~cond; {2882#false} is VALID [2022-02-20 17:30:01,717 INFO L290 TraceCheckUtils]: 44: Hoare triple {2882#false} assume !(0 == ~cond); {2882#false} is VALID [2022-02-20 17:30:01,717 INFO L290 TraceCheckUtils]: 45: Hoare triple {2882#false} assume true; {2882#false} is VALID [2022-02-20 17:30:01,717 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2882#false} {2882#false} #84#return; {2882#false} is VALID [2022-02-20 17:30:01,717 INFO L272 TraceCheckUtils]: 47: Hoare triple {2882#false} call __VERIFIER_assert((if main_~B~0#1 % 4294967296 == main_~d~0#1 then 1 else 0)); {2882#false} is VALID [2022-02-20 17:30:01,717 INFO L290 TraceCheckUtils]: 48: Hoare triple {2882#false} ~cond := #in~cond; {2882#false} is VALID [2022-02-20 17:30:01,717 INFO L290 TraceCheckUtils]: 49: Hoare triple {2882#false} assume 0 == ~cond; {2882#false} is VALID [2022-02-20 17:30:01,717 INFO L290 TraceCheckUtils]: 50: Hoare triple {2882#false} assume !false; {2882#false} is VALID [2022-02-20 17:30:01,717 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 36 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-02-20 17:30:01,718 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:30:01,941 INFO L290 TraceCheckUtils]: 50: Hoare triple {2882#false} assume !false; {2882#false} is VALID [2022-02-20 17:30:01,942 INFO L290 TraceCheckUtils]: 49: Hoare triple {2882#false} assume 0 == ~cond; {2882#false} is VALID [2022-02-20 17:30:01,942 INFO L290 TraceCheckUtils]: 48: Hoare triple {2882#false} ~cond := #in~cond; {2882#false} is VALID [2022-02-20 17:30:01,942 INFO L272 TraceCheckUtils]: 47: Hoare triple {2882#false} call __VERIFIER_assert((if main_~B~0#1 % 4294967296 == main_~d~0#1 then 1 else 0)); {2882#false} is VALID [2022-02-20 17:30:01,942 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2881#true} {2882#false} #84#return; {2882#false} is VALID [2022-02-20 17:30:01,942 INFO L290 TraceCheckUtils]: 45: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-02-20 17:30:01,942 INFO L290 TraceCheckUtils]: 44: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-02-20 17:30:01,942 INFO L290 TraceCheckUtils]: 43: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-02-20 17:30:01,943 INFO L272 TraceCheckUtils]: 42: Hoare triple {2882#false} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~d~0#1 * main_~q~0#1 + main_~r~0#1 then 1 else 0)); {2881#true} is VALID [2022-02-20 17:30:01,943 INFO L290 TraceCheckUtils]: 41: Hoare triple {3067#(< |ULTIMATE.start_main_#t~post7#1| 5)} assume !(main_#t~post7#1 < 5);havoc main_#t~post7#1; {2882#false} is VALID [2022-02-20 17:30:01,943 INFO L290 TraceCheckUtils]: 40: Hoare triple {3071#(< ~counter~0 5)} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {3067#(< |ULTIMATE.start_main_#t~post7#1| 5)} is VALID [2022-02-20 17:30:01,944 INFO L290 TraceCheckUtils]: 39: Hoare triple {3071#(< ~counter~0 5)} assume !(main_~r~0#1 >= main_~d~0#1); {3071#(< ~counter~0 5)} is VALID [2022-02-20 17:30:01,944 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2881#true} {3071#(< ~counter~0 5)} #78#return; {3071#(< ~counter~0 5)} is VALID [2022-02-20 17:30:01,944 INFO L290 TraceCheckUtils]: 37: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-02-20 17:30:01,944 INFO L290 TraceCheckUtils]: 36: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-02-20 17:30:01,944 INFO L290 TraceCheckUtils]: 35: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-02-20 17:30:01,945 INFO L272 TraceCheckUtils]: 34: Hoare triple {3071#(< ~counter~0 5)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2881#true} is VALID [2022-02-20 17:30:01,946 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2881#true} {3071#(< ~counter~0 5)} #76#return; {3071#(< ~counter~0 5)} is VALID [2022-02-20 17:30:01,946 INFO L290 TraceCheckUtils]: 32: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-02-20 17:30:01,946 INFO L290 TraceCheckUtils]: 31: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-02-20 17:30:01,946 INFO L290 TraceCheckUtils]: 30: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-02-20 17:30:01,946 INFO L272 TraceCheckUtils]: 29: Hoare triple {3071#(< ~counter~0 5)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2881#true} is VALID [2022-02-20 17:30:01,947 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2881#true} {3071#(< ~counter~0 5)} #74#return; {3071#(< ~counter~0 5)} is VALID [2022-02-20 17:30:01,947 INFO L290 TraceCheckUtils]: 27: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-02-20 17:30:01,947 INFO L290 TraceCheckUtils]: 26: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-02-20 17:30:01,947 INFO L290 TraceCheckUtils]: 25: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-02-20 17:30:01,947 INFO L272 TraceCheckUtils]: 24: Hoare triple {3071#(< ~counter~0 5)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2881#true} is VALID [2022-02-20 17:30:01,947 INFO L290 TraceCheckUtils]: 23: Hoare triple {3071#(< ~counter~0 5)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {3071#(< ~counter~0 5)} is VALID [2022-02-20 17:30:01,948 INFO L290 TraceCheckUtils]: 22: Hoare triple {3126#(< ~counter~0 4)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {3071#(< ~counter~0 5)} is VALID [2022-02-20 17:30:01,948 INFO L290 TraceCheckUtils]: 21: Hoare triple {3126#(< ~counter~0 4)} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {3126#(< ~counter~0 4)} is VALID [2022-02-20 17:30:01,949 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {2881#true} {3126#(< ~counter~0 4)} #78#return; {3126#(< ~counter~0 4)} is VALID [2022-02-20 17:30:01,949 INFO L290 TraceCheckUtils]: 19: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-02-20 17:30:01,949 INFO L290 TraceCheckUtils]: 18: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-02-20 17:30:01,949 INFO L290 TraceCheckUtils]: 17: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-02-20 17:30:01,949 INFO L272 TraceCheckUtils]: 16: Hoare triple {3126#(< ~counter~0 4)} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {2881#true} is VALID [2022-02-20 17:30:01,950 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2881#true} {3126#(< ~counter~0 4)} #76#return; {3126#(< ~counter~0 4)} is VALID [2022-02-20 17:30:01,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-02-20 17:30:01,950 INFO L290 TraceCheckUtils]: 13: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-02-20 17:30:01,950 INFO L290 TraceCheckUtils]: 12: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-02-20 17:30:01,950 INFO L272 TraceCheckUtils]: 11: Hoare triple {3126#(< ~counter~0 4)} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {2881#true} is VALID [2022-02-20 17:30:01,955 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2881#true} {3126#(< ~counter~0 4)} #74#return; {3126#(< ~counter~0 4)} is VALID [2022-02-20 17:30:01,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {2881#true} assume true; {2881#true} is VALID [2022-02-20 17:30:01,956 INFO L290 TraceCheckUtils]: 8: Hoare triple {2881#true} assume !(0 == ~cond); {2881#true} is VALID [2022-02-20 17:30:01,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {2881#true} ~cond := #in~cond; {2881#true} is VALID [2022-02-20 17:30:01,956 INFO L272 TraceCheckUtils]: 6: Hoare triple {3126#(< ~counter~0 4)} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {2881#true} is VALID [2022-02-20 17:30:01,956 INFO L290 TraceCheckUtils]: 5: Hoare triple {3126#(< ~counter~0 4)} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {3126#(< ~counter~0 4)} is VALID [2022-02-20 17:30:01,956 INFO L290 TraceCheckUtils]: 4: Hoare triple {2954#(<= ~counter~0 2)} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {3126#(< ~counter~0 4)} is VALID [2022-02-20 17:30:01,957 INFO L290 TraceCheckUtils]: 3: Hoare triple {2954#(<= ~counter~0 2)} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,957 INFO L290 TraceCheckUtils]: 2: Hoare triple {2954#(<= ~counter~0 2)} assume !(0 == assume_abort_if_not_~cond#1); {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,957 INFO L290 TraceCheckUtils]: 1: Hoare triple {2954#(<= ~counter~0 2)} 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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,958 INFO L290 TraceCheckUtils]: 0: Hoare triple {2881#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2954#(<= ~counter~0 2)} is VALID [2022-02-20 17:30:01,958 INFO L134 CoverageAnalysis]: Checked inductivity of 104 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-02-20 17:30:01,958 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:30:01,958 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1453632193] [2022-02-20 17:30:01,958 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:30:01,958 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [589069279] [2022-02-20 17:30:01,958 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [589069279] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:30:01,958 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:30:01,958 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 6] total 9 [2022-02-20 17:30:01,958 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [47510451] [2022-02-20 17:30:01,958 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:30:01,961 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 9 states have internal predecessors, (38), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 51 [2022-02-20 17:30:01,962 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:30:01,962 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 9 states have internal predecessors, (38), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-02-20 17:30:02,007 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:30:02,007 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:30:02,007 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:30:02,008 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:30:02,008 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:30:02,008 INFO L87 Difference]: Start difference. First operand 120 states and 139 transitions. Second operand has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 9 states have internal predecessors, (38), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-02-20 17:30:02,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:02,469 INFO L93 Difference]: Finished difference Result 189 states and 222 transitions. [2022-02-20 17:30:02,469 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 17:30:02,470 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 9 states have internal predecessors, (38), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 51 [2022-02-20 17:30:02,470 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:30:02,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 9 states have internal predecessors, (38), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-02-20 17:30:02,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 121 transitions. [2022-02-20 17:30:02,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 9 states have internal predecessors, (38), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-02-20 17:30:02,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 121 transitions. [2022-02-20 17:30:02,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 121 transitions. [2022-02-20 17:30:02,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:30:02,569 INFO L225 Difference]: With dead ends: 189 [2022-02-20 17:30:02,569 INFO L226 Difference]: Without dead ends: 168 [2022-02-20 17:30:02,569 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 92 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:30:02,570 INFO L933 BasicCegarLoop]: 48 mSDtfsCounter, 48 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 66 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 215 SdHoareTripleChecker+Invalid, 78 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 66 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:30:02,570 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [48 Valid, 215 Invalid, 78 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:30:02,570 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 168 states. [2022-02-20 17:30:02,662 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 168 to 165. [2022-02-20 17:30:02,663 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:30:02,663 INFO L82 GeneralOperation]: Start isEquivalent. First operand 168 states. Second operand has 165 states, 110 states have (on average 1.1545454545454545) internal successors, (127), 116 states have internal predecessors, (127), 34 states have call successors, (34), 20 states have call predecessors, (34), 20 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:30:02,663 INFO L74 IsIncluded]: Start isIncluded. First operand 168 states. Second operand has 165 states, 110 states have (on average 1.1545454545454545) internal successors, (127), 116 states have internal predecessors, (127), 34 states have call successors, (34), 20 states have call predecessors, (34), 20 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:30:02,665 INFO L87 Difference]: Start difference. First operand 168 states. Second operand has 165 states, 110 states have (on average 1.1545454545454545) internal successors, (127), 116 states have internal predecessors, (127), 34 states have call successors, (34), 20 states have call predecessors, (34), 20 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:30:02,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:02,669 INFO L93 Difference]: Finished difference Result 168 states and 194 transitions. [2022-02-20 17:30:02,669 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 194 transitions. [2022-02-20 17:30:02,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:30:02,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:30:02,670 INFO L74 IsIncluded]: Start isIncluded. First operand has 165 states, 110 states have (on average 1.1545454545454545) internal successors, (127), 116 states have internal predecessors, (127), 34 states have call successors, (34), 20 states have call predecessors, (34), 20 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 168 states. [2022-02-20 17:30:02,671 INFO L87 Difference]: Start difference. First operand has 165 states, 110 states have (on average 1.1545454545454545) internal successors, (127), 116 states have internal predecessors, (127), 34 states have call successors, (34), 20 states have call predecessors, (34), 20 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 168 states. [2022-02-20 17:30:02,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:30:02,674 INFO L93 Difference]: Finished difference Result 168 states and 194 transitions. [2022-02-20 17:30:02,674 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 194 transitions. [2022-02-20 17:30:02,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:30:02,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:30:02,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:30:02,675 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:30:02,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 165 states, 110 states have (on average 1.1545454545454545) internal successors, (127), 116 states have internal predecessors, (127), 34 states have call successors, (34), 20 states have call predecessors, (34), 20 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-02-20 17:30:02,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 165 states to 165 states and 192 transitions. [2022-02-20 17:30:02,678 INFO L78 Accepts]: Start accepts. Automaton has 165 states and 192 transitions. Word has length 51 [2022-02-20 17:30:02,678 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:30:02,678 INFO L470 AbstractCegarLoop]: Abstraction has 165 states and 192 transitions. [2022-02-20 17:30:02,678 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 4.222222222222222) internal successors, (38), 9 states have internal predecessors, (38), 5 states have call successors, (15), 4 states have call predecessors, (15), 4 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-02-20 17:30:02,678 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 192 transitions. [2022-02-20 17:30:02,683 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-02-20 17:30:02,683 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:30:02,683 INFO L514 BasicCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:30:02,701 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-02-20 17:30:02,883 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:30:02,884 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:30:02,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:30:02,884 INFO L85 PathProgramCache]: Analyzing trace with hash 98519191, now seen corresponding path program 1 times [2022-02-20 17:30:02,884 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:30:02,884 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1610373655] [2022-02-20 17:30:02,884 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:02,884 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:30:02,899 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:30:02,899 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [409157479] [2022-02-20 17:30:02,899 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:30:02,899 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:30:02,900 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:30:02,900 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:30:02,901 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-02-20 17:30:02,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:02,938 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 29 conjunts are in the unsatisfiable core [2022-02-20 17:30:02,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:30:02,955 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:30:08,169 INFO L290 TraceCheckUtils]: 0: Hoare triple {4014#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4014#true} is VALID [2022-02-20 17:30:08,169 INFO L290 TraceCheckUtils]: 1: Hoare triple {4014#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_#t~post6#1, main_#t~post7#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;main_~B~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1;assume { :begin_inline_assume_abort_if_not } true;assume_abort_if_not_#in~cond#1 := (if main_~B~0#1 % 4294967296 >= 1 then 1 else 0);havoc assume_abort_if_not_~cond#1;assume_abort_if_not_~cond#1 := assume_abort_if_not_#in~cond#1; {4014#true} is VALID [2022-02-20 17:30:08,169 INFO L290 TraceCheckUtils]: 2: Hoare triple {4014#true} assume !(0 == assume_abort_if_not_~cond#1); {4014#true} is VALID [2022-02-20 17:30:08,170 INFO L290 TraceCheckUtils]: 3: Hoare triple {4014#true} assume { :end_inline_assume_abort_if_not } true;main_~r~0#1 := main_~A~0#1 % 4294967296;main_~d~0#1 := main_~B~0#1 % 4294967296;main_~p~0#1 := 1;main_~q~0#1 := 0; {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:08,170 INFO L290 TraceCheckUtils]: 4: Hoare triple {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:08,171 INFO L290 TraceCheckUtils]: 5: Hoare triple {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:08,171 INFO L272 TraceCheckUtils]: 6: Hoare triple {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {4014#true} is VALID [2022-02-20 17:30:08,171 INFO L290 TraceCheckUtils]: 7: Hoare triple {4014#true} ~cond := #in~cond; {4014#true} is VALID [2022-02-20 17:30:08,171 INFO L290 TraceCheckUtils]: 8: Hoare triple {4014#true} assume !(0 == ~cond); {4014#true} is VALID [2022-02-20 17:30:08,171 INFO L290 TraceCheckUtils]: 9: Hoare triple {4014#true} assume true; {4014#true} is VALID [2022-02-20 17:30:08,172 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4014#true} {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #74#return; {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:08,172 INFO L272 TraceCheckUtils]: 11: Hoare triple {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {4014#true} is VALID [2022-02-20 17:30:08,172 INFO L290 TraceCheckUtils]: 12: Hoare triple {4014#true} ~cond := #in~cond; {4014#true} is VALID [2022-02-20 17:30:08,172 INFO L290 TraceCheckUtils]: 13: Hoare triple {4014#true} assume !(0 == ~cond); {4014#true} is VALID [2022-02-20 17:30:08,172 INFO L290 TraceCheckUtils]: 14: Hoare triple {4014#true} assume true; {4014#true} is VALID [2022-02-20 17:30:08,172 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4014#true} {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #76#return; {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:08,173 INFO L272 TraceCheckUtils]: 16: Hoare triple {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {4014#true} is VALID [2022-02-20 17:30:08,173 INFO L290 TraceCheckUtils]: 17: Hoare triple {4014#true} ~cond := #in~cond; {4014#true} is VALID [2022-02-20 17:30:08,173 INFO L290 TraceCheckUtils]: 18: Hoare triple {4014#true} assume !(0 == ~cond); {4014#true} is VALID [2022-02-20 17:30:08,173 INFO L290 TraceCheckUtils]: 19: Hoare triple {4014#true} assume true; {4014#true} is VALID [2022-02-20 17:30:08,173 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {4014#true} {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} #78#return; {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:08,174 INFO L290 TraceCheckUtils]: 21: Hoare triple {4028#(and (<= |ULTIMATE.start_main_~d~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !!(main_~r~0#1 >= main_~d~0#1);main_~d~0#1 := 2 * main_~d~0#1;main_~p~0#1 := 2 * main_~p~0#1; {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} is VALID [2022-02-20 17:30:08,175 INFO L290 TraceCheckUtils]: 22: Hoare triple {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} main_#t~post6#1 := ~counter~0;~counter~0 := 1 + main_#t~post6#1; {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} is VALID [2022-02-20 17:30:08,176 INFO L290 TraceCheckUtils]: 23: Hoare triple {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} assume !!(main_#t~post6#1 < 5);havoc main_#t~post6#1; {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} is VALID [2022-02-20 17:30:08,176 INFO L272 TraceCheckUtils]: 24: Hoare triple {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} call __VERIFIER_assert((if 0 == main_~q~0#1 then 1 else 0)); {4014#true} is VALID [2022-02-20 17:30:08,176 INFO L290 TraceCheckUtils]: 25: Hoare triple {4014#true} ~cond := #in~cond; {4014#true} is VALID [2022-02-20 17:30:08,176 INFO L290 TraceCheckUtils]: 26: Hoare triple {4014#true} assume !(0 == ~cond); {4014#true} is VALID [2022-02-20 17:30:08,176 INFO L290 TraceCheckUtils]: 27: Hoare triple {4014#true} assume true; {4014#true} is VALID [2022-02-20 17:30:08,177 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4014#true} {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} #74#return; {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} is VALID [2022-02-20 17:30:08,177 INFO L272 TraceCheckUtils]: 29: Hoare triple {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} call __VERIFIER_assert((if main_~r~0#1 == main_~A~0#1 % 4294967296 then 1 else 0)); {4014#true} is VALID [2022-02-20 17:30:08,177 INFO L290 TraceCheckUtils]: 30: Hoare triple {4014#true} ~cond := #in~cond; {4014#true} is VALID [2022-02-20 17:30:08,177 INFO L290 TraceCheckUtils]: 31: Hoare triple {4014#true} assume !(0 == ~cond); {4014#true} is VALID [2022-02-20 17:30:08,177 INFO L290 TraceCheckUtils]: 32: Hoare triple {4014#true} assume true; {4014#true} is VALID [2022-02-20 17:30:08,187 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4014#true} {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} #76#return; {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} is VALID [2022-02-20 17:30:08,187 INFO L272 TraceCheckUtils]: 34: Hoare triple {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {4014#true} is VALID [2022-02-20 17:30:08,187 INFO L290 TraceCheckUtils]: 35: Hoare triple {4014#true} ~cond := #in~cond; {4014#true} is VALID [2022-02-20 17:30:08,187 INFO L290 TraceCheckUtils]: 36: Hoare triple {4014#true} assume !(0 == ~cond); {4014#true} is VALID [2022-02-20 17:30:08,187 INFO L290 TraceCheckUtils]: 37: Hoare triple {4014#true} assume true; {4014#true} is VALID [2022-02-20 17:30:08,188 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4014#true} {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} #78#return; {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} is VALID [2022-02-20 17:30:08,188 INFO L290 TraceCheckUtils]: 39: Hoare triple {4083#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} assume !(main_~r~0#1 >= main_~d~0#1); {4138#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} is VALID [2022-02-20 17:30:08,189 INFO L290 TraceCheckUtils]: 40: Hoare triple {4138#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {4138#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} is VALID [2022-02-20 17:30:08,189 INFO L290 TraceCheckUtils]: 41: Hoare triple {4138#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} assume !!(main_#t~post7#1 < 5);havoc main_#t~post7#1; {4138#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} is VALID [2022-02-20 17:30:08,189 INFO L272 TraceCheckUtils]: 42: Hoare triple {4138#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {4014#true} is VALID [2022-02-20 17:30:08,189 INFO L290 TraceCheckUtils]: 43: Hoare triple {4014#true} ~cond := #in~cond; {4014#true} is VALID [2022-02-20 17:30:08,189 INFO L290 TraceCheckUtils]: 44: Hoare triple {4014#true} assume !(0 == ~cond); {4014#true} is VALID [2022-02-20 17:30:08,190 INFO L290 TraceCheckUtils]: 45: Hoare triple {4014#true} assume true; {4014#true} is VALID [2022-02-20 17:30:08,190 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4014#true} {4138#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} #80#return; {4138#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} is VALID [2022-02-20 17:30:08,190 INFO L272 TraceCheckUtils]: 47: Hoare triple {4138#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} call __VERIFIER_assert((if main_~d~0#1 == main_~B~0#1 % 4294967296 * main_~p~0#1 then 1 else 0)); {4014#true} is VALID [2022-02-20 17:30:08,190 INFO L290 TraceCheckUtils]: 48: Hoare triple {4014#true} ~cond := #in~cond; {4166#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:08,191 INFO L290 TraceCheckUtils]: 49: Hoare triple {4166#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4170#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:30:08,191 INFO L290 TraceCheckUtils]: 50: Hoare triple {4170#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4170#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:30:08,192 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4170#(not (= |__VERIFIER_assert_#in~cond| 0))} {4138#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (not (<= |ULTIMATE.start_main_~d~0#1| |ULTIMATE.start_main_~r~0#1|)) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) (= (mod |ULTIMATE.start_main_~d~0#1| 2) 0))} #82#return; {4177#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:08,193 INFO L290 TraceCheckUtils]: 52: Hoare triple {4177#(and (<= (div (* (- 1) |ULTIMATE.start_main_~d~0#1|) (- 2)) |ULTIMATE.start_main_~r~0#1|) (= 2 |ULTIMATE.start_main_~p~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~d~0#1|) (= (* |ULTIMATE.start_main_~p~0#1| (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) |ULTIMATE.start_main_~d~0#1|) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume !!(1 != main_~p~0#1);main_~d~0#1 := (if main_~d~0#1 < 0 && 0 != main_~d~0#1 % 2 then 1 + main_~d~0#1 / 2 else main_~d~0#1 / 2);main_~p~0#1 := (if main_~p~0#1 < 0 && 0 != main_~p~0#1 % 2 then 1 + main_~p~0#1 / 2 else main_~p~0#1 / 2); {4181#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~d~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} is VALID [2022-02-20 17:30:08,194 INFO L290 TraceCheckUtils]: 53: Hoare triple {4181#(and (= |ULTIMATE.start_main_~p~0#1| 1) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) |ULTIMATE.start_main_~r~0#1|) (= |ULTIMATE.start_main_~d~0#1| (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2)) (= |ULTIMATE.start_main_~q~0#1| 0) (< |ULTIMATE.start_main_~r~0#1| (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (= |ULTIMATE.start_main_~r~0#1| (mod |ULTIMATE.start_main_~A~0#1| 4294967296)))} assume main_~r~0#1 >= main_~d~0#1;main_~r~0#1 := main_~r~0#1 - main_~d~0#1;main_~q~0#1 := main_~q~0#1 + main_~p~0#1; {4185#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2)) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (+ (- 1) |ULTIMATE.start_main_~q~0#1|) 0))} is VALID [2022-02-20 17:30:08,195 INFO L290 TraceCheckUtils]: 54: Hoare triple {4185#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2)) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (+ (- 1) |ULTIMATE.start_main_~q~0#1|) 0))} main_#t~post7#1 := ~counter~0;~counter~0 := 1 + main_#t~post7#1; {4185#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2)) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (+ (- 1) |ULTIMATE.start_main_~q~0#1|) 0))} is VALID [2022-02-20 17:30:08,195 INFO L290 TraceCheckUtils]: 55: Hoare triple {4185#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2)) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (+ (- 1) |ULTIMATE.start_main_~q~0#1|) 0))} assume !!(main_#t~post7#1 < 5);havoc main_#t~post7#1; {4185#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2)) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (+ (- 1) |ULTIMATE.start_main_~q~0#1|) 0))} is VALID [2022-02-20 17:30:08,198 INFO L272 TraceCheckUtils]: 56: Hoare triple {4185#(and (< (mod |ULTIMATE.start_main_~A~0#1| 4294967296) (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296))) (= |ULTIMATE.start_main_~r~0#1| (+ (* (- 1) (div (* 2 (mod |ULTIMATE.start_main_~B~0#1| 4294967296)) 2)) (mod |ULTIMATE.start_main_~A~0#1| 4294967296))) (<= (mod |ULTIMATE.start_main_~B~0#1| 4294967296) (mod |ULTIMATE.start_main_~A~0#1| 4294967296)) (= (+ (- 1) |ULTIMATE.start_main_~q~0#1|) 0))} call __VERIFIER_assert((if main_~A~0#1 % 4294967296 == main_~q~0#1 * (main_~B~0#1 % 4294967296) + main_~r~0#1 then 1 else 0)); {4195#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:30:08,198 INFO L290 TraceCheckUtils]: 57: Hoare triple {4195#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4199#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:30:08,198 INFO L290 TraceCheckUtils]: 58: Hoare triple {4199#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4015#false} is VALID [2022-02-20 17:30:08,198 INFO L290 TraceCheckUtils]: 59: Hoare triple {4015#false} assume !false; {4015#false} is VALID [2022-02-20 17:30:08,199 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 36 proven. 10 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-02-20 17:30:08,199 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:30:56,654 WARN L228 SmtUtils]: Spent 21.49s on a formula simplification that was a NOOP. DAG size: 53 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)