./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/nla-digbench-scaling/egcd-ll_valuebound10.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/nla-digbench-scaling/egcd-ll_valuebound10.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 3d9847fe213bf8df5d23c53d2bc8b53fb384c85820b87c09591484702dabefc3 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 17:20:49,262 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 17:20:49,272 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 17:20:49,319 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 17:20:49,319 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 17:20:49,323 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 17:20:49,325 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 17:20:49,328 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 17:20:49,330 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 17:20:49,334 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 17:20:49,335 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 17:20:49,336 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 17:20:49,337 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 17:20:49,340 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 17:20:49,341 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 17:20:49,344 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 17:20:49,345 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 17:20:49,346 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 17:20:49,348 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 17:20:49,354 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 17:20:49,355 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 17:20:49,356 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 17:20:49,358 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 17:20:49,359 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 17:20:49,364 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 17:20:49,365 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 17:20:49,365 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 17:20:49,367 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 17:20:49,367 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 17:20:49,368 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 17:20:49,368 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 17:20:49,369 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 17:20:49,371 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 17:20:49,372 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 17:20:49,373 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 17:20:49,374 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 17:20:49,374 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 17:20:49,375 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 17:20:49,375 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 17:20:49,376 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 17:20:49,376 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 17:20:49,378 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:20:49,411 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 17:20:49,411 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 17:20:49,412 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 17:20:49,412 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 17:20:49,413 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 17:20:49,413 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 17:20:49,413 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 17:20:49,414 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 17:20:49,414 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 17:20:49,414 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 17:20:49,415 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 17:20:49,415 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 17:20:49,415 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 17:20:49,415 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 17:20:49,416 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-02-20 17:20:49,416 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 17:20:49,416 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-02-20 17:20:49,416 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 17:20:49,416 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-02-20 17:20:49,416 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 17:20:49,417 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-02-20 17:20:49,417 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 17:20:49,417 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 17:20:49,417 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 17:20:49,417 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:20:49,418 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 17:20:49,418 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 17:20:49,418 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-02-20 17:20:49,418 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 17:20:49,418 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 17:20:49,418 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-02-20 17:20:49,419 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-02-20 17:20:49,419 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-02-20 17:20:49,419 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 -> 3d9847fe213bf8df5d23c53d2bc8b53fb384c85820b87c09591484702dabefc3 [2022-02-20 17:20:49,684 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 17:20:49,719 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 17:20:49,722 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 17:20:49,723 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 17:20:49,724 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 17:20:49,725 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/nla-digbench-scaling/egcd-ll_valuebound10.c [2022-02-20 17:20:49,804 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/16ae523bf/b350e10cdc214b498ee4e1214470bace/FLAGabf112cd0 [2022-02-20 17:20:50,297 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 17:20:50,298 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/nla-digbench-scaling/egcd-ll_valuebound10.c [2022-02-20 17:20:50,308 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/16ae523bf/b350e10cdc214b498ee4e1214470bace/FLAGabf112cd0 [2022-02-20 17:20:50,775 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/16ae523bf/b350e10cdc214b498ee4e1214470bace [2022-02-20 17:20:50,778 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 17:20:50,780 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 17:20:50,784 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 17:20:50,784 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 17:20:50,793 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 17:20:50,795 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:20:50" (1/1) ... [2022-02-20 17:20:50,796 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@60b6f69c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:50, skipping insertion in model container [2022-02-20 17:20:50,796 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 05:20:50" (1/1) ... [2022-02-20 17:20:50,804 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 17:20:50,819 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 17:20:50,999 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/egcd-ll_valuebound10.c[489,502] [2022-02-20 17:20:51,032 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:20:51,049 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 17:20:51,061 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/egcd-ll_valuebound10.c[489,502] [2022-02-20 17:20:51,091 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 17:20:51,104 INFO L208 MainTranslator]: Completed translation [2022-02-20 17:20:51,105 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51 WrapperNode [2022-02-20 17:20:51,105 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 17:20:51,107 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 17:20:51,107 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 17:20:51,107 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 17:20:51,113 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:20:51" (1/1) ... [2022-02-20 17:20:51,120 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:20:51" (1/1) ... [2022-02-20 17:20:51,149 INFO L137 Inliner]: procedures = 14, calls = 18, calls flagged for inlining = 2, calls inlined = 2, statements flattened = 56 [2022-02-20 17:20:51,150 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 17:20:51,151 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 17:20:51,151 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 17:20:51,151 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 17:20:51,159 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51" (1/1) ... [2022-02-20 17:20:51,159 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51" (1/1) ... [2022-02-20 17:20:51,168 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51" (1/1) ... [2022-02-20 17:20:51,169 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51" (1/1) ... [2022-02-20 17:20:51,177 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51" (1/1) ... [2022-02-20 17:20:51,185 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51" (1/1) ... [2022-02-20 17:20:51,186 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51" (1/1) ... [2022-02-20 17:20:51,188 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 17:20:51,191 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 17:20:51,194 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 17:20:51,195 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 17:20:51,196 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51" (1/1) ... [2022-02-20 17:20:51,201 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 17:20:51,211 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:51,229 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:20:51,251 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:20:51,274 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 17:20:51,274 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-02-20 17:20:51,274 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-02-20 17:20:51,274 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 17:20:51,275 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 17:20:51,275 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 17:20:51,275 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-02-20 17:20:51,275 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-02-20 17:20:51,332 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 17:20:51,334 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 17:20:51,545 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 17:20:51,551 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 17:20:51,551 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-02-20 17:20:51,553 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:20:51 BoogieIcfgContainer [2022-02-20 17:20:51,553 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 17:20:51,554 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 17:20:51,555 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 17:20:51,558 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 17:20:51,571 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 05:20:50" (1/3) ... [2022-02-20 17:20:51,572 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6cec95a7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:20:51, skipping insertion in model container [2022-02-20 17:20:51,573 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 05:20:51" (2/3) ... [2022-02-20 17:20:51,573 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6cec95a7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 05:20:51, skipping insertion in model container [2022-02-20 17:20:51,573 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 05:20:51" (3/3) ... [2022-02-20 17:20:51,574 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound10.c [2022-02-20 17:20:51,579 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 17:20:51,580 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-02-20 17:20:51,640 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 17:20:51,645 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:20:51,647 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-02-20 17:20:51,675 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-02-20 17:20:51,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:20:51,680 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:51,681 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:51,682 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:51,686 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:51,686 INFO L85 PathProgramCache]: Analyzing trace with hash 516392259, now seen corresponding path program 1 times [2022-02-20 17:20:51,695 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:51,697 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1301042514] [2022-02-20 17:20:51,697 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:51,698 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:51,786 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:51,838 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 17:20:51,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:51,866 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:51,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:51,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:51,867 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #63#return; {35#true} is VALID [2022-02-20 17:20:51,868 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 8 [2022-02-20 17:20:51,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:51,893 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:51,894 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:51,894 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:51,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #65#return; {35#true} is VALID [2022-02-20 17:20:51,895 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-02-20 17:20:51,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:51,907 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:51,907 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:51,907 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:51,908 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #67#return; {35#true} is VALID [2022-02-20 17:20:51,908 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 18 [2022-02-20 17:20:51,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:51,921 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:51,921 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:51,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:51,922 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-02-20 17:20:51,923 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#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); {35#true} is VALID [2022-02-20 17:20:51,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {35#true} is VALID [2022-02-20 17:20:51,923 INFO L272 TraceCheckUtils]: 2: Hoare triple {35#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 10 then 1 else 0)); {35#true} is VALID [2022-02-20 17:20:51,925 INFO L290 TraceCheckUtils]: 3: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:51,925 INFO L290 TraceCheckUtils]: 4: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:51,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:51,926 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {35#true} {35#true} #63#return; {35#true} is VALID [2022-02-20 17:20:51,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {35#true} is VALID [2022-02-20 17:20:51,927 INFO L272 TraceCheckUtils]: 8: Hoare triple {35#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 10 then 1 else 0)); {35#true} is VALID [2022-02-20 17:20:51,927 INFO L290 TraceCheckUtils]: 9: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:51,927 INFO L290 TraceCheckUtils]: 10: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:51,928 INFO L290 TraceCheckUtils]: 11: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:51,928 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {35#true} {35#true} #65#return; {35#true} is VALID [2022-02-20 17:20:51,928 INFO L272 TraceCheckUtils]: 13: Hoare triple {35#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {35#true} is VALID [2022-02-20 17:20:51,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:51,929 INFO L290 TraceCheckUtils]: 15: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:51,929 INFO L290 TraceCheckUtils]: 16: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:51,930 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {35#true} {35#true} #67#return; {35#true} is VALID [2022-02-20 17:20:51,930 INFO L272 TraceCheckUtils]: 18: Hoare triple {35#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {35#true} is VALID [2022-02-20 17:20:51,930 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-02-20 17:20:51,931 INFO L290 TraceCheckUtils]: 20: Hoare triple {35#true} assume !(0 == ~cond); {35#true} is VALID [2022-02-20 17:20:51,931 INFO L290 TraceCheckUtils]: 21: Hoare triple {35#true} assume true; {35#true} is VALID [2022-02-20 17:20:51,931 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {35#true} {35#true} #69#return; {35#true} is VALID [2022-02-20 17:20:51,932 INFO L290 TraceCheckUtils]: 23: Hoare triple {35#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {35#true} is VALID [2022-02-20 17:20:51,933 INFO L290 TraceCheckUtils]: 24: Hoare triple {35#true} assume !true; {36#false} is VALID [2022-02-20 17:20:51,933 INFO L272 TraceCheckUtils]: 25: Hoare triple {36#false} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {36#false} is VALID [2022-02-20 17:20:51,934 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-02-20 17:20:51,934 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-02-20 17:20:51,936 INFO L290 TraceCheckUtils]: 28: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-02-20 17:20:51,937 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:20:51,938 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:51,938 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1301042514] [2022-02-20 17:20:51,938 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1301042514] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:51,939 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:51,939 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 17:20:51,944 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [531521191] [2022-02-20 17:20:51,945 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:51,950 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-02-20 17:20:51,952 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:51,965 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:52,032 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:52,032 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 2 states [2022-02-20 17:20:52,035 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:52,051 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2022-02-20 17:20:52,052 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2022-02-20 17:20:52,055 INFO L87 Difference]: Start difference. First operand has 32 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:52,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:52,171 INFO L93 Difference]: Finished difference Result 61 states and 99 transitions. [2022-02-20 17:20:52,171 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2022-02-20 17:20:52,171 INFO L78 Accepts]: Start accepts. Automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-02-20 17:20:52,172 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:52,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:52,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 99 transitions. [2022-02-20 17:20:52,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:52,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 99 transitions. [2022-02-20 17:20:52,199 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 99 transitions. [2022-02-20 17:20:52,321 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:52,328 INFO L225 Difference]: With dead ends: 61 [2022-02-20 17:20:52,329 INFO L226 Difference]: Without dead ends: 28 [2022-02-20 17:20:52,332 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 10 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:20:52,334 INFO L933 BasicCegarLoop]: 42 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, 42 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:20:52,335 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [0 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:20:52,349 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-02-20 17:20:52,361 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2022-02-20 17:20:52,362 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:52,362 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:52,363 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:52,364 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:52,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:52,368 INFO L93 Difference]: Finished difference Result 28 states and 38 transitions. [2022-02-20 17:20:52,369 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 38 transitions. [2022-02-20 17:20:52,369 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:52,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:52,370 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 28 states. [2022-02-20 17:20:52,371 INFO L87 Difference]: Start difference. First operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 28 states. [2022-02-20 17:20:52,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:52,374 INFO L93 Difference]: Finished difference Result 28 states and 38 transitions. [2022-02-20 17:20:52,374 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 38 transitions. [2022-02-20 17:20:52,375 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:52,375 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:52,375 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:52,376 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:52,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 11 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-02-20 17:20:52,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 38 transitions. [2022-02-20 17:20:52,380 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 38 transitions. Word has length 29 [2022-02-20 17:20:52,380 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:52,380 INFO L470 AbstractCegarLoop]: Abstraction has 28 states and 38 transitions. [2022-02-20 17:20:52,381 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 2 states, 2 states have (on average 5.5) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:52,381 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 38 transitions. [2022-02-20 17:20:52,382 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 17:20:52,382 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:52,382 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:20:52,382 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 17:20:52,383 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:52,383 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:52,383 INFO L85 PathProgramCache]: Analyzing trace with hash 501437177, now seen corresponding path program 1 times [2022-02-20 17:20:52,384 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:52,384 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2145990396] [2022-02-20 17:20:52,384 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:52,384 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:52,405 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:52,406 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1555355641] [2022-02-20 17:20:52,406 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:52,406 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:52,406 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:52,415 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:20:52,419 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:20:52,478 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:52,480 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:20:52,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:52,505 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:52,705 INFO L290 TraceCheckUtils]: 0: Hoare triple {243#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); {243#true} is VALID [2022-02-20 17:20:52,705 INFO L290 TraceCheckUtils]: 1: Hoare triple {243#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {243#true} is VALID [2022-02-20 17:20:52,705 INFO L272 TraceCheckUtils]: 2: Hoare triple {243#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 10 then 1 else 0)); {243#true} is VALID [2022-02-20 17:20:52,706 INFO L290 TraceCheckUtils]: 3: Hoare triple {243#true} ~cond := #in~cond; {243#true} is VALID [2022-02-20 17:20:52,706 INFO L290 TraceCheckUtils]: 4: Hoare triple {243#true} assume !(0 == ~cond); {243#true} is VALID [2022-02-20 17:20:52,706 INFO L290 TraceCheckUtils]: 5: Hoare triple {243#true} assume true; {243#true} is VALID [2022-02-20 17:20:52,706 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {243#true} {243#true} #63#return; {243#true} is VALID [2022-02-20 17:20:52,707 INFO L290 TraceCheckUtils]: 7: Hoare triple {243#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {243#true} is VALID [2022-02-20 17:20:52,707 INFO L272 TraceCheckUtils]: 8: Hoare triple {243#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 10 then 1 else 0)); {243#true} is VALID [2022-02-20 17:20:52,707 INFO L290 TraceCheckUtils]: 9: Hoare triple {243#true} ~cond := #in~cond; {243#true} is VALID [2022-02-20 17:20:52,707 INFO L290 TraceCheckUtils]: 10: Hoare triple {243#true} assume !(0 == ~cond); {243#true} is VALID [2022-02-20 17:20:52,707 INFO L290 TraceCheckUtils]: 11: Hoare triple {243#true} assume true; {243#true} is VALID [2022-02-20 17:20:52,708 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {243#true} {243#true} #65#return; {243#true} is VALID [2022-02-20 17:20:52,708 INFO L272 TraceCheckUtils]: 13: Hoare triple {243#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {243#true} is VALID [2022-02-20 17:20:52,708 INFO L290 TraceCheckUtils]: 14: Hoare triple {243#true} ~cond := #in~cond; {243#true} is VALID [2022-02-20 17:20:52,708 INFO L290 TraceCheckUtils]: 15: Hoare triple {243#true} assume !(0 == ~cond); {243#true} is VALID [2022-02-20 17:20:52,709 INFO L290 TraceCheckUtils]: 16: Hoare triple {243#true} assume true; {243#true} is VALID [2022-02-20 17:20:52,709 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {243#true} {243#true} #67#return; {243#true} is VALID [2022-02-20 17:20:52,709 INFO L272 TraceCheckUtils]: 18: Hoare triple {243#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {243#true} is VALID [2022-02-20 17:20:52,709 INFO L290 TraceCheckUtils]: 19: Hoare triple {243#true} ~cond := #in~cond; {243#true} is VALID [2022-02-20 17:20:52,709 INFO L290 TraceCheckUtils]: 20: Hoare triple {243#true} assume !(0 == ~cond); {243#true} is VALID [2022-02-20 17:20:52,710 INFO L290 TraceCheckUtils]: 21: Hoare triple {243#true} assume true; {243#true} is VALID [2022-02-20 17:20:52,710 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {243#true} {243#true} #69#return; {243#true} is VALID [2022-02-20 17:20:52,711 INFO L290 TraceCheckUtils]: 23: Hoare triple {243#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {317#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:52,712 INFO L290 TraceCheckUtils]: 24: Hoare triple {317#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {317#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:20:52,713 INFO L272 TraceCheckUtils]: 25: Hoare triple {317#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {324#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:20:52,713 INFO L290 TraceCheckUtils]: 26: Hoare triple {324#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {328#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:52,714 INFO L290 TraceCheckUtils]: 27: Hoare triple {328#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {244#false} is VALID [2022-02-20 17:20:52,715 INFO L290 TraceCheckUtils]: 28: Hoare triple {244#false} assume !false; {244#false} is VALID [2022-02-20 17:20:52,715 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-02-20 17:20:52,715 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:20:52,716 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:20:52,716 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2145990396] [2022-02-20 17:20:52,716 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:20:52,716 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1555355641] [2022-02-20 17:20:52,720 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1555355641] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:20:52,720 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:20:52,720 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:20:52,721 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1801486447] [2022-02-20 17:20:52,722 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:20:52,723 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-02-20 17:20:52,724 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:20:52,724 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:52,745 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:52,746 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:20:52,746 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:20:52,747 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:20:52,747 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:20:52,748 INFO L87 Difference]: Start difference. First operand 28 states and 38 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:52,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:52,988 INFO L93 Difference]: Finished difference Result 44 states and 61 transitions. [2022-02-20 17:20:52,988 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:20:52,988 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 29 [2022-02-20 17:20:52,989 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:20:52,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:52,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:20:52,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:52,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:20:52,996 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-02-20 17:20:53,053 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:20:53,055 INFO L225 Difference]: With dead ends: 44 [2022-02-20 17:20:53,055 INFO L226 Difference]: Without dead ends: 42 [2022-02-20 17:20:53,055 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 29 GetRequests, 25 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:20:53,057 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 32 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:20:53,057 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 139 Invalid, 32 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:20:53,058 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-02-20 17:20:53,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 41. [2022-02-20 17:20:53,064 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:20:53,065 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:20:53,065 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:20:53,066 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:20:53,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:53,069 INFO L93 Difference]: Finished difference Result 42 states and 59 transitions. [2022-02-20 17:20:53,069 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 59 transitions. [2022-02-20 17:20:53,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:53,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:53,071 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 42 states. [2022-02-20 17:20:53,071 INFO L87 Difference]: Start difference. First operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) Second operand 42 states. [2022-02-20 17:20:53,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:20:53,074 INFO L93 Difference]: Finished difference Result 42 states and 59 transitions. [2022-02-20 17:20:53,074 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 59 transitions. [2022-02-20 17:20:53,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:20:53,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:20:53,075 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:20:53,076 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:20:53,076 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 17 states have call successors, (17), 3 states have call predecessors, (17), 3 states have return successors, (16), 15 states have call predecessors, (16), 16 states have call successors, (16) [2022-02-20 17:20:53,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 58 transitions. [2022-02-20 17:20:53,079 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 58 transitions. Word has length 29 [2022-02-20 17:20:53,079 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:20:53,079 INFO L470 AbstractCegarLoop]: Abstraction has 41 states and 58 transitions. [2022-02-20 17:20:53,079 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-02-20 17:20:53,080 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 58 transitions. [2022-02-20 17:20:53,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 17:20:53,080 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:20:53,081 INFO L514 BasicCegarLoop]: trace histogram [4, 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:20:53,107 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:20:53,299 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:53,300 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:20:53,300 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:20:53,300 INFO L85 PathProgramCache]: Analyzing trace with hash -1017640517, now seen corresponding path program 1 times [2022-02-20 17:20:53,300 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:20:53,301 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [748346087] [2022-02-20 17:20:53,301 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:53,301 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:20:53,321 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:20:53,322 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1048811784] [2022-02-20 17:20:53,322 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:20:53,322 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:20:53,322 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:20:53,323 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:20:53,361 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:20:53,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:53,403 INFO L263 TraceCheckSpWp]: Trace formula consists of 98 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 17:20:53,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:20:53,414 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:20:53,659 INFO L290 TraceCheckUtils]: 0: Hoare triple {550#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); {550#true} is VALID [2022-02-20 17:20:53,660 INFO L290 TraceCheckUtils]: 1: Hoare triple {550#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {550#true} is VALID [2022-02-20 17:20:53,660 INFO L272 TraceCheckUtils]: 2: Hoare triple {550#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 10 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:53,660 INFO L290 TraceCheckUtils]: 3: Hoare triple {550#true} ~cond := #in~cond; {550#true} is VALID [2022-02-20 17:20:53,660 INFO L290 TraceCheckUtils]: 4: Hoare triple {550#true} assume !(0 == ~cond); {550#true} is VALID [2022-02-20 17:20:53,661 INFO L290 TraceCheckUtils]: 5: Hoare triple {550#true} assume true; {550#true} is VALID [2022-02-20 17:20:53,661 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {550#true} {550#true} #63#return; {550#true} is VALID [2022-02-20 17:20:53,661 INFO L290 TraceCheckUtils]: 7: Hoare triple {550#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {550#true} is VALID [2022-02-20 17:20:53,661 INFO L272 TraceCheckUtils]: 8: Hoare triple {550#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 10 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:53,661 INFO L290 TraceCheckUtils]: 9: Hoare triple {550#true} ~cond := #in~cond; {550#true} is VALID [2022-02-20 17:20:53,662 INFO L290 TraceCheckUtils]: 10: Hoare triple {550#true} assume !(0 == ~cond); {550#true} is VALID [2022-02-20 17:20:53,662 INFO L290 TraceCheckUtils]: 11: Hoare triple {550#true} assume true; {550#true} is VALID [2022-02-20 17:20:53,662 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {550#true} {550#true} #65#return; {550#true} is VALID [2022-02-20 17:20:53,662 INFO L272 TraceCheckUtils]: 13: Hoare triple {550#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:53,663 INFO L290 TraceCheckUtils]: 14: Hoare triple {550#true} ~cond := #in~cond; {597#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-02-20 17:20:53,663 INFO L290 TraceCheckUtils]: 15: Hoare triple {597#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {601#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:20:53,664 INFO L290 TraceCheckUtils]: 16: Hoare triple {601#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {601#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-02-20 17:20:53,665 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {601#(not (= |assume_abort_if_not_#in~cond| 0))} {550#true} #67#return; {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:20:53,665 INFO L272 TraceCheckUtils]: 18: Hoare triple {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:53,665 INFO L290 TraceCheckUtils]: 19: Hoare triple {550#true} ~cond := #in~cond; {550#true} is VALID [2022-02-20 17:20:53,665 INFO L290 TraceCheckUtils]: 20: Hoare triple {550#true} assume !(0 == ~cond); {550#true} is VALID [2022-02-20 17:20:53,666 INFO L290 TraceCheckUtils]: 21: Hoare triple {550#true} assume true; {550#true} is VALID [2022-02-20 17:20:53,666 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {550#true} {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} #69#return; {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} is VALID [2022-02-20 17:20:53,667 INFO L290 TraceCheckUtils]: 23: Hoare triple {608#(<= 1 |ULTIMATE.start_main_~x~0#1|)} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:20:53,667 INFO L290 TraceCheckUtils]: 24: Hoare triple {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} assume !false; {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:20:53,668 INFO L272 TraceCheckUtils]: 25: Hoare triple {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {550#true} is VALID [2022-02-20 17:20:53,668 INFO L290 TraceCheckUtils]: 26: Hoare triple {550#true} ~cond := #in~cond; {550#true} is VALID [2022-02-20 17:20:53,668 INFO L290 TraceCheckUtils]: 27: Hoare triple {550#true} assume !(0 == ~cond); {550#true} is VALID [2022-02-20 17:20:53,668 INFO L290 TraceCheckUtils]: 28: Hoare triple {550#true} assume true; {550#true} is VALID [2022-02-20 17:20:53,669 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {550#true} {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} #71#return; {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} is VALID [2022-02-20 17:20:53,670 INFO L272 TraceCheckUtils]: 30: Hoare triple {627#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (<= 1 |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {649#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:20:53,671 INFO L290 TraceCheckUtils]: 31: Hoare triple {649#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {653#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:20:53,671 INFO L290 TraceCheckUtils]: 32: Hoare triple {653#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {551#false} is VALID [2022-02-20 17:20:53,672 INFO L290 TraceCheckUtils]: 33: Hoare triple {551#false} assume !false; {551#false} is VALID [2022-02-20 17:20:53,672 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-02-20 17:20:53,672 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:22,893 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:22,894 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [748346087] [2022-02-20 17:21:22,894 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:22,894 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1048811784] [2022-02-20 17:21:22,894 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1048811784] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 17:21:22,894 INFO L191 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:21:22,894 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2022-02-20 17:21:22,894 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [196333958] [2022-02-20 17:21:22,895 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-02-20 17:21:22,895 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-02-20 17:21:22,895 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:22,896 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:22,923 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:22,923 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 17:21:22,923 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:22,924 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 17:21:22,924 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:21:22,924 INFO L87 Difference]: Start difference. First operand 41 states and 58 transitions. Second operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:23,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:23,364 INFO L93 Difference]: Finished difference Result 66 states and 98 transitions. [2022-02-20 17:21:23,364 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 17:21:23,366 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 34 [2022-02-20 17:21:23,367 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:23,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:23,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-02-20 17:21:23,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:23,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 61 transitions. [2022-02-20 17:21:23,375 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 61 transitions. [2022-02-20 17:21:23,442 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:23,446 INFO L225 Difference]: With dead ends: 66 [2022-02-20 17:21:23,446 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 17:21:23,446 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 30 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-02-20 17:21:23,449 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 20 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 97 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 167 SdHoareTripleChecker+Invalid, 104 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 97 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:23,450 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 167 Invalid, 104 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 97 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 17:21:23,451 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 17:21:23,480 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 57. [2022-02-20 17:21:23,480 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:23,481 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:21:23,483 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:21:23,484 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:21:23,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:23,491 INFO L93 Difference]: Finished difference Result 64 states and 96 transitions. [2022-02-20 17:21:23,491 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 96 transitions. [2022-02-20 17:21:23,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:23,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:23,501 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 64 states. [2022-02-20 17:21:23,502 INFO L87 Difference]: Start difference. First operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 64 states. [2022-02-20 17:21:23,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:23,509 INFO L93 Difference]: Finished difference Result 64 states and 96 transitions. [2022-02-20 17:21:23,509 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 96 transitions. [2022-02-20 17:21:23,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:23,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:23,510 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:23,510 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:23,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 29 states have (on average 1.3103448275862069) internal successors, (38), 31 states have internal predecessors, (38), 23 states have call successors, (23), 4 states have call predecessors, (23), 4 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-02-20 17:21:23,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 83 transitions. [2022-02-20 17:21:23,521 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 83 transitions. Word has length 34 [2022-02-20 17:21:23,522 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:23,522 INFO L470 AbstractCegarLoop]: Abstraction has 57 states and 83 transitions. [2022-02-20 17:21:23,523 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-02-20 17:21:23,523 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 83 transitions. [2022-02-20 17:21:23,525 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 17:21:23,525 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:23,525 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 2, 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:21:23,558 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:21:23,751 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,SelfDestructingSolverStorable2 [2022-02-20 17:21:23,752 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:23,752 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:23,752 INFO L85 PathProgramCache]: Analyzing trace with hash 1133401081, now seen corresponding path program 1 times [2022-02-20 17:21:23,752 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:23,754 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1298794199] [2022-02-20 17:21:23,754 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:23,754 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:23,775 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:23,777 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1985214586] [2022-02-20 17:21:23,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:23,779 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:23,779 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:23,780 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:21:23,793 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:21:23,837 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:23,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 107 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 17:21:23,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:23,849 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:24,023 INFO L290 TraceCheckUtils]: 0: Hoare triple {999#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); {999#true} is VALID [2022-02-20 17:21:24,023 INFO L290 TraceCheckUtils]: 1: Hoare triple {999#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {999#true} is VALID [2022-02-20 17:21:24,024 INFO L272 TraceCheckUtils]: 2: Hoare triple {999#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 10 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:24,024 INFO L290 TraceCheckUtils]: 3: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:24,024 INFO L290 TraceCheckUtils]: 4: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:24,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:24,024 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {999#true} {999#true} #63#return; {999#true} is VALID [2022-02-20 17:21:24,025 INFO L290 TraceCheckUtils]: 7: Hoare triple {999#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {999#true} is VALID [2022-02-20 17:21:24,025 INFO L272 TraceCheckUtils]: 8: Hoare triple {999#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 10 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:24,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:24,025 INFO L290 TraceCheckUtils]: 10: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:24,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:24,026 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {999#true} {999#true} #65#return; {999#true} is VALID [2022-02-20 17:21:24,026 INFO L272 TraceCheckUtils]: 13: Hoare triple {999#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:24,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:24,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:24,026 INFO L290 TraceCheckUtils]: 16: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:24,027 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {999#true} {999#true} #67#return; {999#true} is VALID [2022-02-20 17:21:24,027 INFO L272 TraceCheckUtils]: 18: Hoare triple {999#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:24,027 INFO L290 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:24,027 INFO L290 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:24,027 INFO L290 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:24,028 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {999#true} {999#true} #69#return; {999#true} is VALID [2022-02-20 17:21:24,028 INFO L290 TraceCheckUtils]: 23: Hoare triple {999#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {1073#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:24,029 INFO L290 TraceCheckUtils]: 24: Hoare triple {1073#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {1073#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:24,029 INFO L272 TraceCheckUtils]: 25: Hoare triple {1073#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:24,029 INFO L290 TraceCheckUtils]: 26: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:24,030 INFO L290 TraceCheckUtils]: 27: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:24,030 INFO L290 TraceCheckUtils]: 28: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:24,031 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {999#true} {1073#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #71#return; {1073#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:24,031 INFO L272 TraceCheckUtils]: 30: Hoare triple {1073#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {999#true} is VALID [2022-02-20 17:21:24,031 INFO L290 TraceCheckUtils]: 31: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-02-20 17:21:24,031 INFO L290 TraceCheckUtils]: 32: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-02-20 17:21:24,032 INFO L290 TraceCheckUtils]: 33: Hoare triple {999#true} assume true; {999#true} is VALID [2022-02-20 17:21:24,033 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {999#true} {1073#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #73#return; {1073#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:24,034 INFO L272 TraceCheckUtils]: 35: Hoare triple {1073#(and (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {1110#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:24,035 INFO L290 TraceCheckUtils]: 36: Hoare triple {1110#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1114#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:24,035 INFO L290 TraceCheckUtils]: 37: Hoare triple {1114#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1000#false} is VALID [2022-02-20 17:21:24,035 INFO L290 TraceCheckUtils]: 38: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2022-02-20 17:21:24,036 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-02-20 17:21:24,036 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:24,036 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:24,036 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1298794199] [2022-02-20 17:21:24,036 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:24,036 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1985214586] [2022-02-20 17:21:24,037 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1985214586] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:24,037 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:24,037 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:21:24,037 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1258626966] [2022-02-20 17:21:24,037 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:24,038 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-02-20 17:21:24,038 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:24,038 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:24,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:24,071 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:24,071 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:24,072 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:24,072 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:21:24,073 INFO L87 Difference]: Start difference. First operand 57 states and 83 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:24,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:24,269 INFO L93 Difference]: Finished difference Result 64 states and 89 transitions. [2022-02-20 17:21:24,269 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:24,269 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 39 [2022-02-20 17:21:24,270 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:24,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:24,272 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:21:24,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:24,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:21:24,274 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-02-20 17:21:24,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:24,354 INFO L225 Difference]: With dead ends: 64 [2022-02-20 17:21:24,354 INFO L226 Difference]: Without dead ends: 60 [2022-02-20 17:21:24,355 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 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:21:24,357 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:24,358 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 139 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:24,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-02-20 17:21:24,384 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2022-02-20 17:21:24,384 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:24,385 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:24,386 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:24,386 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:24,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:24,389 INFO L93 Difference]: Finished difference Result 60 states and 83 transitions. [2022-02-20 17:21:24,389 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 83 transitions. [2022-02-20 17:21:24,390 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:24,390 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:24,390 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 60 states. [2022-02-20 17:21:24,391 INFO L87 Difference]: Start difference. First operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 60 states. [2022-02-20 17:21:24,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:24,394 INFO L93 Difference]: Finished difference Result 60 states and 83 transitions. [2022-02-20 17:21:24,394 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 83 transitions. [2022-02-20 17:21:24,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:24,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:24,394 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:24,394 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:24,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 32 states have (on average 1.28125) internal successors, (41), 34 states have internal predecessors, (41), 22 states have call successors, (22), 5 states have call predecessors, (22), 5 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:24,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 83 transitions. [2022-02-20 17:21:24,399 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 83 transitions. Word has length 39 [2022-02-20 17:21:24,400 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:24,400 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 83 transitions. [2022-02-20 17:21:24,400 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-02-20 17:21:24,401 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 83 transitions. [2022-02-20 17:21:24,402 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-02-20 17:21:24,402 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:24,402 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:24,427 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:21:24,615 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:24,616 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:24,616 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:24,616 INFO L85 PathProgramCache]: Analyzing trace with hash -1954831506, now seen corresponding path program 1 times [2022-02-20 17:21:24,616 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:24,616 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1976714474] [2022-02-20 17:21:24,616 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:24,617 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:24,640 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:24,642 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [401287838] [2022-02-20 17:21:24,642 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:24,642 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:24,642 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:24,643 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:21:24,659 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:21:24,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:24,695 INFO L263 TraceCheckSpWp]: Trace formula consists of 118 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 17:21:24,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:24,705 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:24,827 INFO L290 TraceCheckUtils]: 0: Hoare triple {1430#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); {1430#true} is VALID [2022-02-20 17:21:24,828 INFO L290 TraceCheckUtils]: 1: Hoare triple {1430#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1430#true} is VALID [2022-02-20 17:21:24,828 INFO L272 TraceCheckUtils]: 2: Hoare triple {1430#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 10 then 1 else 0)); {1430#true} is VALID [2022-02-20 17:21:24,828 INFO L290 TraceCheckUtils]: 3: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:24,828 INFO L290 TraceCheckUtils]: 4: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:24,829 INFO L290 TraceCheckUtils]: 5: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:24,829 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1430#true} {1430#true} #63#return; {1430#true} is VALID [2022-02-20 17:21:24,829 INFO L290 TraceCheckUtils]: 7: Hoare triple {1430#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1430#true} is VALID [2022-02-20 17:21:24,829 INFO L272 TraceCheckUtils]: 8: Hoare triple {1430#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 10 then 1 else 0)); {1430#true} is VALID [2022-02-20 17:21:24,829 INFO L290 TraceCheckUtils]: 9: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:24,829 INFO L290 TraceCheckUtils]: 10: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:24,830 INFO L290 TraceCheckUtils]: 11: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:24,830 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1430#true} {1430#true} #65#return; {1430#true} is VALID [2022-02-20 17:21:24,830 INFO L272 TraceCheckUtils]: 13: Hoare triple {1430#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1430#true} is VALID [2022-02-20 17:21:24,830 INFO L290 TraceCheckUtils]: 14: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:24,830 INFO L290 TraceCheckUtils]: 15: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:24,831 INFO L290 TraceCheckUtils]: 16: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:24,831 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1430#true} {1430#true} #67#return; {1430#true} is VALID [2022-02-20 17:21:24,831 INFO L272 TraceCheckUtils]: 18: Hoare triple {1430#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1430#true} is VALID [2022-02-20 17:21:24,831 INFO L290 TraceCheckUtils]: 19: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:24,831 INFO L290 TraceCheckUtils]: 20: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:24,832 INFO L290 TraceCheckUtils]: 21: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:24,832 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1430#true} {1430#true} #69#return; {1430#true} is VALID [2022-02-20 17:21:24,832 INFO L290 TraceCheckUtils]: 23: Hoare triple {1430#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {1430#true} is VALID [2022-02-20 17:21:24,832 INFO L290 TraceCheckUtils]: 24: Hoare triple {1430#true} assume !false; {1430#true} is VALID [2022-02-20 17:21:24,832 INFO L272 TraceCheckUtils]: 25: Hoare triple {1430#true} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {1430#true} is VALID [2022-02-20 17:21:24,832 INFO L290 TraceCheckUtils]: 26: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:24,833 INFO L290 TraceCheckUtils]: 27: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:24,833 INFO L290 TraceCheckUtils]: 28: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:24,833 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1430#true} {1430#true} #71#return; {1430#true} is VALID [2022-02-20 17:21:24,833 INFO L272 TraceCheckUtils]: 30: Hoare triple {1430#true} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {1430#true} is VALID [2022-02-20 17:21:24,833 INFO L290 TraceCheckUtils]: 31: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:24,834 INFO L290 TraceCheckUtils]: 32: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:24,834 INFO L290 TraceCheckUtils]: 33: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:24,834 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1430#true} {1430#true} #73#return; {1430#true} is VALID [2022-02-20 17:21:24,834 INFO L272 TraceCheckUtils]: 35: Hoare triple {1430#true} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {1430#true} is VALID [2022-02-20 17:21:24,834 INFO L290 TraceCheckUtils]: 36: Hoare triple {1430#true} ~cond := #in~cond; {1430#true} is VALID [2022-02-20 17:21:24,835 INFO L290 TraceCheckUtils]: 37: Hoare triple {1430#true} assume !(0 == ~cond); {1430#true} is VALID [2022-02-20 17:21:24,835 INFO L290 TraceCheckUtils]: 38: Hoare triple {1430#true} assume true; {1430#true} is VALID [2022-02-20 17:21:24,835 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1430#true} {1430#true} #75#return; {1430#true} is VALID [2022-02-20 17:21:24,837 INFO L290 TraceCheckUtils]: 40: Hoare triple {1430#true} assume !(main_~a~0#1 != main_~b~0#1); {1555#(= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:24,838 INFO L272 TraceCheckUtils]: 41: Hoare triple {1555#(= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {1559#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:24,839 INFO L290 TraceCheckUtils]: 42: Hoare triple {1559#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1563#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:24,839 INFO L290 TraceCheckUtils]: 43: Hoare triple {1563#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1431#false} is VALID [2022-02-20 17:21:24,839 INFO L290 TraceCheckUtils]: 44: Hoare triple {1431#false} assume !false; {1431#false} is VALID [2022-02-20 17:21:24,840 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-02-20 17:21:24,840 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:24,840 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:24,840 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1976714474] [2022-02-20 17:21:24,840 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:24,841 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [401287838] [2022-02-20 17:21:24,841 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [401287838] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:24,841 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:24,841 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:21:24,841 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [740064539] [2022-02-20 17:21:24,841 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:24,842 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-02-20 17:21:24,842 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:24,842 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:24,870 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:24,870 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:24,870 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:24,870 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:24,871 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:21:24,871 INFO L87 Difference]: Start difference. First operand 60 states and 83 transitions. Second operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:25,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:25,031 INFO L93 Difference]: Finished difference Result 66 states and 88 transitions. [2022-02-20 17:21:25,031 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:25,031 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-02-20 17:21:25,031 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:25,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:25,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-02-20 17:21:25,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:25,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-02-20 17:21:25,034 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-02-20 17:21:25,072 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:25,074 INFO L225 Difference]: With dead ends: 66 [2022-02-20 17:21:25,074 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 17:21:25,074 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 41 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:21:25,075 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 5 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:25,075 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 131 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:25,076 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 17:21:25,103 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 64. [2022-02-20 17:21:25,103 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:25,104 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:25,104 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:25,105 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:25,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:25,112 INFO L93 Difference]: Finished difference Result 64 states and 86 transitions. [2022-02-20 17:21:25,112 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 86 transitions. [2022-02-20 17:21:25,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:25,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:25,115 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 64 states. [2022-02-20 17:21:25,115 INFO L87 Difference]: Start difference. First operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 64 states. [2022-02-20 17:21:25,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:25,122 INFO L93 Difference]: Finished difference Result 64 states and 86 transitions. [2022-02-20 17:21:25,122 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 86 transitions. [2022-02-20 17:21:25,123 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:25,123 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:25,123 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:25,123 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:25,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 37 states have internal predecessors, (44), 22 states have call successors, (22), 6 states have call predecessors, (22), 6 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:21:25,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 86 transitions. [2022-02-20 17:21:25,129 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 86 transitions. Word has length 45 [2022-02-20 17:21:25,129 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:25,130 INFO L470 AbstractCegarLoop]: Abstraction has 64 states and 86 transitions. [2022-02-20 17:21:25,130 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-02-20 17:21:25,130 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 86 transitions. [2022-02-20 17:21:25,130 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-02-20 17:21:25,131 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:25,131 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:25,158 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:21:25,347 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:25,347 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:25,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:25,348 INFO L85 PathProgramCache]: Analyzing trace with hash -1265228631, now seen corresponding path program 1 times [2022-02-20 17:21:25,348 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:25,348 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [399546596] [2022-02-20 17:21:25,348 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:25,348 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:25,362 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:25,363 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [929520609] [2022-02-20 17:21:25,363 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:25,363 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:25,363 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:25,364 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:21:25,389 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:21:25,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:25,425 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 17:21:25,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:25,435 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:25,650 INFO L290 TraceCheckUtils]: 0: Hoare triple {1893#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); {1893#true} is VALID [2022-02-20 17:21:25,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {1893#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {1893#true} is VALID [2022-02-20 17:21:25,651 INFO L272 TraceCheckUtils]: 2: Hoare triple {1893#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 10 then 1 else 0)); {1893#true} is VALID [2022-02-20 17:21:25,651 INFO L290 TraceCheckUtils]: 3: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:25,651 INFO L290 TraceCheckUtils]: 4: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:25,651 INFO L290 TraceCheckUtils]: 5: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:25,651 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1893#true} {1893#true} #63#return; {1893#true} is VALID [2022-02-20 17:21:25,651 INFO L290 TraceCheckUtils]: 7: Hoare triple {1893#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {1893#true} is VALID [2022-02-20 17:21:25,651 INFO L272 TraceCheckUtils]: 8: Hoare triple {1893#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 10 then 1 else 0)); {1893#true} is VALID [2022-02-20 17:21:25,651 INFO L290 TraceCheckUtils]: 9: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:25,652 INFO L290 TraceCheckUtils]: 10: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:25,652 INFO L290 TraceCheckUtils]: 11: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:25,652 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {1893#true} {1893#true} #65#return; {1893#true} is VALID [2022-02-20 17:21:25,652 INFO L272 TraceCheckUtils]: 13: Hoare triple {1893#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {1893#true} is VALID [2022-02-20 17:21:25,652 INFO L290 TraceCheckUtils]: 14: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:25,652 INFO L290 TraceCheckUtils]: 15: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:25,652 INFO L290 TraceCheckUtils]: 16: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:25,652 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1893#true} {1893#true} #67#return; {1893#true} is VALID [2022-02-20 17:21:25,652 INFO L272 TraceCheckUtils]: 18: Hoare triple {1893#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {1893#true} is VALID [2022-02-20 17:21:25,653 INFO L290 TraceCheckUtils]: 19: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:25,653 INFO L290 TraceCheckUtils]: 20: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:25,653 INFO L290 TraceCheckUtils]: 21: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:25,653 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1893#true} {1893#true} #69#return; {1893#true} is VALID [2022-02-20 17:21:25,655 INFO L290 TraceCheckUtils]: 23: Hoare triple {1893#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:25,656 INFO L290 TraceCheckUtils]: 24: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:25,656 INFO L272 TraceCheckUtils]: 25: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {1893#true} is VALID [2022-02-20 17:21:25,656 INFO L290 TraceCheckUtils]: 26: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:25,656 INFO L290 TraceCheckUtils]: 27: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:25,656 INFO L290 TraceCheckUtils]: 28: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:25,657 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1893#true} {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #71#return; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:25,657 INFO L272 TraceCheckUtils]: 30: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {1893#true} is VALID [2022-02-20 17:21:25,657 INFO L290 TraceCheckUtils]: 31: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:25,657 INFO L290 TraceCheckUtils]: 32: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:25,657 INFO L290 TraceCheckUtils]: 33: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:25,658 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1893#true} {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #73#return; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:25,658 INFO L272 TraceCheckUtils]: 35: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {1893#true} is VALID [2022-02-20 17:21:25,659 INFO L290 TraceCheckUtils]: 36: Hoare triple {1893#true} ~cond := #in~cond; {1893#true} is VALID [2022-02-20 17:21:25,659 INFO L290 TraceCheckUtils]: 37: Hoare triple {1893#true} assume !(0 == ~cond); {1893#true} is VALID [2022-02-20 17:21:25,659 INFO L290 TraceCheckUtils]: 38: Hoare triple {1893#true} assume true; {1893#true} is VALID [2022-02-20 17:21:25,660 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1893#true} {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #75#return; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:25,660 INFO L290 TraceCheckUtils]: 40: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_~a~0#1 != main_~b~0#1); {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:25,661 INFO L290 TraceCheckUtils]: 41: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !(main_~a~0#1 > main_~b~0#1);main_~b~0#1 := main_~b~0#1 - main_~a~0#1;main_~q~0#1 := main_~q~0#1 - main_~p~0#1;main_~s~0#1 := main_~s~0#1 - main_~r~0#1; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:25,661 INFO L290 TraceCheckUtils]: 42: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:25,662 INFO L272 TraceCheckUtils]: 43: Hoare triple {1967#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {2028#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:25,663 INFO L290 TraceCheckUtils]: 44: Hoare triple {2028#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2032#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:25,668 INFO L290 TraceCheckUtils]: 45: Hoare triple {2032#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1894#false} is VALID [2022-02-20 17:21:25,668 INFO L290 TraceCheckUtils]: 46: Hoare triple {1894#false} assume !false; {1894#false} is VALID [2022-02-20 17:21:25,669 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-02-20 17:21:25,669 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 17:21:25,669 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:25,669 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [399546596] [2022-02-20 17:21:25,669 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:25,669 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [929520609] [2022-02-20 17:21:25,669 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [929520609] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 17:21:25,669 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 17:21:25,670 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 17:21:25,670 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [487337514] [2022-02-20 17:21:25,670 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:21:25,670 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-02-20 17:21:25,670 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:25,671 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:25,699 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:25,699 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:21:25,699 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:25,700 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:21:25,700 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 17:21:25,700 INFO L87 Difference]: Start difference. First operand 64 states and 86 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:25,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:25,908 INFO L93 Difference]: Finished difference Result 80 states and 104 transitions. [2022-02-20 17:21:25,908 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:21:25,908 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-02-20 17:21:25,908 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:25,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:25,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:21:25,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:25,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 61 transitions. [2022-02-20 17:21:25,911 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 61 transitions. [2022-02-20 17:21:25,971 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:25,973 INFO L225 Difference]: With dead ends: 80 [2022-02-20 17:21:25,973 INFO L226 Difference]: Without dead ends: 78 [2022-02-20 17:21:25,973 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 42 SyntacticMatches, 1 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:21:25,974 INFO L933 BasicCegarLoop]: 38 mSDtfsCounter, 6 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 31 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:25,974 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 139 Invalid, 31 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 17:21:25,974 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-02-20 17:21:26,005 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 75. [2022-02-20 17:21:26,005 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:26,006 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:21:26,006 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:21:26,006 INFO L87 Difference]: Start difference. First operand 78 states. Second operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:21:26,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:26,009 INFO L93 Difference]: Finished difference Result 78 states and 102 transitions. [2022-02-20 17:21:26,009 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 102 transitions. [2022-02-20 17:21:26,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:26,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:26,010 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 78 states. [2022-02-20 17:21:26,010 INFO L87 Difference]: Start difference. First operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 78 states. [2022-02-20 17:21:26,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:26,013 INFO L93 Difference]: Finished difference Result 78 states and 102 transitions. [2022-02-20 17:21:26,013 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 102 transitions. [2022-02-20 17:21:26,013 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:26,013 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:26,013 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:26,013 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:26,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 8 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-02-20 17:21:26,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 98 transitions. [2022-02-20 17:21:26,017 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 98 transitions. Word has length 47 [2022-02-20 17:21:26,017 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:26,017 INFO L470 AbstractCegarLoop]: Abstraction has 75 states and 98 transitions. [2022-02-20 17:21:26,017 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:21:26,017 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-02-20 17:21:26,018 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-02-20 17:21:26,018 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:26,018 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:26,045 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:21:26,241 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:26,241 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:26,241 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:26,242 INFO L85 PathProgramCache]: Analyzing trace with hash 1617953190, now seen corresponding path program 1 times [2022-02-20 17:21:26,242 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:26,242 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1125201488] [2022-02-20 17:21:26,242 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:26,242 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:26,256 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:26,256 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [512164097] [2022-02-20 17:21:26,256 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:26,256 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:26,256 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:26,257 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:21:26,263 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:21:26,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:26,300 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 10 conjunts are in the unsatisfiable core [2022-02-20 17:21:26,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:26,310 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:26,483 INFO L290 TraceCheckUtils]: 0: Hoare triple {2428#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); {2428#true} is VALID [2022-02-20 17:21:26,483 INFO L290 TraceCheckUtils]: 1: Hoare triple {2428#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2428#true} is VALID [2022-02-20 17:21:26,484 INFO L272 TraceCheckUtils]: 2: Hoare triple {2428#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 10 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:26,484 INFO L290 TraceCheckUtils]: 3: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:26,484 INFO L290 TraceCheckUtils]: 4: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:26,484 INFO L290 TraceCheckUtils]: 5: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:26,484 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2428#true} {2428#true} #63#return; {2428#true} is VALID [2022-02-20 17:21:26,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {2428#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2428#true} is VALID [2022-02-20 17:21:26,485 INFO L272 TraceCheckUtils]: 8: Hoare triple {2428#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 10 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:26,485 INFO L290 TraceCheckUtils]: 9: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:26,485 INFO L290 TraceCheckUtils]: 10: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:26,485 INFO L290 TraceCheckUtils]: 11: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:26,485 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2428#true} {2428#true} #65#return; {2428#true} is VALID [2022-02-20 17:21:26,486 INFO L272 TraceCheckUtils]: 13: Hoare triple {2428#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:26,486 INFO L290 TraceCheckUtils]: 14: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:26,486 INFO L290 TraceCheckUtils]: 15: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:26,486 INFO L290 TraceCheckUtils]: 16: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:26,486 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2428#true} {2428#true} #67#return; {2428#true} is VALID [2022-02-20 17:21:26,486 INFO L272 TraceCheckUtils]: 18: Hoare triple {2428#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:26,487 INFO L290 TraceCheckUtils]: 19: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:26,487 INFO L290 TraceCheckUtils]: 20: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:26,487 INFO L290 TraceCheckUtils]: 21: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:26,487 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2428#true} {2428#true} #69#return; {2428#true} is VALID [2022-02-20 17:21:26,487 INFO L290 TraceCheckUtils]: 23: Hoare triple {2428#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {2428#true} is VALID [2022-02-20 17:21:26,487 INFO L290 TraceCheckUtils]: 24: Hoare triple {2428#true} assume !false; {2428#true} is VALID [2022-02-20 17:21:26,488 INFO L272 TraceCheckUtils]: 25: Hoare triple {2428#true} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:26,488 INFO L290 TraceCheckUtils]: 26: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:26,488 INFO L290 TraceCheckUtils]: 27: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:26,488 INFO L290 TraceCheckUtils]: 28: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:26,488 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2428#true} {2428#true} #71#return; {2428#true} is VALID [2022-02-20 17:21:26,488 INFO L272 TraceCheckUtils]: 30: Hoare triple {2428#true} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:26,489 INFO L290 TraceCheckUtils]: 31: Hoare triple {2428#true} ~cond := #in~cond; {2526#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:26,489 INFO L290 TraceCheckUtils]: 32: Hoare triple {2526#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:26,490 INFO L290 TraceCheckUtils]: 33: Hoare triple {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:26,491 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} {2428#true} #73#return; {2537#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:26,491 INFO L272 TraceCheckUtils]: 35: Hoare triple {2537#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:26,491 INFO L290 TraceCheckUtils]: 36: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:26,491 INFO L290 TraceCheckUtils]: 37: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:26,491 INFO L290 TraceCheckUtils]: 38: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:26,492 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2428#true} {2537#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} #75#return; {2537#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:26,493 INFO L290 TraceCheckUtils]: 40: Hoare triple {2537#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} assume !(main_~a~0#1 != main_~b~0#1); {2556#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:26,493 INFO L272 TraceCheckUtils]: 41: Hoare triple {2556#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:26,493 INFO L290 TraceCheckUtils]: 42: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:26,493 INFO L290 TraceCheckUtils]: 43: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:26,494 INFO L290 TraceCheckUtils]: 44: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:26,494 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2428#true} {2556#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} #77#return; {2556#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:26,495 INFO L272 TraceCheckUtils]: 46: Hoare triple {2556#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~p~0#1 * main_~x~0#1 + main_~r~0#1 * main_~y~0#1 - main_~b~0#1 then 1 else 0)); {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:26,496 INFO L290 TraceCheckUtils]: 47: Hoare triple {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:26,496 INFO L290 TraceCheckUtils]: 48: Hoare triple {2579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2429#false} is VALID [2022-02-20 17:21:26,496 INFO L290 TraceCheckUtils]: 49: Hoare triple {2429#false} assume !false; {2429#false} is VALID [2022-02-20 17:21:26,496 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:21:26,497 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:38,162 INFO L290 TraceCheckUtils]: 49: Hoare triple {2429#false} assume !false; {2429#false} is VALID [2022-02-20 17:21:38,163 INFO L290 TraceCheckUtils]: 48: Hoare triple {2579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2429#false} is VALID [2022-02-20 17:21:38,163 INFO L290 TraceCheckUtils]: 47: Hoare triple {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:38,165 INFO L272 TraceCheckUtils]: 46: Hoare triple {2556#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~p~0#1 * main_~x~0#1 + main_~r~0#1 * main_~y~0#1 - main_~b~0#1 then 1 else 0)); {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:38,165 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2428#true} {2556#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} #77#return; {2556#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:38,166 INFO L290 TraceCheckUtils]: 44: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:38,166 INFO L290 TraceCheckUtils]: 43: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:38,166 INFO L290 TraceCheckUtils]: 42: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:38,166 INFO L272 TraceCheckUtils]: 41: Hoare triple {2556#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} call __VERIFIER_assert((if 0 == main_~a~0#1 - main_~b~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:38,167 INFO L290 TraceCheckUtils]: 40: Hoare triple {2537#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} assume !(main_~a~0#1 != main_~b~0#1); {2556#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)} is VALID [2022-02-20 17:21:38,168 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2428#true} {2537#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} #75#return; {2537#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:38,168 INFO L290 TraceCheckUtils]: 38: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:38,168 INFO L290 TraceCheckUtils]: 37: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:38,168 INFO L290 TraceCheckUtils]: 36: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:38,168 INFO L272 TraceCheckUtils]: 35: Hoare triple {2537#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:38,169 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} {2428#true} #73#return; {2537#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:38,170 INFO L290 TraceCheckUtils]: 33: Hoare triple {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:38,170 INFO L290 TraceCheckUtils]: 32: Hoare triple {2640#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2530#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:38,171 INFO L290 TraceCheckUtils]: 31: Hoare triple {2428#true} ~cond := #in~cond; {2640#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:21:38,171 INFO L272 TraceCheckUtils]: 30: Hoare triple {2428#true} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:38,171 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {2428#true} {2428#true} #71#return; {2428#true} is VALID [2022-02-20 17:21:38,172 INFO L290 TraceCheckUtils]: 28: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:38,172 INFO L290 TraceCheckUtils]: 27: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:38,172 INFO L290 TraceCheckUtils]: 26: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:38,172 INFO L272 TraceCheckUtils]: 25: Hoare triple {2428#true} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:38,172 INFO L290 TraceCheckUtils]: 24: Hoare triple {2428#true} assume !false; {2428#true} is VALID [2022-02-20 17:21:38,172 INFO L290 TraceCheckUtils]: 23: Hoare triple {2428#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {2428#true} is VALID [2022-02-20 17:21:38,173 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2428#true} {2428#true} #69#return; {2428#true} is VALID [2022-02-20 17:21:38,173 INFO L290 TraceCheckUtils]: 21: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:38,173 INFO L290 TraceCheckUtils]: 20: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:38,173 INFO L290 TraceCheckUtils]: 19: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:38,173 INFO L272 TraceCheckUtils]: 18: Hoare triple {2428#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:38,173 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2428#true} {2428#true} #67#return; {2428#true} is VALID [2022-02-20 17:21:38,174 INFO L290 TraceCheckUtils]: 16: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:38,174 INFO L290 TraceCheckUtils]: 15: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:38,174 INFO L290 TraceCheckUtils]: 14: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:38,174 INFO L272 TraceCheckUtils]: 13: Hoare triple {2428#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:38,174 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {2428#true} {2428#true} #65#return; {2428#true} is VALID [2022-02-20 17:21:38,174 INFO L290 TraceCheckUtils]: 11: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:38,175 INFO L290 TraceCheckUtils]: 10: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:38,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:38,175 INFO L272 TraceCheckUtils]: 8: Hoare triple {2428#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 10 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:38,175 INFO L290 TraceCheckUtils]: 7: Hoare triple {2428#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {2428#true} is VALID [2022-02-20 17:21:38,175 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {2428#true} {2428#true} #63#return; {2428#true} is VALID [2022-02-20 17:21:38,175 INFO L290 TraceCheckUtils]: 5: Hoare triple {2428#true} assume true; {2428#true} is VALID [2022-02-20 17:21:38,176 INFO L290 TraceCheckUtils]: 4: Hoare triple {2428#true} assume !(0 == ~cond); {2428#true} is VALID [2022-02-20 17:21:38,176 INFO L290 TraceCheckUtils]: 3: Hoare triple {2428#true} ~cond := #in~cond; {2428#true} is VALID [2022-02-20 17:21:38,176 INFO L272 TraceCheckUtils]: 2: Hoare triple {2428#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 10 then 1 else 0)); {2428#true} is VALID [2022-02-20 17:21:38,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {2428#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {2428#true} is VALID [2022-02-20 17:21:38,176 INFO L290 TraceCheckUtils]: 0: Hoare triple {2428#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); {2428#true} is VALID [2022-02-20 17:21:38,177 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:21:38,177 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:38,177 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1125201488] [2022-02-20 17:21:38,177 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:38,177 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [512164097] [2022-02-20 17:21:38,177 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [512164097] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:21:38,177 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:21:38,178 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-02-20 17:21:38,178 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1787281579] [2022-02-20 17:21:38,178 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:21:38,179 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-02-20 17:21:38,179 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:38,179 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:38,205 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:21:38,205 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 17:21:38,205 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:38,206 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 17:21:38,206 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-02-20 17:21:38,206 INFO L87 Difference]: Start difference. First operand 75 states and 98 transitions. Second operand has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:38,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:38,737 INFO L93 Difference]: Finished difference Result 84 states and 108 transitions. [2022-02-20 17:21:38,737 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 17:21:38,738 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-02-20 17:21:38,738 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:21:38,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:38,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-02-20 17:21:38,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:38,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-02-20 17:21:38,743 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-02-20 17:21:38,788 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:21:38,789 INFO L225 Difference]: With dead ends: 84 [2022-02-20 17:21:38,789 INFO L226 Difference]: Without dead ends: 80 [2022-02-20 17:21:38,790 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 90 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:21:38,790 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 13 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 17:21:38,791 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 151 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 17:21:38,791 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-02-20 17:21:38,823 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 80. [2022-02-20 17:21:38,823 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:21:38,824 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 17:21:38,824 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 17:21:38,824 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 17:21:38,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:38,827 INFO L93 Difference]: Finished difference Result 80 states and 101 transitions. [2022-02-20 17:21:38,827 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 101 transitions. [2022-02-20 17:21:38,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:38,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:38,828 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 80 states. [2022-02-20 17:21:38,828 INFO L87 Difference]: Start difference. First operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 80 states. [2022-02-20 17:21:38,831 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:21:38,832 INFO L93 Difference]: Finished difference Result 80 states and 101 transitions. [2022-02-20 17:21:38,832 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 101 transitions. [2022-02-20 17:21:38,832 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:21:38,832 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:21:38,832 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:21:38,833 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:21:38,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 9 states have call predecessors, (25), 9 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-02-20 17:21:38,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 101 transitions. [2022-02-20 17:21:38,836 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 101 transitions. Word has length 50 [2022-02-20 17:21:38,836 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:21:38,836 INFO L470 AbstractCegarLoop]: Abstraction has 80 states and 101 transitions. [2022-02-20 17:21:38,836 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-02-20 17:21:38,837 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 101 transitions. [2022-02-20 17:21:38,837 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 17:21:38,837 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:21:38,837 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:21:38,862 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-02-20 17:21:39,051 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:39,052 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:21:39,052 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:21:39,052 INFO L85 PathProgramCache]: Analyzing trace with hash 860577929, now seen corresponding path program 1 times [2022-02-20 17:21:39,053 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:21:39,053 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1900323922] [2022-02-20 17:21:39,053 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:39,053 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:21:39,070 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:21:39,071 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [629100238] [2022-02-20 17:21:39,071 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:21:39,071 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:21:39,071 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:21:39,072 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:21:39,074 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-02-20 17:21:39,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:39,113 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 28 conjunts are in the unsatisfiable core [2022-02-20 17:21:39,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:21:39,128 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:21:39,496 INFO L290 TraceCheckUtils]: 0: Hoare triple {3143#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); {3143#true} is VALID [2022-02-20 17:21:39,497 INFO L290 TraceCheckUtils]: 1: Hoare triple {3143#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {3143#true} is VALID [2022-02-20 17:21:39,497 INFO L272 TraceCheckUtils]: 2: Hoare triple {3143#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 10 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:39,498 INFO L290 TraceCheckUtils]: 3: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:39,498 INFO L290 TraceCheckUtils]: 4: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:39,498 INFO L290 TraceCheckUtils]: 5: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:39,498 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3143#true} {3143#true} #63#return; {3143#true} is VALID [2022-02-20 17:21:39,498 INFO L290 TraceCheckUtils]: 7: Hoare triple {3143#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3143#true} is VALID [2022-02-20 17:21:39,498 INFO L272 TraceCheckUtils]: 8: Hoare triple {3143#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 10 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:39,499 INFO L290 TraceCheckUtils]: 9: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:39,499 INFO L290 TraceCheckUtils]: 10: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:39,499 INFO L290 TraceCheckUtils]: 11: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:39,499 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3143#true} {3143#true} #65#return; {3143#true} is VALID [2022-02-20 17:21:39,499 INFO L272 TraceCheckUtils]: 13: Hoare triple {3143#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:39,499 INFO L290 TraceCheckUtils]: 14: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:39,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:39,500 INFO L290 TraceCheckUtils]: 16: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:39,500 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3143#true} {3143#true} #67#return; {3143#true} is VALID [2022-02-20 17:21:39,500 INFO L272 TraceCheckUtils]: 18: Hoare triple {3143#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:39,500 INFO L290 TraceCheckUtils]: 19: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:39,500 INFO L290 TraceCheckUtils]: 20: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:39,501 INFO L290 TraceCheckUtils]: 21: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:39,501 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3143#true} {3143#true} #69#return; {3143#true} is VALID [2022-02-20 17:21:39,502 INFO L290 TraceCheckUtils]: 23: Hoare triple {3143#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:39,502 INFO L290 TraceCheckUtils]: 24: Hoare triple {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:39,503 INFO L272 TraceCheckUtils]: 25: Hoare triple {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:39,503 INFO L290 TraceCheckUtils]: 26: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:39,503 INFO L290 TraceCheckUtils]: 27: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:39,504 INFO L290 TraceCheckUtils]: 28: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:39,507 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3143#true} {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #71#return; {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:39,507 INFO L272 TraceCheckUtils]: 30: Hoare triple {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:39,507 INFO L290 TraceCheckUtils]: 31: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:39,508 INFO L290 TraceCheckUtils]: 32: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:39,509 INFO L290 TraceCheckUtils]: 33: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:39,509 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3143#true} {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #73#return; {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:39,510 INFO L272 TraceCheckUtils]: 35: Hoare triple {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:39,510 INFO L290 TraceCheckUtils]: 36: Hoare triple {3143#true} ~cond := #in~cond; {3257#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:39,511 INFO L290 TraceCheckUtils]: 37: Hoare triple {3257#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:39,511 INFO L290 TraceCheckUtils]: 38: Hoare triple {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:39,512 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} #75#return; {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:39,512 INFO L290 TraceCheckUtils]: 40: Hoare triple {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_~a~0#1 != main_~b~0#1); {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:21:39,513 INFO L290 TraceCheckUtils]: 41: Hoare triple {3217#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~b~0#1| |ULTIMATE.start_main_~y~0#1|) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~x~0#1|) (= |ULTIMATE.start_main_~s~0#1| 1))} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:39,514 INFO L290 TraceCheckUtils]: 42: Hoare triple {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} assume !false; {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:39,514 INFO L272 TraceCheckUtils]: 43: Hoare triple {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:39,517 INFO L290 TraceCheckUtils]: 44: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:39,517 INFO L290 TraceCheckUtils]: 45: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:39,517 INFO L290 TraceCheckUtils]: 46: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:39,520 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3143#true} {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} #71#return; {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:21:39,521 INFO L272 TraceCheckUtils]: 48: Hoare triple {3274#(and (= |ULTIMATE.start_main_~x~0#1| (+ |ULTIMATE.start_main_~a~0#1| |ULTIMATE.start_main_~y~0#1|)) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {3296#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:39,521 INFO L290 TraceCheckUtils]: 49: Hoare triple {3296#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3300#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:39,522 INFO L290 TraceCheckUtils]: 50: Hoare triple {3300#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3144#false} is VALID [2022-02-20 17:21:39,522 INFO L290 TraceCheckUtils]: 51: Hoare triple {3144#false} assume !false; {3144#false} is VALID [2022-02-20 17:21:39,522 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 13 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:21:39,522 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:21:59,024 INFO L290 TraceCheckUtils]: 51: Hoare triple {3144#false} assume !false; {3144#false} is VALID [2022-02-20 17:21:59,025 INFO L290 TraceCheckUtils]: 50: Hoare triple {3300#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3144#false} is VALID [2022-02-20 17:21:59,025 INFO L290 TraceCheckUtils]: 49: Hoare triple {3296#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3300#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:21:59,026 INFO L272 TraceCheckUtils]: 48: Hoare triple {3316#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {3296#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:21:59,027 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3143#true} {3316#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} #71#return; {3316#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:59,028 INFO L290 TraceCheckUtils]: 46: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:59,028 INFO L290 TraceCheckUtils]: 45: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:59,028 INFO L290 TraceCheckUtils]: 44: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:59,028 INFO L272 TraceCheckUtils]: 43: Hoare triple {3316#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:59,029 INFO L290 TraceCheckUtils]: 42: Hoare triple {3316#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} assume !false; {3316#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:59,163 INFO L290 TraceCheckUtils]: 41: Hoare triple {3338#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {3316#(= (+ (* |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~a~0#1|)} is VALID [2022-02-20 17:21:59,164 INFO L290 TraceCheckUtils]: 40: Hoare triple {3338#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} assume !!(main_~a~0#1 != main_~b~0#1); {3338#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:21:59,165 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)))} #75#return; {3338#(= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|))} is VALID [2022-02-20 17:21:59,165 INFO L290 TraceCheckUtils]: 38: Hoare triple {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:59,165 INFO L290 TraceCheckUtils]: 37: Hoare triple {3355#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3261#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-02-20 17:21:59,166 INFO L290 TraceCheckUtils]: 36: Hoare triple {3143#true} ~cond := #in~cond; {3355#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-02-20 17:21:59,166 INFO L272 TraceCheckUtils]: 35: Hoare triple {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:59,167 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3143#true} {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)))} #73#return; {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)))} is VALID [2022-02-20 17:21:59,167 INFO L290 TraceCheckUtils]: 33: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:59,167 INFO L290 TraceCheckUtils]: 32: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:59,167 INFO L290 TraceCheckUtils]: 31: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:59,167 INFO L272 TraceCheckUtils]: 30: Hoare triple {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:59,168 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3143#true} {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)))} #71#return; {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)))} is VALID [2022-02-20 17:21:59,168 INFO L290 TraceCheckUtils]: 28: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:59,168 INFO L290 TraceCheckUtils]: 27: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:59,168 INFO L290 TraceCheckUtils]: 26: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:59,168 INFO L272 TraceCheckUtils]: 25: Hoare triple {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:59,169 INFO L290 TraceCheckUtils]: 24: Hoare triple {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)))} assume !false; {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)))} is VALID [2022-02-20 17:21:59,170 INFO L290 TraceCheckUtils]: 23: Hoare triple {3143#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {3345#(or (= (+ (* (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) |ULTIMATE.start_main_~p~0#1|) |ULTIMATE.start_main_~x~0#1|) (* |ULTIMATE.start_main_~y~0#1| (+ |ULTIMATE.start_main_~r~0#1| (* (- 1) |ULTIMATE.start_main_~s~0#1|)))) (+ (* (- 1) |ULTIMATE.start_main_~b~0#1|) |ULTIMATE.start_main_~a~0#1|)) (not (= (+ (* |ULTIMATE.start_main_~s~0#1| |ULTIMATE.start_main_~y~0#1|) (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~x~0#1|)) |ULTIMATE.start_main_~b~0#1|)))} is VALID [2022-02-20 17:21:59,170 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3143#true} {3143#true} #69#return; {3143#true} is VALID [2022-02-20 17:21:59,170 INFO L290 TraceCheckUtils]: 21: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:59,170 INFO L290 TraceCheckUtils]: 20: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:59,170 INFO L290 TraceCheckUtils]: 19: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:59,170 INFO L272 TraceCheckUtils]: 18: Hoare triple {3143#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:59,170 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3143#true} {3143#true} #67#return; {3143#true} is VALID [2022-02-20 17:21:59,170 INFO L290 TraceCheckUtils]: 16: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:59,170 INFO L290 TraceCheckUtils]: 15: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:59,170 INFO L290 TraceCheckUtils]: 14: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L272 TraceCheckUtils]: 13: Hoare triple {3143#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3143#true} {3143#true} #65#return; {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L290 TraceCheckUtils]: 11: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L290 TraceCheckUtils]: 10: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L290 TraceCheckUtils]: 9: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L272 TraceCheckUtils]: 8: Hoare triple {3143#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 10 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L290 TraceCheckUtils]: 7: Hoare triple {3143#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3143#true} {3143#true} #63#return; {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L290 TraceCheckUtils]: 5: Hoare triple {3143#true} assume true; {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L290 TraceCheckUtils]: 4: Hoare triple {3143#true} assume !(0 == ~cond); {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L290 TraceCheckUtils]: 3: Hoare triple {3143#true} ~cond := #in~cond; {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L272 TraceCheckUtils]: 2: Hoare triple {3143#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 10 then 1 else 0)); {3143#true} is VALID [2022-02-20 17:21:59,171 INFO L290 TraceCheckUtils]: 1: Hoare triple {3143#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {3143#true} is VALID [2022-02-20 17:21:59,172 INFO L290 TraceCheckUtils]: 0: Hoare triple {3143#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); {3143#true} is VALID [2022-02-20 17:21:59,172 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-02-20 17:21:59,172 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:21:59,172 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1900323922] [2022-02-20 17:21:59,172 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:21:59,172 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [629100238] [2022-02-20 17:21:59,172 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [629100238] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 17:21:59,172 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 17:21:59,172 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 9] total 12 [2022-02-20 17:21:59,172 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1830343898] [2022-02-20 17:21:59,173 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 17:21:59,173 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 52 [2022-02-20 17:21:59,173 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:21:59,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-20 17:21:59,268 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:21:59,268 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 17:21:59,268 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:21:59,268 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 17:21:59,269 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-02-20 17:21:59,269 INFO L87 Difference]: Start difference. First operand 80 states and 101 transitions. Second operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-20 17:22:05,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:05,030 INFO L93 Difference]: Finished difference Result 106 states and 137 transitions. [2022-02-20 17:22:05,030 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 17:22:05,030 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 52 [2022-02-20 17:22:05,030 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:05,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-20 17:22:05,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-02-20 17:22:05,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-20 17:22:05,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 71 transitions. [2022-02-20 17:22:05,038 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 71 transitions. [2022-02-20 17:22:05,220 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 17:22:05,222 INFO L225 Difference]: With dead ends: 106 [2022-02-20 17:22:05,222 INFO L226 Difference]: Without dead ends: 99 [2022-02-20 17:22:05,223 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 106 GetRequests, 90 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=182, Unknown=0, NotChecked=0, Total=240 [2022-02-20 17:22:05,223 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 28 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 68 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 200 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 68 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 17:22:05,223 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 131 Invalid, 200 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [68 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-02-20 17:22:05,224 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2022-02-20 17:22:05,248 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 84. [2022-02-20 17:22:05,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 17:22:05,248 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand has 84 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 21 states have call successors, (21), 11 states have call predecessors, (21), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:22:05,249 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand has 84 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 21 states have call successors, (21), 11 states have call predecessors, (21), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:22:05,249 INFO L87 Difference]: Start difference. First operand 99 states. Second operand has 84 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 21 states have call successors, (21), 11 states have call predecessors, (21), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:22:05,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:05,253 INFO L93 Difference]: Finished difference Result 99 states and 124 transitions. [2022-02-20 17:22:05,253 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 124 transitions. [2022-02-20 17:22:05,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:05,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:05,254 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 21 states have call successors, (21), 11 states have call predecessors, (21), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) Second operand 99 states. [2022-02-20 17:22:05,254 INFO L87 Difference]: Start difference. First operand has 84 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 21 states have call successors, (21), 11 states have call predecessors, (21), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) Second operand 99 states. [2022-02-20 17:22:05,261 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:05,261 INFO L93 Difference]: Finished difference Result 99 states and 124 transitions. [2022-02-20 17:22:05,261 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 124 transitions. [2022-02-20 17:22:05,261 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 17:22:05,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 17:22:05,262 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 17:22:05,262 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 17:22:05,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 51 states have (on average 1.1176470588235294) internal successors, (57), 53 states have internal predecessors, (57), 21 states have call successors, (21), 11 states have call predecessors, (21), 11 states have return successors, (20), 19 states have call predecessors, (20), 20 states have call successors, (20) [2022-02-20 17:22:05,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 98 transitions. [2022-02-20 17:22:05,266 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 98 transitions. Word has length 52 [2022-02-20 17:22:05,266 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 17:22:05,266 INFO L470 AbstractCegarLoop]: Abstraction has 84 states and 98 transitions. [2022-02-20 17:22:05,266 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.25) internal successors, (27), 11 states have internal predecessors, (27), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-02-20 17:22:05,266 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 98 transitions. [2022-02-20 17:22:05,267 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 66 [2022-02-20 17:22:05,267 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 17:22:05,267 INFO L514 BasicCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 17:22:05,293 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-20 17:22:05,483 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:05,484 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-02-20 17:22:05,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 17:22:05,484 INFO L85 PathProgramCache]: Analyzing trace with hash 1236716699, now seen corresponding path program 1 times [2022-02-20 17:22:05,484 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 17:22:05,485 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2038158562] [2022-02-20 17:22:05,485 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:05,485 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 17:22:05,499 ERROR L252 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-02-20 17:22:05,500 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1581260988] [2022-02-20 17:22:05,500 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 17:22:05,500 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 17:22:05,500 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 17:22:05,501 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 17:22:05,514 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-02-20 17:22:05,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:05,552 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 19 conjunts are in the unsatisfiable core [2022-02-20 17:22:05,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 17:22:05,563 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 17:22:05,938 INFO L290 TraceCheckUtils]: 0: Hoare triple {3949#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); {3949#true} is VALID [2022-02-20 17:22:05,939 INFO L290 TraceCheckUtils]: 1: Hoare triple {3949#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {3949#true} is VALID [2022-02-20 17:22:05,939 INFO L272 TraceCheckUtils]: 2: Hoare triple {3949#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 10 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:05,939 INFO L290 TraceCheckUtils]: 3: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:05,939 INFO L290 TraceCheckUtils]: 4: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:05,939 INFO L290 TraceCheckUtils]: 5: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:05,940 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3949#true} {3949#true} #63#return; {3949#true} is VALID [2022-02-20 17:22:05,940 INFO L290 TraceCheckUtils]: 7: Hoare triple {3949#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3949#true} is VALID [2022-02-20 17:22:05,940 INFO L272 TraceCheckUtils]: 8: Hoare triple {3949#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 10 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:05,940 INFO L290 TraceCheckUtils]: 9: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:05,940 INFO L290 TraceCheckUtils]: 10: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:05,940 INFO L290 TraceCheckUtils]: 11: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:05,941 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3949#true} {3949#true} #65#return; {3949#true} is VALID [2022-02-20 17:22:05,941 INFO L272 TraceCheckUtils]: 13: Hoare triple {3949#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:05,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:05,941 INFO L290 TraceCheckUtils]: 15: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:05,941 INFO L290 TraceCheckUtils]: 16: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:05,941 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3949#true} {3949#true} #67#return; {3949#true} is VALID [2022-02-20 17:22:05,942 INFO L272 TraceCheckUtils]: 18: Hoare triple {3949#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:05,942 INFO L290 TraceCheckUtils]: 19: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:05,942 INFO L290 TraceCheckUtils]: 20: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:05,942 INFO L290 TraceCheckUtils]: 21: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:05,942 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3949#true} {3949#true} #69#return; {3949#true} is VALID [2022-02-20 17:22:05,943 INFO L290 TraceCheckUtils]: 23: Hoare triple {3949#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:05,944 INFO L290 TraceCheckUtils]: 24: Hoare triple {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:05,944 INFO L272 TraceCheckUtils]: 25: Hoare triple {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:05,944 INFO L290 TraceCheckUtils]: 26: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:05,944 INFO L290 TraceCheckUtils]: 27: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:05,944 INFO L290 TraceCheckUtils]: 28: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:05,945 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3949#true} {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #71#return; {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:05,945 INFO L272 TraceCheckUtils]: 30: Hoare triple {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:05,946 INFO L290 TraceCheckUtils]: 31: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:05,946 INFO L290 TraceCheckUtils]: 32: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:05,946 INFO L290 TraceCheckUtils]: 33: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:05,947 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3949#true} {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #73#return; {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:05,947 INFO L272 TraceCheckUtils]: 35: Hoare triple {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:05,947 INFO L290 TraceCheckUtils]: 36: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:05,947 INFO L290 TraceCheckUtils]: 37: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:05,947 INFO L290 TraceCheckUtils]: 38: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:05,948 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3949#true} {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #75#return; {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:05,949 INFO L290 TraceCheckUtils]: 40: Hoare triple {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_~a~0#1 != main_~b~0#1); {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:05,949 INFO L290 TraceCheckUtils]: 41: Hoare triple {4023#(and (= |ULTIMATE.start_main_~p~0#1| 1) (= |ULTIMATE.start_main_~r~0#1| 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:05,950 INFO L290 TraceCheckUtils]: 42: Hoare triple {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !false; {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:05,950 INFO L272 TraceCheckUtils]: 43: Hoare triple {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:05,950 INFO L290 TraceCheckUtils]: 44: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:05,950 INFO L290 TraceCheckUtils]: 45: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:05,950 INFO L290 TraceCheckUtils]: 46: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:05,951 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3949#true} {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #71#return; {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:05,951 INFO L272 TraceCheckUtils]: 48: Hoare triple {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:05,951 INFO L290 TraceCheckUtils]: 49: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:05,951 INFO L290 TraceCheckUtils]: 50: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:05,951 INFO L290 TraceCheckUtils]: 51: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:05,951 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3949#true} {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #73#return; {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:05,952 INFO L272 TraceCheckUtils]: 53: Hoare triple {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:05,952 INFO L290 TraceCheckUtils]: 54: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:05,952 INFO L290 TraceCheckUtils]: 55: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:05,952 INFO L290 TraceCheckUtils]: 56: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:05,954 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {3949#true} {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} #75#return; {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:05,955 INFO L290 TraceCheckUtils]: 58: Hoare triple {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !!(main_~a~0#1 != main_~b~0#1); {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} is VALID [2022-02-20 17:22:05,956 INFO L290 TraceCheckUtils]: 59: Hoare triple {4078#(and (= |ULTIMATE.start_main_~p~0#1| (+ (* (- 1) |ULTIMATE.start_main_~q~0#1|) 1)) (= (+ |ULTIMATE.start_main_~r~0#1| |ULTIMATE.start_main_~s~0#1|) 0) (= |ULTIMATE.start_main_~q~0#1| 0) (= |ULTIMATE.start_main_~s~0#1| 1))} assume !(main_~a~0#1 > main_~b~0#1);main_~b~0#1 := main_~b~0#1 - main_~a~0#1;main_~q~0#1 := main_~q~0#1 - main_~p~0#1;main_~s~0#1 := main_~s~0#1 - main_~r~0#1; {4133#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= |ULTIMATE.start_main_~q~0#1| (+ (* (- 2) |ULTIMATE.start_main_~p~0#1|) 1)))} is VALID [2022-02-20 17:22:05,956 INFO L290 TraceCheckUtils]: 60: Hoare triple {4133#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= |ULTIMATE.start_main_~q~0#1| (+ (* (- 2) |ULTIMATE.start_main_~p~0#1|) 1)))} assume !false; {4133#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= |ULTIMATE.start_main_~q~0#1| (+ (* (- 2) |ULTIMATE.start_main_~p~0#1|) 1)))} is VALID [2022-02-20 17:22:05,958 INFO L272 TraceCheckUtils]: 61: Hoare triple {4133#(and (= (+ |ULTIMATE.start_main_~r~0#1| 1) 0) (= (+ (* (- 1) |ULTIMATE.start_main_~p~0#1|) 1) 0) (= |ULTIMATE.start_main_~s~0#1| (+ (* (- 1) |ULTIMATE.start_main_~r~0#1|) 1)) (= |ULTIMATE.start_main_~q~0#1| (+ (* (- 2) |ULTIMATE.start_main_~p~0#1|) 1)))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {4140#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:05,959 INFO L290 TraceCheckUtils]: 62: Hoare triple {4140#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4144#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:05,959 INFO L290 TraceCheckUtils]: 63: Hoare triple {4144#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3950#false} is VALID [2022-02-20 17:22:05,959 INFO L290 TraceCheckUtils]: 64: Hoare triple {3950#false} assume !false; {3950#false} is VALID [2022-02-20 17:22:05,960 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-02-20 17:22:05,960 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 17:22:06,238 INFO L290 TraceCheckUtils]: 64: Hoare triple {3950#false} assume !false; {3950#false} is VALID [2022-02-20 17:22:06,238 INFO L290 TraceCheckUtils]: 63: Hoare triple {4144#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3950#false} is VALID [2022-02-20 17:22:06,238 INFO L290 TraceCheckUtils]: 62: Hoare triple {4140#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4144#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-02-20 17:22:06,239 INFO L272 TraceCheckUtils]: 61: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {4140#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-02-20 17:22:06,240 INFO L290 TraceCheckUtils]: 60: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !false; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,243 INFO L290 TraceCheckUtils]: 59: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !(main_~a~0#1 > main_~b~0#1);main_~b~0#1 := main_~b~0#1 - main_~a~0#1;main_~q~0#1 := main_~q~0#1 - main_~p~0#1;main_~s~0#1 := main_~s~0#1 - main_~r~0#1; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,243 INFO L290 TraceCheckUtils]: 58: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !!(main_~a~0#1 != main_~b~0#1); {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,244 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {3949#true} {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #75#return; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,244 INFO L290 TraceCheckUtils]: 56: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:06,244 INFO L290 TraceCheckUtils]: 55: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:06,244 INFO L290 TraceCheckUtils]: 54: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:06,244 INFO L272 TraceCheckUtils]: 53: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:06,245 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {3949#true} {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #73#return; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,245 INFO L290 TraceCheckUtils]: 51: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:06,245 INFO L290 TraceCheckUtils]: 50: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:06,245 INFO L290 TraceCheckUtils]: 49: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:06,245 INFO L272 TraceCheckUtils]: 48: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:06,246 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {3949#true} {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #71#return; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,246 INFO L290 TraceCheckUtils]: 46: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:06,246 INFO L290 TraceCheckUtils]: 45: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:06,246 INFO L290 TraceCheckUtils]: 44: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:06,246 INFO L272 TraceCheckUtils]: 43: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:06,247 INFO L290 TraceCheckUtils]: 42: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !false; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,250 INFO L290 TraceCheckUtils]: 41: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume main_~a~0#1 > main_~b~0#1;main_~a~0#1 := main_~a~0#1 - main_~b~0#1;main_~p~0#1 := main_~p~0#1 - main_~q~0#1;main_~r~0#1 := main_~r~0#1 - main_~s~0#1; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,250 INFO L290 TraceCheckUtils]: 40: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !!(main_~a~0#1 != main_~b~0#1); {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,251 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3949#true} {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #75#return; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,251 INFO L290 TraceCheckUtils]: 38: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:06,251 INFO L290 TraceCheckUtils]: 37: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:06,251 INFO L290 TraceCheckUtils]: 36: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:06,251 INFO L272 TraceCheckUtils]: 35: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if main_~b~0#1 == main_~x~0#1 * main_~q~0#1 + main_~y~0#1 * main_~s~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:06,252 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3949#true} {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #73#return; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,252 INFO L290 TraceCheckUtils]: 33: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:06,252 INFO L290 TraceCheckUtils]: 32: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:06,252 INFO L290 TraceCheckUtils]: 31: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:06,252 INFO L272 TraceCheckUtils]: 30: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if main_~a~0#1 == main_~y~0#1 * main_~r~0#1 + main_~x~0#1 * main_~p~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:06,253 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {3949#true} {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} #71#return; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,253 INFO L290 TraceCheckUtils]: 28: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:06,253 INFO L290 TraceCheckUtils]: 27: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:06,253 INFO L290 TraceCheckUtils]: 26: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:06,253 INFO L272 TraceCheckUtils]: 25: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} call __VERIFIER_assert((if 1 == main_~p~0#1 * main_~s~0#1 - main_~r~0#1 * main_~q~0#1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:06,254 INFO L290 TraceCheckUtils]: 24: Hoare triple {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} assume !false; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,254 INFO L290 TraceCheckUtils]: 23: Hoare triple {3949#true} main_~a~0#1 := main_~x~0#1;main_~b~0#1 := main_~y~0#1;main_~p~0#1 := 1;main_~q~0#1 := 0;main_~r~0#1 := 0;main_~s~0#1 := 1; {4160#(= (* |ULTIMATE.start_main_~p~0#1| |ULTIMATE.start_main_~s~0#1|) (+ (* |ULTIMATE.start_main_~q~0#1| |ULTIMATE.start_main_~r~0#1|) 1))} is VALID [2022-02-20 17:22:06,254 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3949#true} {3949#true} #69#return; {3949#true} is VALID [2022-02-20 17:22:06,255 INFO L290 TraceCheckUtils]: 21: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:06,255 INFO L290 TraceCheckUtils]: 20: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:06,255 INFO L290 TraceCheckUtils]: 19: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:06,255 INFO L272 TraceCheckUtils]: 18: Hoare triple {3949#true} call assume_abort_if_not((if main_~y~0#1 >= 1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:06,255 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3949#true} {3949#true} #67#return; {3949#true} is VALID [2022-02-20 17:22:06,255 INFO L290 TraceCheckUtils]: 16: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:06,256 INFO L290 TraceCheckUtils]: 15: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:06,256 INFO L290 TraceCheckUtils]: 14: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:06,256 INFO L272 TraceCheckUtils]: 13: Hoare triple {3949#true} call assume_abort_if_not((if main_~x~0#1 >= 1 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:06,256 INFO L284 TraceCheckUtils]: 12: Hoare quadruple {3949#true} {3949#true} #65#return; {3949#true} is VALID [2022-02-20 17:22:06,256 INFO L290 TraceCheckUtils]: 11: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:06,256 INFO L290 TraceCheckUtils]: 10: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:06,256 INFO L290 TraceCheckUtils]: 9: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:06,257 INFO L272 TraceCheckUtils]: 8: Hoare triple {3949#true} call assume_abort_if_not((if main_~y~0#1 >= 0 && main_~y~0#1 <= 10 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:06,257 INFO L290 TraceCheckUtils]: 7: Hoare triple {3949#true} assume -2147483648 <= main_#t~nondet5#1 && main_#t~nondet5#1 <= 2147483647;main_~y~0#1 := main_#t~nondet5#1;havoc main_#t~nondet5#1; {3949#true} is VALID [2022-02-20 17:22:06,257 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {3949#true} {3949#true} #63#return; {3949#true} is VALID [2022-02-20 17:22:06,258 INFO L290 TraceCheckUtils]: 5: Hoare triple {3949#true} assume true; {3949#true} is VALID [2022-02-20 17:22:06,258 INFO L290 TraceCheckUtils]: 4: Hoare triple {3949#true} assume !(0 == ~cond); {3949#true} is VALID [2022-02-20 17:22:06,258 INFO L290 TraceCheckUtils]: 3: Hoare triple {3949#true} ~cond := #in~cond; {3949#true} is VALID [2022-02-20 17:22:06,259 INFO L272 TraceCheckUtils]: 2: Hoare triple {3949#true} call assume_abort_if_not((if main_~x~0#1 >= 0 && main_~x~0#1 <= 10 then 1 else 0)); {3949#true} is VALID [2022-02-20 17:22:06,259 INFO L290 TraceCheckUtils]: 1: Hoare triple {3949#true} assume { :end_inline_ULTIMATE.init } true;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet4#1, main_#t~nondet5#1, main_~a~0#1, main_~b~0#1, main_~p~0#1, main_~q~0#1, main_~r~0#1, main_~s~0#1, main_~x~0#1, main_~y~0#1;havoc main_~a~0#1;havoc main_~b~0#1;havoc main_~p~0#1;havoc main_~q~0#1;havoc main_~r~0#1;havoc main_~s~0#1;havoc main_~x~0#1;havoc main_~y~0#1;assume -2147483648 <= main_#t~nondet4#1 && main_#t~nondet4#1 <= 2147483647;main_~x~0#1 := main_#t~nondet4#1;havoc main_#t~nondet4#1; {3949#true} is VALID [2022-02-20 17:22:06,259 INFO L290 TraceCheckUtils]: 0: Hoare triple {3949#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); {3949#true} is VALID [2022-02-20 17:22:06,259 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 94 trivial. 0 not checked. [2022-02-20 17:22:06,260 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 17:22:06,260 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2038158562] [2022-02-20 17:22:06,260 WARN L317 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-02-20 17:22:06,260 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1581260988] [2022-02-20 17:22:06,260 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1581260988] provided 1 perfect and 1 imperfect interpolant sequences [2022-02-20 17:22:06,260 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 17:22:06,260 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-02-20 17:22:06,262 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [116790699] [2022-02-20 17:22:06,263 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 17:22:06,263 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 65 [2022-02-20 17:22:06,263 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 17:22:06,264 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:06,293 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:22:06,293 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 17:22:06,294 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 17:22:06,294 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 17:22:06,294 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-02-20 17:22:06,294 INFO L87 Difference]: Start difference. First operand 84 states and 98 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:06,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 17:22:06,445 INFO L93 Difference]: Finished difference Result 84 states and 98 transitions. [2022-02-20 17:22:06,445 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 17:22:06,445 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 65 [2022-02-20 17:22:06,445 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 17:22:06,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:06,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2022-02-20 17:22:06,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-02-20 17:22:06,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2022-02-20 17:22:06,447 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 39 transitions.