/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench/egcd3-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-07 12:33:45,280 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-07 12:33:45,281 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-07 12:33:45,303 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-07 12:33:45,304 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-07 12:33:45,307 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-07 12:33:45,308 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-07 12:33:45,309 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-07 12:33:45,310 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-07 12:33:45,310 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-07 12:33:45,311 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-07 12:33:45,312 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-07 12:33:45,312 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-07 12:33:45,312 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-07 12:33:45,313 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-07 12:33:45,314 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-07 12:33:45,314 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-07 12:33:45,315 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-07 12:33:45,316 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-07 12:33:45,317 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-07 12:33:45,318 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-07 12:33:45,324 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-07 12:33:45,325 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-07 12:33:45,326 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-07 12:33:45,326 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-07 12:33:45,328 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-07 12:33:45,328 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-07 12:33:45,328 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-07 12:33:45,329 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-07 12:33:45,331 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-07 12:33:45,331 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-07 12:33:45,332 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-07 12:33:45,332 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-07 12:33:45,332 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-07 12:33:45,333 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-07 12:33:45,333 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-07 12:33:45,334 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-07 12:33:45,334 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-07 12:33:45,334 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-07 12:33:45,334 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-07 12:33:45,335 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-07 12:33:45,337 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-07 12:33:45,338 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-07 12:33:45,351 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-07 12:33:45,352 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-07 12:33:45,352 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-07 12:33:45,352 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-07 12:33:45,352 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-07 12:33:45,352 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-07 12:33:45,353 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-07 12:33:45,353 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-07 12:33:45,353 INFO L138 SettingsManager]: * Use SBE=true [2022-04-07 12:33:45,353 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-07 12:33:45,353 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-07 12:33:45,353 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-07 12:33:45,353 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-07 12:33:45,353 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-07 12:33:45,353 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-07 12:33:45,354 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-07 12:33:45,354 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-07 12:33:45,354 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-07 12:33:45,354 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-07 12:33:45,354 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-07 12:33:45,354 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-07 12:33:45,354 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-07 12:33:45,354 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-07 12:33:45,354 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-07 12:33:45,354 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 12:33:45,354 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-07 12:33:45,355 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-07 12:33:45,355 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-07 12:33:45,355 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-07 12:33:45,355 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-07 12:33:45,356 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2022-04-07 12:33:45,356 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-07 12:33:45,356 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-07 12:33:45,357 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-07 12:33:45,541 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-07 12:33:45,557 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-07 12:33:45,558 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-07 12:33:45,559 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-07 12:33:45,559 INFO L275 PluginConnector]: CDTParser initialized [2022-04-07 12:33:45,560 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/egcd3-ll.c [2022-04-07 12:33:45,599 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8d8bea744/aa2db2657ca547d4a8089834ffbe660a/FLAGc16732f8a [2022-04-07 12:33:45,930 INFO L306 CDTParser]: Found 1 translation units. [2022-04-07 12:33:45,930 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd3-ll.c [2022-04-07 12:33:45,936 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8d8bea744/aa2db2657ca547d4a8089834ffbe660a/FLAGc16732f8a [2022-04-07 12:33:45,945 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8d8bea744/aa2db2657ca547d4a8089834ffbe660a [2022-04-07 12:33:45,946 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-07 12:33:45,947 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-07 12:33:45,948 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-07 12:33:45,948 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-07 12:33:45,958 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-07 12:33:45,958 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 12:33:45" (1/1) ... [2022-04-07 12:33:45,959 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3845caeb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:33:45, skipping insertion in model container [2022-04-07 12:33:45,959 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 07.04 12:33:45" (1/1) ... [2022-04-07 12:33:45,966 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-07 12:33:45,975 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-07 12:33:46,129 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd3-ll.c[490,503] [2022-04-07 12:33:46,155 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 12:33:46,161 INFO L203 MainTranslator]: Completed pre-run [2022-04-07 12:33:46,168 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd3-ll.c[490,503] [2022-04-07 12:33:46,175 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-07 12:33:46,184 INFO L208 MainTranslator]: Completed translation [2022-04-07 12:33:46,184 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:33:46 WrapperNode [2022-04-07 12:33:46,184 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-07 12:33:46,185 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-07 12:33:46,185 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-07 12:33:46,185 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-07 12:33:46,191 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:33:46" (1/1) ... [2022-04-07 12:33:46,192 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:33:46" (1/1) ... [2022-04-07 12:33:46,196 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:33:46" (1/1) ... [2022-04-07 12:33:46,196 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:33:46" (1/1) ... [2022-04-07 12:33:46,200 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:33:46" (1/1) ... [2022-04-07 12:33:46,203 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:33:46" (1/1) ... [2022-04-07 12:33:46,204 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:33:46" (1/1) ... [2022-04-07 12:33:46,205 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-07 12:33:46,206 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-07 12:33:46,206 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-07 12:33:46,206 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-07 12:33:46,212 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:33:46" (1/1) ... [2022-04-07 12:33:46,217 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-07 12:33:46,224 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:33:46,236 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-07 12:33:46,256 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-07 12:33:46,270 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-07 12:33:46,280 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-07 12:33:46,280 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-07 12:33:46,280 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-07 12:33:46,282 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-07 12:33:46,282 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-07 12:33:46,282 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-07 12:33:46,282 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-07 12:33:46,282 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-07 12:33:46,282 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-07 12:33:46,282 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-07 12:33:46,282 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-07 12:33:46,282 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-07 12:33:46,282 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-07 12:33:46,283 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-07 12:33:46,283 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-07 12:33:46,283 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-07 12:33:46,283 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-07 12:33:46,283 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-07 12:33:46,283 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-07 12:33:46,332 INFO L234 CfgBuilder]: Building ICFG [2022-04-07 12:33:46,333 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-07 12:33:46,521 INFO L275 CfgBuilder]: Performing block encoding [2022-04-07 12:33:46,527 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-07 12:33:46,527 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-07 12:33:46,533 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 12:33:46 BoogieIcfgContainer [2022-04-07 12:33:46,533 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-07 12:33:46,534 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-07 12:33:46,534 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-07 12:33:46,537 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-07 12:33:46,537 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 07.04 12:33:45" (1/3) ... [2022-04-07 12:33:46,538 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@707ebd2f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 12:33:46, skipping insertion in model container [2022-04-07 12:33:46,538 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 07.04 12:33:46" (2/3) ... [2022-04-07 12:33:46,538 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@707ebd2f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.04 12:33:46, skipping insertion in model container [2022-04-07 12:33:46,538 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.04 12:33:46" (3/3) ... [2022-04-07 12:33:46,539 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll.c [2022-04-07 12:33:46,542 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-07 12:33:46,542 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-07 12:33:46,580 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-07 12:33:46,593 INFO L340 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 [2022-04-07 12:33:46,593 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-07 12:33:46,611 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 23 states have internal predecessors, (34), 9 states have call successors, (9), 4 states have call predecessors, (9), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-07 12:33:46,614 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-07 12:33:46,614 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:33:46,615 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:33:46,615 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:33:46,619 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:33:46,619 INFO L85 PathProgramCache]: Analyzing trace with hash 642197559, now seen corresponding path program 1 times [2022-04-07 12:33:46,626 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:33:46,627 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1230589358] [2022-04-07 12:33:46,627 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:46,628 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:33:46,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:46,793 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-07 12:33:46,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:46,819 INFO L290 TraceCheckUtils]: 0: Hoare triple {53#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-07 12:33:46,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-07 12:33:46,820 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #105#return; {40#true} is VALID [2022-04-07 12:33:46,821 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-07 12:33:46,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:46,842 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-07 12:33:46,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-07 12:33:46,843 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-07 12:33:46,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #91#return; {41#false} is VALID [2022-04-07 12:33:46,844 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-07 12:33:46,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:46,850 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-07 12:33:46,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-07 12:33:46,851 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-07 12:33:46,851 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #93#return; {41#false} is VALID [2022-04-07 12:33:46,853 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {53#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-07 12:33:46,853 INFO L290 TraceCheckUtils]: 1: Hoare triple {53#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-07 12:33:46,853 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-07 12:33:46,853 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #105#return; {40#true} is VALID [2022-04-07 12:33:46,853 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-07 12:33:46,854 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-07 12:33:46,854 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-07 12:33:46,854 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-07 12:33:46,854 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-07 12:33:46,855 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-07 12:33:46,855 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #91#return; {41#false} is VALID [2022-04-07 12:33:46,855 INFO L272 TraceCheckUtils]: 11: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-07 12:33:46,856 INFO L290 TraceCheckUtils]: 12: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-07 12:33:46,856 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-07 12:33:46,857 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-07 12:33:46,857 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {41#false} {41#false} #93#return; {41#false} is VALID [2022-04-07 12:33:46,858 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-07 12:33:46,858 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-07 12:33:46,858 INFO L272 TraceCheckUtils]: 18: Hoare triple {41#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {41#false} is VALID [2022-04-07 12:33:46,858 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-07 12:33:46,858 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-07 12:33:46,858 INFO L290 TraceCheckUtils]: 21: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-07 12:33:46,859 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 12:33:46,859 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:33:46,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1230589358] [2022-04-07 12:33:46,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1230589358] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 12:33:46,861 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 12:33:46,861 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-07 12:33:46,863 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [586174179] [2022-04-07 12:33:46,864 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 12:33:46,868 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-07 12:33:46,870 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:33:46,872 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 12:33:46,901 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:46,902 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-07 12:33:46,902 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:33:46,918 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-07 12:33:46,919 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 12:33:46,920 INFO L87 Difference]: Start difference. First operand has 37 states, 22 states have (on average 1.5454545454545454) internal successors, (34), 23 states have internal predecessors, (34), 9 states have call successors, (9), 4 states have call predecessors, (9), 4 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 12:33:47,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:47,041 INFO L93 Difference]: Finished difference Result 67 states and 103 transitions. [2022-04-07 12:33:47,041 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-07 12:33:47,042 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-07 12:33:47,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:33:47,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 12:33:47,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 103 transitions. [2022-04-07 12:33:47,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 12:33:47,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 103 transitions. [2022-04-07 12:33:47,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 103 transitions. [2022-04-07 12:33:47,192 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:47,199 INFO L225 Difference]: With dead ends: 67 [2022-04-07 12:33:47,199 INFO L226 Difference]: Without dead ends: 32 [2022-04-07 12:33:47,202 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-07 12:33:47,204 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 23 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 9 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 17 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 9 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 12:33:47,205 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 40 Invalid, 17 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 9 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 12:33:47,222 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-07 12:33:47,231 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-07 12:33:47,231 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:33:47,232 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:33:47,232 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:33:47,233 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:33:47,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:47,237 INFO L93 Difference]: Finished difference Result 32 states and 39 transitions. [2022-04-07 12:33:47,237 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 39 transitions. [2022-04-07 12:33:47,238 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:47,238 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:47,238 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 32 states. [2022-04-07 12:33:47,239 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 32 states. [2022-04-07 12:33:47,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:47,243 INFO L93 Difference]: Finished difference Result 32 states and 39 transitions. [2022-04-07 12:33:47,243 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 39 transitions. [2022-04-07 12:33:47,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:47,244 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:47,244 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:33:47,244 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:33:47,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:33:47,249 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 39 transitions. [2022-04-07 12:33:47,250 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 39 transitions. Word has length 22 [2022-04-07 12:33:47,250 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:33:47,250 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 39 transitions. [2022-04-07 12:33:47,251 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 12:33:47,251 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 39 transitions. [2022-04-07 12:33:47,252 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-07 12:33:47,252 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:33:47,252 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:33:47,252 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-07 12:33:47,252 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:33:47,253 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:33:47,253 INFO L85 PathProgramCache]: Analyzing trace with hash 1042193974, now seen corresponding path program 1 times [2022-04-07 12:33:47,253 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:33:47,253 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [202134305] [2022-04-07 12:33:47,253 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:47,253 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:33:47,267 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:33:47,267 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1686837920] [2022-04-07 12:33:47,267 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:47,267 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:33:47,268 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:33:47,269 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:33:47,270 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-07 12:33:47,319 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:47,321 INFO L263 TraceCheckSpWp]: Trace formula consists of 89 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 12:33:47,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:47,338 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:33:47,478 INFO L272 TraceCheckUtils]: 0: Hoare triple {262#true} call ULTIMATE.init(); {262#true} is VALID [2022-04-07 12:33:47,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {262#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(11, 2);call #Ultimate.allocInit(12, 3); {262#true} is VALID [2022-04-07 12:33:47,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {262#true} assume true; {262#true} is VALID [2022-04-07 12:33:47,479 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {262#true} {262#true} #105#return; {262#true} is VALID [2022-04-07 12:33:47,479 INFO L272 TraceCheckUtils]: 4: Hoare triple {262#true} call #t~ret6 := main(); {262#true} is VALID [2022-04-07 12:33:47,479 INFO L290 TraceCheckUtils]: 5: Hoare triple {262#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {262#true} is VALID [2022-04-07 12:33:47,479 INFO L272 TraceCheckUtils]: 6: Hoare triple {262#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {262#true} is VALID [2022-04-07 12:33:47,479 INFO L290 TraceCheckUtils]: 7: Hoare triple {262#true} ~cond := #in~cond; {262#true} is VALID [2022-04-07 12:33:47,479 INFO L290 TraceCheckUtils]: 8: Hoare triple {262#true} assume !(0 == ~cond); {262#true} is VALID [2022-04-07 12:33:47,479 INFO L290 TraceCheckUtils]: 9: Hoare triple {262#true} assume true; {262#true} is VALID [2022-04-07 12:33:47,480 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {262#true} {262#true} #91#return; {262#true} is VALID [2022-04-07 12:33:47,480 INFO L272 TraceCheckUtils]: 11: Hoare triple {262#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {262#true} is VALID [2022-04-07 12:33:47,480 INFO L290 TraceCheckUtils]: 12: Hoare triple {262#true} ~cond := #in~cond; {303#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 12:33:47,480 INFO L290 TraceCheckUtils]: 13: Hoare triple {303#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {307#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:47,481 INFO L290 TraceCheckUtils]: 14: Hoare triple {307#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {307#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:47,481 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {307#(not (= |assume_abort_if_not_#in~cond| 0))} {262#true} #93#return; {314#(<= 1 main_~y~0)} is VALID [2022-04-07 12:33:47,482 INFO L290 TraceCheckUtils]: 16: Hoare triple {314#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {318#(<= 1 main_~b~0)} is VALID [2022-04-07 12:33:47,482 INFO L290 TraceCheckUtils]: 17: Hoare triple {318#(<= 1 main_~b~0)} assume !false; {318#(<= 1 main_~b~0)} is VALID [2022-04-07 12:33:47,482 INFO L290 TraceCheckUtils]: 18: Hoare triple {318#(<= 1 main_~b~0)} assume !(0 != ~b~0); {263#false} is VALID [2022-04-07 12:33:47,483 INFO L272 TraceCheckUtils]: 19: Hoare triple {263#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {263#false} is VALID [2022-04-07 12:33:47,483 INFO L290 TraceCheckUtils]: 20: Hoare triple {263#false} ~cond := #in~cond; {263#false} is VALID [2022-04-07 12:33:47,483 INFO L290 TraceCheckUtils]: 21: Hoare triple {263#false} assume 0 == ~cond; {263#false} is VALID [2022-04-07 12:33:47,483 INFO L290 TraceCheckUtils]: 22: Hoare triple {263#false} assume !false; {263#false} is VALID [2022-04-07 12:33:47,483 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 12:33:47,483 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 12:33:47,484 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:33:47,484 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [202134305] [2022-04-07 12:33:47,484 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:33:47,484 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1686837920] [2022-04-07 12:33:47,484 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1686837920] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 12:33:47,484 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 12:33:47,484 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-07 12:33:47,485 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [900536612] [2022-04-07 12:33:47,485 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 12:33:47,486 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-07 12:33:47,486 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:33:47,486 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 12:33:47,500 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:47,500 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-07 12:33:47,500 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:33:47,500 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-07 12:33:47,501 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-07 12:33:47,501 INFO L87 Difference]: Start difference. First operand 32 states and 39 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 12:33:47,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:47,721 INFO L93 Difference]: Finished difference Result 51 states and 64 transitions. [2022-04-07 12:33:47,722 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-07 12:33:47,722 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-07 12:33:47,723 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:33:47,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 12:33:47,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-07 12:33:47,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 12:33:47,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-07 12:33:47,736 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-04-07 12:33:47,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:47,811 INFO L225 Difference]: With dead ends: 51 [2022-04-07 12:33:47,811 INFO L226 Difference]: Without dead ends: 44 [2022-04-07 12:33:47,812 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-07 12:33:47,813 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 31 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 60 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 124 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 60 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 12:33:47,814 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 124 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 60 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 12:33:47,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-07 12:33:47,835 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 34. [2022-04-07 12:33:47,836 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:33:47,836 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 34 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 22 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:33:47,836 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 34 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 22 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:33:47,836 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 34 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 22 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:33:47,839 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:47,839 INFO L93 Difference]: Finished difference Result 44 states and 57 transitions. [2022-04-07 12:33:47,839 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 57 transitions. [2022-04-07 12:33:47,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:47,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:47,840 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 22 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-07 12:33:47,840 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 22 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-07 12:33:47,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:47,842 INFO L93 Difference]: Finished difference Result 44 states and 57 transitions. [2022-04-07 12:33:47,842 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 57 transitions. [2022-04-07 12:33:47,843 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:47,843 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:47,843 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:33:47,843 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:33:47,844 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 22 states have internal predecessors, (25), 9 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-07 12:33:47,845 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-07 12:33:47,845 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 23 [2022-04-07 12:33:47,845 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:33:47,845 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-07 12:33:47,845 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 12:33:47,846 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-07 12:33:47,846 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-07 12:33:47,846 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:33:47,846 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:33:47,866 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-07 12:33:48,063 WARN L460 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-04-07 12:33:48,063 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:33:48,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:33:48,064 INFO L85 PathProgramCache]: Analyzing trace with hash -690034733, now seen corresponding path program 1 times [2022-04-07 12:33:48,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:33:48,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1898566738] [2022-04-07 12:33:48,064 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:48,065 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:33:48,077 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:33:48,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1572982190] [2022-04-07 12:33:48,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:48,078 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:33:48,078 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:33:48,079 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:33:48,080 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-07 12:33:48,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:48,113 INFO L263 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-07 12:33:48,123 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:48,125 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:33:48,321 INFO L272 TraceCheckUtils]: 0: Hoare triple {555#true} call ULTIMATE.init(); {555#true} is VALID [2022-04-07 12:33:48,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {555#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(11, 2);call #Ultimate.allocInit(12, 3); {555#true} is VALID [2022-04-07 12:33:48,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {555#true} assume true; {555#true} is VALID [2022-04-07 12:33:48,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {555#true} {555#true} #105#return; {555#true} is VALID [2022-04-07 12:33:48,322 INFO L272 TraceCheckUtils]: 4: Hoare triple {555#true} call #t~ret6 := main(); {555#true} is VALID [2022-04-07 12:33:48,322 INFO L290 TraceCheckUtils]: 5: Hoare triple {555#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {555#true} is VALID [2022-04-07 12:33:48,322 INFO L272 TraceCheckUtils]: 6: Hoare triple {555#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {555#true} is VALID [2022-04-07 12:33:48,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {555#true} ~cond := #in~cond; {555#true} is VALID [2022-04-07 12:33:48,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {555#true} assume !(0 == ~cond); {555#true} is VALID [2022-04-07 12:33:48,323 INFO L290 TraceCheckUtils]: 9: Hoare triple {555#true} assume true; {555#true} is VALID [2022-04-07 12:33:48,323 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {555#true} {555#true} #91#return; {555#true} is VALID [2022-04-07 12:33:48,323 INFO L272 TraceCheckUtils]: 11: Hoare triple {555#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {555#true} is VALID [2022-04-07 12:33:48,323 INFO L290 TraceCheckUtils]: 12: Hoare triple {555#true} ~cond := #in~cond; {596#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 12:33:48,323 INFO L290 TraceCheckUtils]: 13: Hoare triple {596#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {600#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:48,324 INFO L290 TraceCheckUtils]: 14: Hoare triple {600#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {600#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:48,324 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {600#(not (= |assume_abort_if_not_#in~cond| 0))} {555#true} #93#return; {607#(<= 1 main_~y~0)} is VALID [2022-04-07 12:33:48,325 INFO L290 TraceCheckUtils]: 16: Hoare triple {607#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:33:48,325 INFO L290 TraceCheckUtils]: 17: Hoare triple {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:33:48,326 INFO L290 TraceCheckUtils]: 18: Hoare triple {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:33:48,326 INFO L290 TraceCheckUtils]: 19: Hoare triple {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:33:48,326 INFO L290 TraceCheckUtils]: 20: Hoare triple {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:33:48,327 INFO L290 TraceCheckUtils]: 21: Hoare triple {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:33:48,327 INFO L272 TraceCheckUtils]: 22: Hoare triple {611#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {630#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:33:48,328 INFO L290 TraceCheckUtils]: 23: Hoare triple {630#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {634#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:33:48,328 INFO L290 TraceCheckUtils]: 24: Hoare triple {634#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {556#false} is VALID [2022-04-07 12:33:48,328 INFO L290 TraceCheckUtils]: 25: Hoare triple {556#false} assume !false; {556#false} is VALID [2022-04-07 12:33:48,328 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 12:33:48,329 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 12:33:48,329 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:33:48,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1898566738] [2022-04-07 12:33:48,329 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:33:48,329 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1572982190] [2022-04-07 12:33:48,329 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1572982190] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 12:33:48,329 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 12:33:48,329 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-07 12:33:48,329 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [426162568] [2022-04-07 12:33:48,330 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 12:33:48,330 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 26 [2022-04-07 12:33:48,330 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:33:48,330 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 12:33:48,346 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:48,346 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-07 12:33:48,346 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:33:48,346 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-07 12:33:48,346 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-07 12:33:48,347 INFO L87 Difference]: Start difference. First operand 34 states and 41 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 12:33:48,649 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:48,649 INFO L93 Difference]: Finished difference Result 50 states and 62 transitions. [2022-04-07 12:33:48,649 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-07 12:33:48,649 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) Word has length 26 [2022-04-07 12:33:48,650 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:33:48,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 12:33:48,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-07 12:33:48,655 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 12:33:48,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-07 12:33:48,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-07 12:33:48,712 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:48,714 INFO L225 Difference]: With dead ends: 50 [2022-04-07 12:33:48,714 INFO L226 Difference]: Without dead ends: 48 [2022-04-07 12:33:48,714 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-07 12:33:48,715 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 28 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 93 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 177 SdHoareTripleChecker+Invalid, 94 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 93 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 12:33:48,715 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 177 Invalid, 94 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 93 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 12:33:48,716 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-07 12:33:48,743 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 47. [2022-04-07 12:33:48,743 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:33:48,744 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 47 states, 29 states have (on average 1.206896551724138) internal successors, (35), 30 states have internal predecessors, (35), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 12:33:48,745 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 47 states, 29 states have (on average 1.206896551724138) internal successors, (35), 30 states have internal predecessors, (35), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 12:33:48,746 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 47 states, 29 states have (on average 1.206896551724138) internal successors, (35), 30 states have internal predecessors, (35), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 12:33:48,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:48,753 INFO L93 Difference]: Finished difference Result 48 states and 60 transitions. [2022-04-07 12:33:48,753 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 60 transitions. [2022-04-07 12:33:48,754 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:48,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:48,754 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 29 states have (on average 1.206896551724138) internal successors, (35), 30 states have internal predecessors, (35), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 48 states. [2022-04-07 12:33:48,755 INFO L87 Difference]: Start difference. First operand has 47 states, 29 states have (on average 1.206896551724138) internal successors, (35), 30 states have internal predecessors, (35), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 48 states. [2022-04-07 12:33:48,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:48,760 INFO L93 Difference]: Finished difference Result 48 states and 60 transitions. [2022-04-07 12:33:48,760 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 60 transitions. [2022-04-07 12:33:48,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:48,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:48,765 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:33:48,765 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:33:48,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 29 states have (on average 1.206896551724138) internal successors, (35), 30 states have internal predecessors, (35), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-07 12:33:48,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 59 transitions. [2022-04-07 12:33:48,768 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 59 transitions. Word has length 26 [2022-04-07 12:33:48,768 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:33:48,768 INFO L478 AbstractCegarLoop]: Abstraction has 47 states and 59 transitions. [2022-04-07 12:33:48,768 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-07 12:33:48,768 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 59 transitions. [2022-04-07 12:33:48,769 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-07 12:33:48,769 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:33:48,769 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:33:48,785 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-04-07 12:33:48,975 WARN L460 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-04-07 12:33:48,975 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:33:48,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:33:48,976 INFO L85 PathProgramCache]: Analyzing trace with hash -796982879, now seen corresponding path program 1 times [2022-04-07 12:33:48,976 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:33:48,976 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1342880953] [2022-04-07 12:33:48,976 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:48,976 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:33:48,992 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:33:48,993 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [236593263] [2022-04-07 12:33:48,993 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:48,993 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:33:48,993 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:33:48,994 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:33:48,995 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-07 12:33:49,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:49,026 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-07 12:33:49,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:49,032 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:33:49,142 INFO L272 TraceCheckUtils]: 0: Hoare triple {885#true} call ULTIMATE.init(); {885#true} is VALID [2022-04-07 12:33:49,142 INFO L290 TraceCheckUtils]: 1: Hoare triple {885#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(11, 2);call #Ultimate.allocInit(12, 3); {885#true} is VALID [2022-04-07 12:33:49,143 INFO L290 TraceCheckUtils]: 2: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-07 12:33:49,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {885#true} {885#true} #105#return; {885#true} is VALID [2022-04-07 12:33:49,143 INFO L272 TraceCheckUtils]: 4: Hoare triple {885#true} call #t~ret6 := main(); {885#true} is VALID [2022-04-07 12:33:49,143 INFO L290 TraceCheckUtils]: 5: Hoare triple {885#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {885#true} is VALID [2022-04-07 12:33:49,143 INFO L272 TraceCheckUtils]: 6: Hoare triple {885#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {885#true} is VALID [2022-04-07 12:33:49,146 INFO L290 TraceCheckUtils]: 7: Hoare triple {885#true} ~cond := #in~cond; {911#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 12:33:49,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {911#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {915#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:49,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {915#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {915#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:49,147 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {915#(not (= |assume_abort_if_not_#in~cond| 0))} {885#true} #91#return; {922#(<= 1 main_~x~0)} is VALID [2022-04-07 12:33:49,147 INFO L272 TraceCheckUtils]: 11: Hoare triple {922#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {885#true} is VALID [2022-04-07 12:33:49,147 INFO L290 TraceCheckUtils]: 12: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-07 12:33:49,147 INFO L290 TraceCheckUtils]: 13: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-07 12:33:49,147 INFO L290 TraceCheckUtils]: 14: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-07 12:33:49,148 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {885#true} {922#(<= 1 main_~x~0)} #93#return; {922#(<= 1 main_~x~0)} is VALID [2022-04-07 12:33:49,148 INFO L290 TraceCheckUtils]: 16: Hoare triple {922#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {941#(<= 1 main_~a~0)} is VALID [2022-04-07 12:33:49,149 INFO L290 TraceCheckUtils]: 17: Hoare triple {941#(<= 1 main_~a~0)} assume !false; {941#(<= 1 main_~a~0)} is VALID [2022-04-07 12:33:49,149 INFO L290 TraceCheckUtils]: 18: Hoare triple {941#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {948#(<= 1 main_~c~0)} is VALID [2022-04-07 12:33:49,149 INFO L290 TraceCheckUtils]: 19: Hoare triple {948#(<= 1 main_~c~0)} assume !false; {948#(<= 1 main_~c~0)} is VALID [2022-04-07 12:33:49,150 INFO L290 TraceCheckUtils]: 20: Hoare triple {948#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {948#(<= 1 main_~c~0)} is VALID [2022-04-07 12:33:49,153 INFO L290 TraceCheckUtils]: 21: Hoare triple {948#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {958#(<= 1 main_~b~0)} is VALID [2022-04-07 12:33:49,153 INFO L290 TraceCheckUtils]: 22: Hoare triple {958#(<= 1 main_~b~0)} assume !false; {958#(<= 1 main_~b~0)} is VALID [2022-04-07 12:33:49,153 INFO L290 TraceCheckUtils]: 23: Hoare triple {958#(<= 1 main_~b~0)} assume !(0 != ~b~0); {886#false} is VALID [2022-04-07 12:33:49,154 INFO L272 TraceCheckUtils]: 24: Hoare triple {886#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {886#false} is VALID [2022-04-07 12:33:49,154 INFO L290 TraceCheckUtils]: 25: Hoare triple {886#false} ~cond := #in~cond; {886#false} is VALID [2022-04-07 12:33:49,154 INFO L290 TraceCheckUtils]: 26: Hoare triple {886#false} assume 0 == ~cond; {886#false} is VALID [2022-04-07 12:33:49,154 INFO L290 TraceCheckUtils]: 27: Hoare triple {886#false} assume !false; {886#false} is VALID [2022-04-07 12:33:49,154 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 12:33:49,154 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:33:49,338 INFO L290 TraceCheckUtils]: 27: Hoare triple {886#false} assume !false; {886#false} is VALID [2022-04-07 12:33:49,338 INFO L290 TraceCheckUtils]: 26: Hoare triple {886#false} assume 0 == ~cond; {886#false} is VALID [2022-04-07 12:33:49,339 INFO L290 TraceCheckUtils]: 25: Hoare triple {886#false} ~cond := #in~cond; {886#false} is VALID [2022-04-07 12:33:49,339 INFO L272 TraceCheckUtils]: 24: Hoare triple {886#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {886#false} is VALID [2022-04-07 12:33:49,339 INFO L290 TraceCheckUtils]: 23: Hoare triple {958#(<= 1 main_~b~0)} assume !(0 != ~b~0); {886#false} is VALID [2022-04-07 12:33:49,340 INFO L290 TraceCheckUtils]: 22: Hoare triple {958#(<= 1 main_~b~0)} assume !false; {958#(<= 1 main_~b~0)} is VALID [2022-04-07 12:33:49,341 INFO L290 TraceCheckUtils]: 21: Hoare triple {948#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {958#(<= 1 main_~b~0)} is VALID [2022-04-07 12:33:49,341 INFO L290 TraceCheckUtils]: 20: Hoare triple {948#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {948#(<= 1 main_~c~0)} is VALID [2022-04-07 12:33:49,342 INFO L290 TraceCheckUtils]: 19: Hoare triple {948#(<= 1 main_~c~0)} assume !false; {948#(<= 1 main_~c~0)} is VALID [2022-04-07 12:33:49,343 INFO L290 TraceCheckUtils]: 18: Hoare triple {941#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {948#(<= 1 main_~c~0)} is VALID [2022-04-07 12:33:49,346 INFO L290 TraceCheckUtils]: 17: Hoare triple {941#(<= 1 main_~a~0)} assume !false; {941#(<= 1 main_~a~0)} is VALID [2022-04-07 12:33:49,346 INFO L290 TraceCheckUtils]: 16: Hoare triple {922#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {941#(<= 1 main_~a~0)} is VALID [2022-04-07 12:33:49,347 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {885#true} {922#(<= 1 main_~x~0)} #93#return; {922#(<= 1 main_~x~0)} is VALID [2022-04-07 12:33:49,347 INFO L290 TraceCheckUtils]: 14: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-07 12:33:49,347 INFO L290 TraceCheckUtils]: 13: Hoare triple {885#true} assume !(0 == ~cond); {885#true} is VALID [2022-04-07 12:33:49,347 INFO L290 TraceCheckUtils]: 12: Hoare triple {885#true} ~cond := #in~cond; {885#true} is VALID [2022-04-07 12:33:49,347 INFO L272 TraceCheckUtils]: 11: Hoare triple {922#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {885#true} is VALID [2022-04-07 12:33:49,348 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {915#(not (= |assume_abort_if_not_#in~cond| 0))} {885#true} #91#return; {922#(<= 1 main_~x~0)} is VALID [2022-04-07 12:33:49,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {915#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {915#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:49,348 INFO L290 TraceCheckUtils]: 8: Hoare triple {1037#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {915#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:49,349 INFO L290 TraceCheckUtils]: 7: Hoare triple {885#true} ~cond := #in~cond; {1037#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-07 12:33:49,349 INFO L272 TraceCheckUtils]: 6: Hoare triple {885#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {885#true} is VALID [2022-04-07 12:33:49,349 INFO L290 TraceCheckUtils]: 5: Hoare triple {885#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {885#true} is VALID [2022-04-07 12:33:49,349 INFO L272 TraceCheckUtils]: 4: Hoare triple {885#true} call #t~ret6 := main(); {885#true} is VALID [2022-04-07 12:33:49,349 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {885#true} {885#true} #105#return; {885#true} is VALID [2022-04-07 12:33:49,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {885#true} assume true; {885#true} is VALID [2022-04-07 12:33:49,349 INFO L290 TraceCheckUtils]: 1: Hoare triple {885#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(11, 2);call #Ultimate.allocInit(12, 3); {885#true} is VALID [2022-04-07 12:33:49,350 INFO L272 TraceCheckUtils]: 0: Hoare triple {885#true} call ULTIMATE.init(); {885#true} is VALID [2022-04-07 12:33:49,350 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 12:33:49,350 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:33:49,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1342880953] [2022-04-07 12:33:49,350 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:33:49,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [236593263] [2022-04-07 12:33:49,350 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [236593263] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:33:49,350 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:33:49,350 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-07 12:33:49,351 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2077497992] [2022-04-07 12:33:49,351 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:33:49,351 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-04-07 12:33:49,351 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:33:49,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 12:33:49,367 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:49,367 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-07 12:33:49,367 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:33:49,368 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-07 12:33:49,368 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-07 12:33:49,368 INFO L87 Difference]: Start difference. First operand 47 states and 59 transitions. Second operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 12:33:49,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:49,883 INFO L93 Difference]: Finished difference Result 100 states and 138 transitions. [2022-04-07 12:33:49,883 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-07 12:33:49,883 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-04-07 12:33:49,883 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:33:49,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 12:33:49,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 103 transitions. [2022-04-07 12:33:49,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 12:33:49,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 103 transitions. [2022-04-07 12:33:49,887 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 103 transitions. [2022-04-07 12:33:49,961 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:49,963 INFO L225 Difference]: With dead ends: 100 [2022-04-07 12:33:49,963 INFO L226 Difference]: Without dead ends: 93 [2022-04-07 12:33:49,963 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 47 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-07 12:33:49,964 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 57 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 61 SdHoareTripleChecker+Valid, 186 SdHoareTripleChecker+Invalid, 168 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-07 12:33:49,964 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [61 Valid, 186 Invalid, 168 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-07 12:33:49,965 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-04-07 12:33:50,018 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 68. [2022-04-07 12:33:50,019 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:33:50,019 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 68 states, 46 states have (on average 1.2608695652173914) internal successors, (58), 47 states have internal predecessors, (58), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 12:33:50,019 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 68 states, 46 states have (on average 1.2608695652173914) internal successors, (58), 47 states have internal predecessors, (58), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 12:33:50,020 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 68 states, 46 states have (on average 1.2608695652173914) internal successors, (58), 47 states have internal predecessors, (58), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 12:33:50,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:50,023 INFO L93 Difference]: Finished difference Result 93 states and 131 transitions. [2022-04-07 12:33:50,023 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 131 transitions. [2022-04-07 12:33:50,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:50,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:50,024 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 46 states have (on average 1.2608695652173914) internal successors, (58), 47 states have internal predecessors, (58), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 93 states. [2022-04-07 12:33:50,025 INFO L87 Difference]: Start difference. First operand has 68 states, 46 states have (on average 1.2608695652173914) internal successors, (58), 47 states have internal predecessors, (58), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 93 states. [2022-04-07 12:33:50,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:50,028 INFO L93 Difference]: Finished difference Result 93 states and 131 transitions. [2022-04-07 12:33:50,028 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 131 transitions. [2022-04-07 12:33:50,029 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:50,029 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:50,029 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:33:50,029 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:33:50,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 46 states have (on average 1.2608695652173914) internal successors, (58), 47 states have internal predecessors, (58), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 12:33:50,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 90 transitions. [2022-04-07 12:33:50,032 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 90 transitions. Word has length 28 [2022-04-07 12:33:50,032 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:33:50,032 INFO L478 AbstractCegarLoop]: Abstraction has 68 states and 90 transitions. [2022-04-07 12:33:50,032 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-07 12:33:50,032 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 90 transitions. [2022-04-07 12:33:50,033 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-07 12:33:50,033 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:33:50,033 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:33:50,054 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-07 12:33:50,233 WARN L460 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-04-07 12:33:50,234 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:33:50,234 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:33:50,234 INFO L85 PathProgramCache]: Analyzing trace with hash 1909913277, now seen corresponding path program 1 times [2022-04-07 12:33:50,234 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:33:50,234 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [710726605] [2022-04-07 12:33:50,235 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:50,235 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:33:50,257 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:33:50,257 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1574487850] [2022-04-07 12:33:50,257 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:50,257 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:33:50,257 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:33:50,258 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:33:50,259 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-07 12:33:50,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:50,291 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-07 12:33:50,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:50,301 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:33:50,474 INFO L272 TraceCheckUtils]: 0: Hoare triple {1514#true} call ULTIMATE.init(); {1514#true} is VALID [2022-04-07 12:33:50,475 INFO L290 TraceCheckUtils]: 1: Hoare triple {1514#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(11, 2);call #Ultimate.allocInit(12, 3); {1514#true} is VALID [2022-04-07 12:33:50,475 INFO L290 TraceCheckUtils]: 2: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-07 12:33:50,475 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1514#true} {1514#true} #105#return; {1514#true} is VALID [2022-04-07 12:33:50,475 INFO L272 TraceCheckUtils]: 4: Hoare triple {1514#true} call #t~ret6 := main(); {1514#true} is VALID [2022-04-07 12:33:50,475 INFO L290 TraceCheckUtils]: 5: Hoare triple {1514#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1514#true} is VALID [2022-04-07 12:33:50,475 INFO L272 TraceCheckUtils]: 6: Hoare triple {1514#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1514#true} is VALID [2022-04-07 12:33:50,476 INFO L290 TraceCheckUtils]: 7: Hoare triple {1514#true} ~cond := #in~cond; {1540#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 12:33:50,476 INFO L290 TraceCheckUtils]: 8: Hoare triple {1540#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1544#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:50,476 INFO L290 TraceCheckUtils]: 9: Hoare triple {1544#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1544#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:50,477 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1544#(not (= |assume_abort_if_not_#in~cond| 0))} {1514#true} #91#return; {1551#(<= 1 main_~x~0)} is VALID [2022-04-07 12:33:50,477 INFO L272 TraceCheckUtils]: 11: Hoare triple {1551#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1514#true} is VALID [2022-04-07 12:33:50,477 INFO L290 TraceCheckUtils]: 12: Hoare triple {1514#true} ~cond := #in~cond; {1514#true} is VALID [2022-04-07 12:33:50,477 INFO L290 TraceCheckUtils]: 13: Hoare triple {1514#true} assume !(0 == ~cond); {1514#true} is VALID [2022-04-07 12:33:50,477 INFO L290 TraceCheckUtils]: 14: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-07 12:33:50,478 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1514#true} {1551#(<= 1 main_~x~0)} #93#return; {1551#(<= 1 main_~x~0)} is VALID [2022-04-07 12:33:50,478 INFO L290 TraceCheckUtils]: 16: Hoare triple {1551#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:33:50,478 INFO L290 TraceCheckUtils]: 17: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:33:50,479 INFO L290 TraceCheckUtils]: 18: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:33:50,479 INFO L290 TraceCheckUtils]: 19: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:33:50,479 INFO L290 TraceCheckUtils]: 20: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:33:50,480 INFO L290 TraceCheckUtils]: 21: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:33:50,480 INFO L272 TraceCheckUtils]: 22: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1514#true} is VALID [2022-04-07 12:33:50,480 INFO L290 TraceCheckUtils]: 23: Hoare triple {1514#true} ~cond := #in~cond; {1514#true} is VALID [2022-04-07 12:33:50,481 INFO L290 TraceCheckUtils]: 24: Hoare triple {1514#true} assume !(0 == ~cond); {1514#true} is VALID [2022-04-07 12:33:50,481 INFO L290 TraceCheckUtils]: 25: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-07 12:33:50,481 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1514#true} {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #95#return; {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:33:50,482 INFO L272 TraceCheckUtils]: 27: Hoare triple {1570#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1604#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:33:50,482 INFO L290 TraceCheckUtils]: 28: Hoare triple {1604#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1608#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:33:50,483 INFO L290 TraceCheckUtils]: 29: Hoare triple {1608#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1515#false} is VALID [2022-04-07 12:33:50,483 INFO L290 TraceCheckUtils]: 30: Hoare triple {1515#false} assume !false; {1515#false} is VALID [2022-04-07 12:33:50,483 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 12:33:50,483 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:33:50,623 INFO L290 TraceCheckUtils]: 30: Hoare triple {1515#false} assume !false; {1515#false} is VALID [2022-04-07 12:33:50,624 INFO L290 TraceCheckUtils]: 29: Hoare triple {1608#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1515#false} is VALID [2022-04-07 12:33:50,624 INFO L290 TraceCheckUtils]: 28: Hoare triple {1604#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1608#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:33:50,625 INFO L272 TraceCheckUtils]: 27: Hoare triple {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1604#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:33:50,625 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1514#true} {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #95#return; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:50,625 INFO L290 TraceCheckUtils]: 25: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-07 12:33:50,625 INFO L290 TraceCheckUtils]: 24: Hoare triple {1514#true} assume !(0 == ~cond); {1514#true} is VALID [2022-04-07 12:33:50,625 INFO L290 TraceCheckUtils]: 23: Hoare triple {1514#true} ~cond := #in~cond; {1514#true} is VALID [2022-04-07 12:33:50,626 INFO L272 TraceCheckUtils]: 22: Hoare triple {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1514#true} is VALID [2022-04-07 12:33:50,626 INFO L290 TraceCheckUtils]: 21: Hoare triple {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:50,626 INFO L290 TraceCheckUtils]: 20: Hoare triple {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:50,627 INFO L290 TraceCheckUtils]: 19: Hoare triple {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:50,627 INFO L290 TraceCheckUtils]: 18: Hoare triple {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:50,627 INFO L290 TraceCheckUtils]: 17: Hoare triple {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:50,628 INFO L290 TraceCheckUtils]: 16: Hoare triple {1514#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1624#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:50,628 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1514#true} {1514#true} #93#return; {1514#true} is VALID [2022-04-07 12:33:50,629 INFO L290 TraceCheckUtils]: 14: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-07 12:33:50,630 INFO L290 TraceCheckUtils]: 13: Hoare triple {1514#true} assume !(0 == ~cond); {1514#true} is VALID [2022-04-07 12:33:50,630 INFO L290 TraceCheckUtils]: 12: Hoare triple {1514#true} ~cond := #in~cond; {1514#true} is VALID [2022-04-07 12:33:50,630 INFO L272 TraceCheckUtils]: 11: Hoare triple {1514#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1514#true} is VALID [2022-04-07 12:33:50,630 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1514#true} {1514#true} #91#return; {1514#true} is VALID [2022-04-07 12:33:50,630 INFO L290 TraceCheckUtils]: 9: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-07 12:33:50,630 INFO L290 TraceCheckUtils]: 8: Hoare triple {1514#true} assume !(0 == ~cond); {1514#true} is VALID [2022-04-07 12:33:50,630 INFO L290 TraceCheckUtils]: 7: Hoare triple {1514#true} ~cond := #in~cond; {1514#true} is VALID [2022-04-07 12:33:50,631 INFO L272 TraceCheckUtils]: 6: Hoare triple {1514#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1514#true} is VALID [2022-04-07 12:33:50,631 INFO L290 TraceCheckUtils]: 5: Hoare triple {1514#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1514#true} is VALID [2022-04-07 12:33:50,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {1514#true} call #t~ret6 := main(); {1514#true} is VALID [2022-04-07 12:33:50,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1514#true} {1514#true} #105#return; {1514#true} is VALID [2022-04-07 12:33:50,631 INFO L290 TraceCheckUtils]: 2: Hoare triple {1514#true} assume true; {1514#true} is VALID [2022-04-07 12:33:50,631 INFO L290 TraceCheckUtils]: 1: Hoare triple {1514#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(11, 2);call #Ultimate.allocInit(12, 3); {1514#true} is VALID [2022-04-07 12:33:50,633 INFO L272 TraceCheckUtils]: 0: Hoare triple {1514#true} call ULTIMATE.init(); {1514#true} is VALID [2022-04-07 12:33:50,634 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 12:33:50,634 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:33:50,634 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [710726605] [2022-04-07 12:33:50,634 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:33:50,634 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1574487850] [2022-04-07 12:33:50,634 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1574487850] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-07 12:33:50,634 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-07 12:33:50,634 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-07 12:33:50,635 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1715296906] [2022-04-07 12:33:50,635 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 12:33:50,635 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 31 [2022-04-07 12:33:50,635 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:33:50,636 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 12:33:50,650 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:50,651 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 12:33:50,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:33:50,651 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 12:33:50,651 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-07 12:33:50,651 INFO L87 Difference]: Start difference. First operand 68 states and 90 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 12:33:50,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:50,846 INFO L93 Difference]: Finished difference Result 76 states and 97 transitions. [2022-04-07 12:33:50,846 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 12:33:50,847 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 31 [2022-04-07 12:33:50,847 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:33:50,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 12:33:50,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-07 12:33:50,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 12:33:50,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-07 12:33:50,849 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-07 12:33:50,889 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:50,890 INFO L225 Difference]: With dead ends: 76 [2022-04-07 12:33:50,890 INFO L226 Difference]: Without dead ends: 74 [2022-04-07 12:33:50,891 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 62 GetRequests, 53 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-07 12:33:50,891 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 9 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 45 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 12:33:50,892 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 128 Invalid, 45 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 12:33:50,892 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-07 12:33:50,943 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 72. [2022-04-07 12:33:50,943 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:33:50,944 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 72 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 50 states have internal predecessors, (61), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 12:33:50,944 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 72 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 50 states have internal predecessors, (61), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 12:33:50,944 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 72 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 50 states have internal predecessors, (61), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 12:33:50,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:50,946 INFO L93 Difference]: Finished difference Result 74 states and 95 transitions. [2022-04-07 12:33:50,946 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-07 12:33:50,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:50,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:50,947 INFO L74 IsIncluded]: Start isIncluded. First operand has 72 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 50 states have internal predecessors, (61), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 74 states. [2022-04-07 12:33:50,947 INFO L87 Difference]: Start difference. First operand has 72 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 50 states have internal predecessors, (61), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 74 states. [2022-04-07 12:33:50,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:50,949 INFO L93 Difference]: Finished difference Result 74 states and 95 transitions. [2022-04-07 12:33:50,949 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-07 12:33:50,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:50,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:50,950 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:33:50,950 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:33:50,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 72 states, 49 states have (on average 1.2448979591836735) internal successors, (61), 50 states have internal predecessors, (61), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-07 12:33:50,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 93 transitions. [2022-04-07 12:33:50,974 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 93 transitions. Word has length 31 [2022-04-07 12:33:50,975 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:33:50,975 INFO L478 AbstractCegarLoop]: Abstraction has 72 states and 93 transitions. [2022-04-07 12:33:50,976 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-07 12:33:50,976 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 93 transitions. [2022-04-07 12:33:50,977 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-07 12:33:50,977 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:33:50,978 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:33:50,999 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-07 12:33:51,191 WARN L460 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-04-07 12:33:51,191 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:33:51,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:33:51,192 INFO L85 PathProgramCache]: Analyzing trace with hash -709867384, now seen corresponding path program 1 times [2022-04-07 12:33:51,192 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:33:51,192 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1766498705] [2022-04-07 12:33:51,192 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:51,192 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:33:51,212 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:33:51,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [426012683] [2022-04-07 12:33:51,212 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:51,212 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:33:51,212 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:33:51,213 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:33:51,214 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-07 12:33:51,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:51,246 INFO L263 TraceCheckSpWp]: Trace formula consists of 121 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-07 12:33:51,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:51,255 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:33:51,451 INFO L272 TraceCheckUtils]: 0: Hoare triple {2078#true} call ULTIMATE.init(); {2078#true} is VALID [2022-04-07 12:33:51,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {2078#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(11, 2);call #Ultimate.allocInit(12, 3); {2078#true} is VALID [2022-04-07 12:33:51,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {2078#true} assume true; {2078#true} is VALID [2022-04-07 12:33:51,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2078#true} {2078#true} #105#return; {2078#true} is VALID [2022-04-07 12:33:51,452 INFO L272 TraceCheckUtils]: 4: Hoare triple {2078#true} call #t~ret6 := main(); {2078#true} is VALID [2022-04-07 12:33:51,452 INFO L290 TraceCheckUtils]: 5: Hoare triple {2078#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2078#true} is VALID [2022-04-07 12:33:51,452 INFO L272 TraceCheckUtils]: 6: Hoare triple {2078#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2078#true} is VALID [2022-04-07 12:33:51,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {2078#true} ~cond := #in~cond; {2104#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 12:33:51,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {2104#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2108#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:51,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {2108#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2108#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:51,453 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2108#(not (= |assume_abort_if_not_#in~cond| 0))} {2078#true} #91#return; {2115#(<= 1 main_~x~0)} is VALID [2022-04-07 12:33:51,453 INFO L272 TraceCheckUtils]: 11: Hoare triple {2115#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2078#true} is VALID [2022-04-07 12:33:51,453 INFO L290 TraceCheckUtils]: 12: Hoare triple {2078#true} ~cond := #in~cond; {2078#true} is VALID [2022-04-07 12:33:51,453 INFO L290 TraceCheckUtils]: 13: Hoare triple {2078#true} assume !(0 == ~cond); {2078#true} is VALID [2022-04-07 12:33:51,454 INFO L290 TraceCheckUtils]: 14: Hoare triple {2078#true} assume true; {2078#true} is VALID [2022-04-07 12:33:51,454 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2078#true} {2115#(<= 1 main_~x~0)} #93#return; {2115#(<= 1 main_~x~0)} is VALID [2022-04-07 12:33:51,454 INFO L290 TraceCheckUtils]: 16: Hoare triple {2115#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:33:51,455 INFO L290 TraceCheckUtils]: 17: Hoare triple {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:33:51,455 INFO L290 TraceCheckUtils]: 18: Hoare triple {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:33:51,455 INFO L290 TraceCheckUtils]: 19: Hoare triple {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:33:51,456 INFO L290 TraceCheckUtils]: 20: Hoare triple {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:33:51,456 INFO L290 TraceCheckUtils]: 21: Hoare triple {2134#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 12:33:51,456 INFO L290 TraceCheckUtils]: 22: Hoare triple {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 12:33:51,457 INFO L290 TraceCheckUtils]: 23: Hoare triple {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 12:33:51,457 INFO L290 TraceCheckUtils]: 24: Hoare triple {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 12:33:51,457 INFO L290 TraceCheckUtils]: 25: Hoare triple {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 12:33:51,458 INFO L290 TraceCheckUtils]: 26: Hoare triple {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-07 12:33:51,458 INFO L272 TraceCheckUtils]: 27: Hoare triple {2150#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2169#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:33:51,459 INFO L290 TraceCheckUtils]: 28: Hoare triple {2169#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2173#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:33:51,459 INFO L290 TraceCheckUtils]: 29: Hoare triple {2173#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2079#false} is VALID [2022-04-07 12:33:51,459 INFO L290 TraceCheckUtils]: 30: Hoare triple {2079#false} assume !false; {2079#false} is VALID [2022-04-07 12:33:51,460 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 12:33:51,460 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:33:51,598 INFO L290 TraceCheckUtils]: 30: Hoare triple {2079#false} assume !false; {2079#false} is VALID [2022-04-07 12:33:51,599 INFO L290 TraceCheckUtils]: 29: Hoare triple {2173#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2079#false} is VALID [2022-04-07 12:33:51,599 INFO L290 TraceCheckUtils]: 28: Hoare triple {2169#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2173#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:33:51,600 INFO L272 TraceCheckUtils]: 27: Hoare triple {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2169#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:33:51,600 INFO L290 TraceCheckUtils]: 26: Hoare triple {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:33:51,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:33:51,601 INFO L290 TraceCheckUtils]: 24: Hoare triple {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:33:51,601 INFO L290 TraceCheckUtils]: 23: Hoare triple {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:33:51,601 INFO L290 TraceCheckUtils]: 22: Hoare triple {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:33:51,602 INFO L290 TraceCheckUtils]: 21: Hoare triple {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {2189#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:33:51,602 INFO L290 TraceCheckUtils]: 20: Hoare triple {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:51,603 INFO L290 TraceCheckUtils]: 19: Hoare triple {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:51,607 INFO L290 TraceCheckUtils]: 18: Hoare triple {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:51,608 INFO L290 TraceCheckUtils]: 17: Hoare triple {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:51,609 INFO L290 TraceCheckUtils]: 16: Hoare triple {2078#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2208#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:51,612 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2078#true} {2078#true} #93#return; {2078#true} is VALID [2022-04-07 12:33:51,613 INFO L290 TraceCheckUtils]: 14: Hoare triple {2078#true} assume true; {2078#true} is VALID [2022-04-07 12:33:51,614 INFO L290 TraceCheckUtils]: 13: Hoare triple {2078#true} assume !(0 == ~cond); {2078#true} is VALID [2022-04-07 12:33:51,614 INFO L290 TraceCheckUtils]: 12: Hoare triple {2078#true} ~cond := #in~cond; {2078#true} is VALID [2022-04-07 12:33:51,614 INFO L272 TraceCheckUtils]: 11: Hoare triple {2078#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2078#true} is VALID [2022-04-07 12:33:51,614 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2078#true} {2078#true} #91#return; {2078#true} is VALID [2022-04-07 12:33:51,614 INFO L290 TraceCheckUtils]: 9: Hoare triple {2078#true} assume true; {2078#true} is VALID [2022-04-07 12:33:51,614 INFO L290 TraceCheckUtils]: 8: Hoare triple {2078#true} assume !(0 == ~cond); {2078#true} is VALID [2022-04-07 12:33:51,614 INFO L290 TraceCheckUtils]: 7: Hoare triple {2078#true} ~cond := #in~cond; {2078#true} is VALID [2022-04-07 12:33:51,614 INFO L272 TraceCheckUtils]: 6: Hoare triple {2078#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2078#true} is VALID [2022-04-07 12:33:51,614 INFO L290 TraceCheckUtils]: 5: Hoare triple {2078#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2078#true} is VALID [2022-04-07 12:33:51,614 INFO L272 TraceCheckUtils]: 4: Hoare triple {2078#true} call #t~ret6 := main(); {2078#true} is VALID [2022-04-07 12:33:51,614 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2078#true} {2078#true} #105#return; {2078#true} is VALID [2022-04-07 12:33:51,615 INFO L290 TraceCheckUtils]: 2: Hoare triple {2078#true} assume true; {2078#true} is VALID [2022-04-07 12:33:51,615 INFO L290 TraceCheckUtils]: 1: Hoare triple {2078#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(11, 2);call #Ultimate.allocInit(12, 3); {2078#true} is VALID [2022-04-07 12:33:51,615 INFO L272 TraceCheckUtils]: 0: Hoare triple {2078#true} call ULTIMATE.init(); {2078#true} is VALID [2022-04-07 12:33:51,616 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 12:33:51,616 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:33:51,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1766498705] [2022-04-07 12:33:51,616 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:33:51,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [426012683] [2022-04-07 12:33:51,616 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [426012683] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:33:51,616 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:33:51,616 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 11 [2022-04-07 12:33:51,616 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1642484485] [2022-04-07 12:33:51,616 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:33:51,617 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 31 [2022-04-07 12:33:51,618 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:33:51,618 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 12:33:51,644 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:51,645 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-07 12:33:51,645 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:33:51,645 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-07 12:33:51,645 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-07 12:33:51,645 INFO L87 Difference]: Start difference. First operand 72 states and 93 transitions. Second operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 12:33:52,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:52,361 INFO L93 Difference]: Finished difference Result 108 states and 142 transitions. [2022-04-07 12:33:52,361 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-07 12:33:52,361 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 31 [2022-04-07 12:33:52,361 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:33:52,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 12:33:52,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 82 transitions. [2022-04-07 12:33:52,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 12:33:52,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 82 transitions. [2022-04-07 12:33:52,365 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 82 transitions. [2022-04-07 12:33:52,437 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:52,440 INFO L225 Difference]: With dead ends: 108 [2022-04-07 12:33:52,440 INFO L226 Difference]: Without dead ends: 106 [2022-04-07 12:33:52,440 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 51 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-07 12:33:52,441 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 42 mSDsluCounter, 225 mSDsCounter, 0 mSdLazyCounter, 235 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 271 SdHoareTripleChecker+Invalid, 247 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 235 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-07 12:33:52,441 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 271 Invalid, 247 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 235 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-07 12:33:52,441 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-07 12:33:52,577 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 102. [2022-04-07 12:33:52,577 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:33:52,577 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 102 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-07 12:33:52,578 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 102 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-07 12:33:52,578 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 102 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-07 12:33:52,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:52,582 INFO L93 Difference]: Finished difference Result 106 states and 140 transitions. [2022-04-07 12:33:52,583 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 140 transitions. [2022-04-07 12:33:52,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:52,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:52,584 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 106 states. [2022-04-07 12:33:52,584 INFO L87 Difference]: Start difference. First operand has 102 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) Second operand 106 states. [2022-04-07 12:33:52,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:52,588 INFO L93 Difference]: Finished difference Result 106 states and 140 transitions. [2022-04-07 12:33:52,589 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 140 transitions. [2022-04-07 12:33:52,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:52,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:52,589 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:33:52,590 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:33:52,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 23 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-07 12:33:52,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 136 transitions. [2022-04-07 12:33:52,594 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 136 transitions. Word has length 31 [2022-04-07 12:33:52,594 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:33:52,594 INFO L478 AbstractCegarLoop]: Abstraction has 102 states and 136 transitions. [2022-04-07 12:33:52,595 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.090909090909091) internal successors, (34), 9 states have internal predecessors, (34), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 12:33:52,595 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 136 transitions. [2022-04-07 12:33:52,595 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-07 12:33:52,595 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:33:52,595 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:33:52,622 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-07 12:33:52,818 WARN L460 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-04-07 12:33:52,819 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:33:52,819 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:33:52,819 INFO L85 PathProgramCache]: Analyzing trace with hash 1696776659, now seen corresponding path program 1 times [2022-04-07 12:33:52,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:33:52,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1736800883] [2022-04-07 12:33:52,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:52,820 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:33:52,832 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:33:52,833 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1648999338] [2022-04-07 12:33:52,833 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:52,833 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:33:52,833 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:33:52,834 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:33:52,868 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-07 12:33:52,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:52,888 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 12:33:52,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:52,897 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:33:53,029 INFO L272 TraceCheckUtils]: 0: Hoare triple {2807#true} call ULTIMATE.init(); {2807#true} is VALID [2022-04-07 12:33:53,030 INFO L290 TraceCheckUtils]: 1: Hoare triple {2807#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(11, 2);call #Ultimate.allocInit(12, 3); {2807#true} is VALID [2022-04-07 12:33:53,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {2807#true} assume true; {2807#true} is VALID [2022-04-07 12:33:53,030 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2807#true} {2807#true} #105#return; {2807#true} is VALID [2022-04-07 12:33:53,030 INFO L272 TraceCheckUtils]: 4: Hoare triple {2807#true} call #t~ret6 := main(); {2807#true} is VALID [2022-04-07 12:33:53,030 INFO L290 TraceCheckUtils]: 5: Hoare triple {2807#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2807#true} is VALID [2022-04-07 12:33:53,030 INFO L272 TraceCheckUtils]: 6: Hoare triple {2807#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2807#true} is VALID [2022-04-07 12:33:53,030 INFO L290 TraceCheckUtils]: 7: Hoare triple {2807#true} ~cond := #in~cond; {2807#true} is VALID [2022-04-07 12:33:53,030 INFO L290 TraceCheckUtils]: 8: Hoare triple {2807#true} assume !(0 == ~cond); {2807#true} is VALID [2022-04-07 12:33:53,031 INFO L290 TraceCheckUtils]: 9: Hoare triple {2807#true} assume true; {2807#true} is VALID [2022-04-07 12:33:53,031 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2807#true} {2807#true} #91#return; {2807#true} is VALID [2022-04-07 12:33:53,031 INFO L272 TraceCheckUtils]: 11: Hoare triple {2807#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2807#true} is VALID [2022-04-07 12:33:53,031 INFO L290 TraceCheckUtils]: 12: Hoare triple {2807#true} ~cond := #in~cond; {2807#true} is VALID [2022-04-07 12:33:53,031 INFO L290 TraceCheckUtils]: 13: Hoare triple {2807#true} assume !(0 == ~cond); {2807#true} is VALID [2022-04-07 12:33:53,031 INFO L290 TraceCheckUtils]: 14: Hoare triple {2807#true} assume true; {2807#true} is VALID [2022-04-07 12:33:53,031 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2807#true} {2807#true} #93#return; {2807#true} is VALID [2022-04-07 12:33:53,031 INFO L290 TraceCheckUtils]: 16: Hoare triple {2807#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2807#true} is VALID [2022-04-07 12:33:53,031 INFO L290 TraceCheckUtils]: 17: Hoare triple {2807#true} assume !false; {2807#true} is VALID [2022-04-07 12:33:53,032 INFO L290 TraceCheckUtils]: 18: Hoare triple {2807#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 12:33:53,033 INFO L290 TraceCheckUtils]: 19: Hoare triple {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 12:33:53,034 INFO L290 TraceCheckUtils]: 20: Hoare triple {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 12:33:53,034 INFO L290 TraceCheckUtils]: 21: Hoare triple {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 12:33:53,034 INFO L272 TraceCheckUtils]: 22: Hoare triple {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2807#true} is VALID [2022-04-07 12:33:53,034 INFO L290 TraceCheckUtils]: 23: Hoare triple {2807#true} ~cond := #in~cond; {2807#true} is VALID [2022-04-07 12:33:53,034 INFO L290 TraceCheckUtils]: 24: Hoare triple {2807#true} assume !(0 == ~cond); {2807#true} is VALID [2022-04-07 12:33:53,035 INFO L290 TraceCheckUtils]: 25: Hoare triple {2807#true} assume true; {2807#true} is VALID [2022-04-07 12:33:53,035 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2807#true} {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #95#return; {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 12:33:53,036 INFO L272 TraceCheckUtils]: 27: Hoare triple {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2807#true} is VALID [2022-04-07 12:33:53,036 INFO L290 TraceCheckUtils]: 28: Hoare triple {2807#true} ~cond := #in~cond; {2807#true} is VALID [2022-04-07 12:33:53,036 INFO L290 TraceCheckUtils]: 29: Hoare triple {2807#true} assume !(0 == ~cond); {2807#true} is VALID [2022-04-07 12:33:53,036 INFO L290 TraceCheckUtils]: 30: Hoare triple {2807#true} assume true; {2807#true} is VALID [2022-04-07 12:33:53,037 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {2807#true} {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #97#return; {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-07 12:33:53,037 INFO L272 TraceCheckUtils]: 32: Hoare triple {2866#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2909#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:33:53,038 INFO L290 TraceCheckUtils]: 33: Hoare triple {2909#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2913#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:33:53,038 INFO L290 TraceCheckUtils]: 34: Hoare triple {2913#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2808#false} is VALID [2022-04-07 12:33:53,038 INFO L290 TraceCheckUtils]: 35: Hoare triple {2808#false} assume !false; {2808#false} is VALID [2022-04-07 12:33:53,038 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-07 12:33:53,038 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 12:33:53,039 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:33:53,039 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1736800883] [2022-04-07 12:33:53,039 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:33:53,039 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1648999338] [2022-04-07 12:33:53,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1648999338] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 12:33:53,039 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 12:33:53,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 12:33:53,039 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1944854000] [2022-04-07 12:33:53,039 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 12:33:53,040 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-07 12:33:53,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:33:53,040 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 12:33:53,062 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:53,062 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 12:33:53,062 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:33:53,062 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 12:33:53,063 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 12:33:53,063 INFO L87 Difference]: Start difference. First operand 102 states and 136 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 12:33:53,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:53,372 INFO L93 Difference]: Finished difference Result 148 states and 208 transitions. [2022-04-07 12:33:53,372 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 12:33:53,372 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 36 [2022-04-07 12:33:53,373 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:33:53,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 12:33:53,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-07 12:33:53,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 12:33:53,375 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-07 12:33:53,375 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-07 12:33:53,414 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:53,417 INFO L225 Difference]: With dead ends: 148 [2022-04-07 12:33:53,417 INFO L226 Difference]: Without dead ends: 146 [2022-04-07 12:33:53,418 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-07 12:33:53,418 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 8 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 12:33:53,419 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 126 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 12:33:53,419 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-04-07 12:33:53,569 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 140. [2022-04-07 12:33:53,569 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:33:53,569 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 140 states, 87 states have (on average 1.2873563218390804) internal successors, (112), 88 states have internal predecessors, (112), 45 states have call successors, (45), 8 states have call predecessors, (45), 7 states have return successors, (43), 43 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-07 12:33:53,570 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 140 states, 87 states have (on average 1.2873563218390804) internal successors, (112), 88 states have internal predecessors, (112), 45 states have call successors, (45), 8 states have call predecessors, (45), 7 states have return successors, (43), 43 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-07 12:33:53,570 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 140 states, 87 states have (on average 1.2873563218390804) internal successors, (112), 88 states have internal predecessors, (112), 45 states have call successors, (45), 8 states have call predecessors, (45), 7 states have return successors, (43), 43 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-07 12:33:53,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:53,578 INFO L93 Difference]: Finished difference Result 146 states and 206 transitions. [2022-04-07 12:33:53,578 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 206 transitions. [2022-04-07 12:33:53,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:53,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:53,579 INFO L74 IsIncluded]: Start isIncluded. First operand has 140 states, 87 states have (on average 1.2873563218390804) internal successors, (112), 88 states have internal predecessors, (112), 45 states have call successors, (45), 8 states have call predecessors, (45), 7 states have return successors, (43), 43 states have call predecessors, (43), 43 states have call successors, (43) Second operand 146 states. [2022-04-07 12:33:53,580 INFO L87 Difference]: Start difference. First operand has 140 states, 87 states have (on average 1.2873563218390804) internal successors, (112), 88 states have internal predecessors, (112), 45 states have call successors, (45), 8 states have call predecessors, (45), 7 states have return successors, (43), 43 states have call predecessors, (43), 43 states have call successors, (43) Second operand 146 states. [2022-04-07 12:33:53,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:53,588 INFO L93 Difference]: Finished difference Result 146 states and 206 transitions. [2022-04-07 12:33:53,588 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 206 transitions. [2022-04-07 12:33:53,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:53,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:53,589 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:33:53,589 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:33:53,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 140 states, 87 states have (on average 1.2873563218390804) internal successors, (112), 88 states have internal predecessors, (112), 45 states have call successors, (45), 8 states have call predecessors, (45), 7 states have return successors, (43), 43 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-07 12:33:53,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 200 transitions. [2022-04-07 12:33:53,596 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 200 transitions. Word has length 36 [2022-04-07 12:33:53,597 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:33:53,597 INFO L478 AbstractCegarLoop]: Abstraction has 140 states and 200 transitions. [2022-04-07 12:33:53,597 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-07 12:33:53,597 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 200 transitions. [2022-04-07 12:33:53,598 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-07 12:33:53,598 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:33:53,599 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:33:53,640 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-04-07 12:33:53,823 WARN L460 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-04-07 12:33:53,824 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:33:53,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:33:53,824 INFO L85 PathProgramCache]: Analyzing trace with hash 331267880, now seen corresponding path program 1 times [2022-04-07 12:33:53,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:33:53,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1571237607] [2022-04-07 12:33:53,825 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:53,825 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:33:53,836 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:33:53,837 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1662217710] [2022-04-07 12:33:53,837 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:33:53,837 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:33:53,837 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:33:53,838 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:33:53,839 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-07 12:33:53,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:53,878 INFO L263 TraceCheckSpWp]: Trace formula consists of 130 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-07 12:33:53,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:33:53,894 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:33:54,229 INFO L272 TraceCheckUtils]: 0: Hoare triple {3661#true} call ULTIMATE.init(); {3661#true} is VALID [2022-04-07 12:33:54,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {3661#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(11, 2);call #Ultimate.allocInit(12, 3); {3661#true} is VALID [2022-04-07 12:33:54,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-07 12:33:54,230 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3661#true} {3661#true} #105#return; {3661#true} is VALID [2022-04-07 12:33:54,230 INFO L272 TraceCheckUtils]: 4: Hoare triple {3661#true} call #t~ret6 := main(); {3661#true} is VALID [2022-04-07 12:33:54,230 INFO L290 TraceCheckUtils]: 5: Hoare triple {3661#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3661#true} is VALID [2022-04-07 12:33:54,230 INFO L272 TraceCheckUtils]: 6: Hoare triple {3661#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3661#true} is VALID [2022-04-07 12:33:54,231 INFO L290 TraceCheckUtils]: 7: Hoare triple {3661#true} ~cond := #in~cond; {3661#true} is VALID [2022-04-07 12:33:54,232 INFO L290 TraceCheckUtils]: 8: Hoare triple {3661#true} assume !(0 == ~cond); {3661#true} is VALID [2022-04-07 12:33:54,232 INFO L290 TraceCheckUtils]: 9: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-07 12:33:54,232 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3661#true} {3661#true} #91#return; {3661#true} is VALID [2022-04-07 12:33:54,232 INFO L272 TraceCheckUtils]: 11: Hoare triple {3661#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3661#true} is VALID [2022-04-07 12:33:54,232 INFO L290 TraceCheckUtils]: 12: Hoare triple {3661#true} ~cond := #in~cond; {3702#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 12:33:54,233 INFO L290 TraceCheckUtils]: 13: Hoare triple {3702#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3706#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:54,234 INFO L290 TraceCheckUtils]: 14: Hoare triple {3706#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3706#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:33:54,234 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3706#(not (= |assume_abort_if_not_#in~cond| 0))} {3661#true} #93#return; {3713#(<= 1 main_~y~0)} is VALID [2022-04-07 12:33:54,235 INFO L290 TraceCheckUtils]: 16: Hoare triple {3713#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3717#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:33:54,235 INFO L290 TraceCheckUtils]: 17: Hoare triple {3717#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3717#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:33:54,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {3717#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3724#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:33:54,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {3724#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {3724#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:33:54,236 INFO L290 TraceCheckUtils]: 20: Hoare triple {3724#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3724#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:33:54,237 INFO L290 TraceCheckUtils]: 21: Hoare triple {3724#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 12:33:54,237 INFO L290 TraceCheckUtils]: 22: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !false; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 12:33:54,238 INFO L290 TraceCheckUtils]: 23: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 12:33:54,238 INFO L290 TraceCheckUtils]: 24: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !false; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 12:33:54,239 INFO L290 TraceCheckUtils]: 25: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 12:33:54,239 INFO L290 TraceCheckUtils]: 26: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} assume !false; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 12:33:54,239 INFO L272 TraceCheckUtils]: 27: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3661#true} is VALID [2022-04-07 12:33:54,239 INFO L290 TraceCheckUtils]: 28: Hoare triple {3661#true} ~cond := #in~cond; {3661#true} is VALID [2022-04-07 12:33:54,239 INFO L290 TraceCheckUtils]: 29: Hoare triple {3661#true} assume !(0 == ~cond); {3661#true} is VALID [2022-04-07 12:33:54,239 INFO L290 TraceCheckUtils]: 30: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-07 12:33:54,240 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3661#true} {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} #95#return; {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} is VALID [2022-04-07 12:33:54,241 INFO L272 TraceCheckUtils]: 32: Hoare triple {3734#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:33:54,241 INFO L290 TraceCheckUtils]: 33: Hoare triple {3768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:33:54,241 INFO L290 TraceCheckUtils]: 34: Hoare triple {3772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3662#false} is VALID [2022-04-07 12:33:54,242 INFO L290 TraceCheckUtils]: 35: Hoare triple {3662#false} assume !false; {3662#false} is VALID [2022-04-07 12:33:54,242 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-07 12:33:54,242 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:33:54,470 INFO L290 TraceCheckUtils]: 35: Hoare triple {3662#false} assume !false; {3662#false} is VALID [2022-04-07 12:33:54,470 INFO L290 TraceCheckUtils]: 34: Hoare triple {3772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3662#false} is VALID [2022-04-07 12:33:54,471 INFO L290 TraceCheckUtils]: 33: Hoare triple {3768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:33:54,471 INFO L272 TraceCheckUtils]: 32: Hoare triple {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:33:54,472 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {3661#true} {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #95#return; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:54,472 INFO L290 TraceCheckUtils]: 30: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-07 12:33:54,472 INFO L290 TraceCheckUtils]: 29: Hoare triple {3661#true} assume !(0 == ~cond); {3661#true} is VALID [2022-04-07 12:33:54,472 INFO L290 TraceCheckUtils]: 28: Hoare triple {3661#true} ~cond := #in~cond; {3661#true} is VALID [2022-04-07 12:33:54,472 INFO L272 TraceCheckUtils]: 27: Hoare triple {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3661#true} is VALID [2022-04-07 12:33:54,473 INFO L290 TraceCheckUtils]: 26: Hoare triple {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:54,473 INFO L290 TraceCheckUtils]: 25: Hoare triple {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:54,473 INFO L290 TraceCheckUtils]: 24: Hoare triple {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:54,474 INFO L290 TraceCheckUtils]: 23: Hoare triple {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:54,474 INFO L290 TraceCheckUtils]: 22: Hoare triple {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:55,091 INFO L290 TraceCheckUtils]: 21: Hoare triple {3822#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:33:55,092 INFO L290 TraceCheckUtils]: 20: Hoare triple {3822#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !(~c~0 >= ~b~0); {3822#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-07 12:33:55,092 INFO L290 TraceCheckUtils]: 19: Hoare triple {3822#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !false; {3822#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-07 12:33:55,093 INFO L290 TraceCheckUtils]: 18: Hoare triple {3832#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3822#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-07 12:33:55,093 INFO L290 TraceCheckUtils]: 17: Hoare triple {3832#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3832#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:33:55,094 INFO L290 TraceCheckUtils]: 16: Hoare triple {3661#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3832#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:33:55,094 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3661#true} {3661#true} #93#return; {3661#true} is VALID [2022-04-07 12:33:55,094 INFO L290 TraceCheckUtils]: 14: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-07 12:33:55,094 INFO L290 TraceCheckUtils]: 13: Hoare triple {3661#true} assume !(0 == ~cond); {3661#true} is VALID [2022-04-07 12:33:55,094 INFO L290 TraceCheckUtils]: 12: Hoare triple {3661#true} ~cond := #in~cond; {3661#true} is VALID [2022-04-07 12:33:55,094 INFO L272 TraceCheckUtils]: 11: Hoare triple {3661#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3661#true} is VALID [2022-04-07 12:33:55,094 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3661#true} {3661#true} #91#return; {3661#true} is VALID [2022-04-07 12:33:55,094 INFO L290 TraceCheckUtils]: 9: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-07 12:33:55,094 INFO L290 TraceCheckUtils]: 8: Hoare triple {3661#true} assume !(0 == ~cond); {3661#true} is VALID [2022-04-07 12:33:55,094 INFO L290 TraceCheckUtils]: 7: Hoare triple {3661#true} ~cond := #in~cond; {3661#true} is VALID [2022-04-07 12:33:55,094 INFO L272 TraceCheckUtils]: 6: Hoare triple {3661#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3661#true} is VALID [2022-04-07 12:33:55,095 INFO L290 TraceCheckUtils]: 5: Hoare triple {3661#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3661#true} is VALID [2022-04-07 12:33:55,095 INFO L272 TraceCheckUtils]: 4: Hoare triple {3661#true} call #t~ret6 := main(); {3661#true} is VALID [2022-04-07 12:33:55,095 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3661#true} {3661#true} #105#return; {3661#true} is VALID [2022-04-07 12:33:55,095 INFO L290 TraceCheckUtils]: 2: Hoare triple {3661#true} assume true; {3661#true} is VALID [2022-04-07 12:33:55,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {3661#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(11, 2);call #Ultimate.allocInit(12, 3); {3661#true} is VALID [2022-04-07 12:33:55,095 INFO L272 TraceCheckUtils]: 0: Hoare triple {3661#true} call ULTIMATE.init(); {3661#true} is VALID [2022-04-07 12:33:55,095 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-07 12:33:55,095 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:33:55,095 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1571237607] [2022-04-07 12:33:55,096 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:33:55,096 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1662217710] [2022-04-07 12:33:55,096 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1662217710] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:33:55,096 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:33:55,096 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 13 [2022-04-07 12:33:55,096 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1420210854] [2022-04-07 12:33:55,096 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:33:55,097 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 36 [2022-04-07 12:33:55,097 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:33:55,097 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 12:33:55,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:55,328 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-07 12:33:55,328 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:33:55,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-07 12:33:55,328 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-07 12:33:55,329 INFO L87 Difference]: Start difference. First operand 140 states and 200 transitions. Second operand has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 12:33:59,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:59,204 INFO L93 Difference]: Finished difference Result 268 states and 390 transitions. [2022-04-07 12:33:59,204 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-07 12:33:59,205 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 36 [2022-04-07 12:33:59,205 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:33:59,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 12:33:59,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 202 transitions. [2022-04-07 12:33:59,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 12:33:59,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 202 transitions. [2022-04-07 12:33:59,212 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 202 transitions. [2022-04-07 12:33:59,564 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 202 edges. 202 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:33:59,569 INFO L225 Difference]: With dead ends: 268 [2022-04-07 12:33:59,569 INFO L226 Difference]: Without dead ends: 266 [2022-04-07 12:33:59,569 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 59 SyntacticMatches, 1 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=115, Invalid=437, Unknown=0, NotChecked=0, Total=552 [2022-04-07 12:33:59,570 INFO L913 BasicCegarLoop]: 52 mSDtfsCounter, 148 mSDsluCounter, 236 mSDsCounter, 0 mSdLazyCounter, 485 mSolverCounterSat, 132 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 152 SdHoareTripleChecker+Valid, 288 SdHoareTripleChecker+Invalid, 617 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 132 IncrementalHoareTripleChecker+Valid, 485 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-07 12:33:59,570 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [152 Valid, 288 Invalid, 617 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [132 Valid, 485 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-07 12:33:59,570 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 266 states. [2022-04-07 12:33:59,858 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 266 to 253. [2022-04-07 12:33:59,858 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:33:59,859 INFO L82 GeneralOperation]: Start isEquivalent. First operand 266 states. Second operand has 253 states, 158 states have (on average 1.3101265822784811) internal successors, (207), 159 states have internal predecessors, (207), 85 states have call successors, (85), 10 states have call predecessors, (85), 9 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-07 12:33:59,865 INFO L74 IsIncluded]: Start isIncluded. First operand 266 states. Second operand has 253 states, 158 states have (on average 1.3101265822784811) internal successors, (207), 159 states have internal predecessors, (207), 85 states have call successors, (85), 10 states have call predecessors, (85), 9 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-07 12:33:59,868 INFO L87 Difference]: Start difference. First operand 266 states. Second operand has 253 states, 158 states have (on average 1.3101265822784811) internal successors, (207), 159 states have internal predecessors, (207), 85 states have call successors, (85), 10 states have call predecessors, (85), 9 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-07 12:33:59,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:59,877 INFO L93 Difference]: Finished difference Result 266 states and 388 transitions. [2022-04-07 12:33:59,877 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 388 transitions. [2022-04-07 12:33:59,879 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:59,879 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:59,880 INFO L74 IsIncluded]: Start isIncluded. First operand has 253 states, 158 states have (on average 1.3101265822784811) internal successors, (207), 159 states have internal predecessors, (207), 85 states have call successors, (85), 10 states have call predecessors, (85), 9 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) Second operand 266 states. [2022-04-07 12:33:59,880 INFO L87 Difference]: Start difference. First operand has 253 states, 158 states have (on average 1.3101265822784811) internal successors, (207), 159 states have internal predecessors, (207), 85 states have call successors, (85), 10 states have call predecessors, (85), 9 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) Second operand 266 states. [2022-04-07 12:33:59,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:33:59,889 INFO L93 Difference]: Finished difference Result 266 states and 388 transitions. [2022-04-07 12:33:59,889 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 388 transitions. [2022-04-07 12:33:59,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:33:59,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:33:59,890 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:33:59,890 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:33:59,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 253 states, 158 states have (on average 1.3101265822784811) internal successors, (207), 159 states have internal predecessors, (207), 85 states have call successors, (85), 10 states have call predecessors, (85), 9 states have return successors, (83), 83 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-07 12:33:59,899 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 253 states to 253 states and 375 transitions. [2022-04-07 12:33:59,899 INFO L78 Accepts]: Start accepts. Automaton has 253 states and 375 transitions. Word has length 36 [2022-04-07 12:33:59,899 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:33:59,899 INFO L478 AbstractCegarLoop]: Abstraction has 253 states and 375 transitions. [2022-04-07 12:33:59,899 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.8461538461538463) internal successors, (37), 11 states have internal predecessors, (37), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-07 12:33:59,900 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 375 transitions. [2022-04-07 12:33:59,900 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-07 12:33:59,900 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:33:59,900 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:33:59,924 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-04-07 12:34:00,118 WARN L460 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-04-07 12:34:00,118 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:34:00,118 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:34:00,119 INFO L85 PathProgramCache]: Analyzing trace with hash 1445301309, now seen corresponding path program 1 times [2022-04-07 12:34:00,119 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:34:00,119 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [266742836] [2022-04-07 12:34:00,119 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:34:00,119 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:34:00,128 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:34:00,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1063246878] [2022-04-07 12:34:00,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:34:00,128 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:34:00,128 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:34:00,133 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:34:00,133 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-07 12:34:00,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:34:00,177 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 12:34:00,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:34:00,185 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:34:00,310 INFO L272 TraceCheckUtils]: 0: Hoare triple {5264#true} call ULTIMATE.init(); {5264#true} is VALID [2022-04-07 12:34:00,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {5264#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(11, 2);call #Ultimate.allocInit(12, 3); {5264#true} is VALID [2022-04-07 12:34:00,310 INFO L290 TraceCheckUtils]: 2: Hoare triple {5264#true} assume true; {5264#true} is VALID [2022-04-07 12:34:00,310 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5264#true} {5264#true} #105#return; {5264#true} is VALID [2022-04-07 12:34:00,310 INFO L272 TraceCheckUtils]: 4: Hoare triple {5264#true} call #t~ret6 := main(); {5264#true} is VALID [2022-04-07 12:34:00,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {5264#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5264#true} is VALID [2022-04-07 12:34:00,310 INFO L272 TraceCheckUtils]: 6: Hoare triple {5264#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5264#true} is VALID [2022-04-07 12:34:00,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {5264#true} ~cond := #in~cond; {5264#true} is VALID [2022-04-07 12:34:00,310 INFO L290 TraceCheckUtils]: 8: Hoare triple {5264#true} assume !(0 == ~cond); {5264#true} is VALID [2022-04-07 12:34:00,310 INFO L290 TraceCheckUtils]: 9: Hoare triple {5264#true} assume true; {5264#true} is VALID [2022-04-07 12:34:00,311 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5264#true} {5264#true} #91#return; {5264#true} is VALID [2022-04-07 12:34:00,311 INFO L272 TraceCheckUtils]: 11: Hoare triple {5264#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5264#true} is VALID [2022-04-07 12:34:00,311 INFO L290 TraceCheckUtils]: 12: Hoare triple {5264#true} ~cond := #in~cond; {5264#true} is VALID [2022-04-07 12:34:00,311 INFO L290 TraceCheckUtils]: 13: Hoare triple {5264#true} assume !(0 == ~cond); {5264#true} is VALID [2022-04-07 12:34:00,311 INFO L290 TraceCheckUtils]: 14: Hoare triple {5264#true} assume true; {5264#true} is VALID [2022-04-07 12:34:00,311 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5264#true} {5264#true} #93#return; {5264#true} is VALID [2022-04-07 12:34:00,311 INFO L290 TraceCheckUtils]: 16: Hoare triple {5264#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5264#true} is VALID [2022-04-07 12:34:00,311 INFO L290 TraceCheckUtils]: 17: Hoare triple {5264#true} assume !false; {5264#true} is VALID [2022-04-07 12:34:00,311 INFO L290 TraceCheckUtils]: 18: Hoare triple {5264#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5264#true} is VALID [2022-04-07 12:34:00,311 INFO L290 TraceCheckUtils]: 19: Hoare triple {5264#true} assume !false; {5264#true} is VALID [2022-04-07 12:34:00,312 INFO L290 TraceCheckUtils]: 20: Hoare triple {5264#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-07 12:34:00,312 INFO L290 TraceCheckUtils]: 21: Hoare triple {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-07 12:34:00,312 INFO L272 TraceCheckUtils]: 22: Hoare triple {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5264#true} is VALID [2022-04-07 12:34:00,312 INFO L290 TraceCheckUtils]: 23: Hoare triple {5264#true} ~cond := #in~cond; {5264#true} is VALID [2022-04-07 12:34:00,312 INFO L290 TraceCheckUtils]: 24: Hoare triple {5264#true} assume !(0 == ~cond); {5264#true} is VALID [2022-04-07 12:34:00,312 INFO L290 TraceCheckUtils]: 25: Hoare triple {5264#true} assume true; {5264#true} is VALID [2022-04-07 12:34:00,313 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5264#true} {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #95#return; {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-07 12:34:00,313 INFO L272 TraceCheckUtils]: 27: Hoare triple {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5264#true} is VALID [2022-04-07 12:34:00,313 INFO L290 TraceCheckUtils]: 28: Hoare triple {5264#true} ~cond := #in~cond; {5264#true} is VALID [2022-04-07 12:34:00,313 INFO L290 TraceCheckUtils]: 29: Hoare triple {5264#true} assume !(0 == ~cond); {5264#true} is VALID [2022-04-07 12:34:00,313 INFO L290 TraceCheckUtils]: 30: Hoare triple {5264#true} assume true; {5264#true} is VALID [2022-04-07 12:34:00,314 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {5264#true} {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #97#return; {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-07 12:34:00,314 INFO L272 TraceCheckUtils]: 32: Hoare triple {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5264#true} is VALID [2022-04-07 12:34:00,314 INFO L290 TraceCheckUtils]: 33: Hoare triple {5264#true} ~cond := #in~cond; {5264#true} is VALID [2022-04-07 12:34:00,314 INFO L290 TraceCheckUtils]: 34: Hoare triple {5264#true} assume !(0 == ~cond); {5264#true} is VALID [2022-04-07 12:34:00,314 INFO L290 TraceCheckUtils]: 35: Hoare triple {5264#true} assume true; {5264#true} is VALID [2022-04-07 12:34:00,315 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5264#true} {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #99#return; {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-07 12:34:00,315 INFO L272 TraceCheckUtils]: 37: Hoare triple {5329#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {5381#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:34:00,316 INFO L290 TraceCheckUtils]: 38: Hoare triple {5381#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5385#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:34:00,316 INFO L290 TraceCheckUtils]: 39: Hoare triple {5385#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5265#false} is VALID [2022-04-07 12:34:00,316 INFO L290 TraceCheckUtils]: 40: Hoare triple {5265#false} assume !false; {5265#false} is VALID [2022-04-07 12:34:00,316 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-07 12:34:00,316 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-07 12:34:00,316 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:34:00,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [266742836] [2022-04-07 12:34:00,316 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:34:00,316 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1063246878] [2022-04-07 12:34:00,317 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1063246878] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-07 12:34:00,317 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-07 12:34:00,317 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-07 12:34:00,317 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1168288228] [2022-04-07 12:34:00,317 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-07 12:34:00,317 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-04-07 12:34:00,317 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:34:00,317 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 12:34:00,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:34:00,339 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-07 12:34:00,339 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:34:00,340 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-07 12:34:00,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-07 12:34:00,340 INFO L87 Difference]: Start difference. First operand 253 states and 375 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 12:34:00,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:34:00,983 INFO L93 Difference]: Finished difference Result 414 states and 645 transitions. [2022-04-07 12:34:00,983 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-07 12:34:00,983 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-04-07 12:34:00,983 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:34:00,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 12:34:00,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-07 12:34:00,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 12:34:00,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-07 12:34:00,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-07 12:34:01,021 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:34:01,034 INFO L225 Difference]: With dead ends: 414 [2022-04-07 12:34:01,034 INFO L226 Difference]: Without dead ends: 412 [2022-04-07 12:34:01,035 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-07 12:34:01,035 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 9 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-07 12:34:01,036 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 136 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-07 12:34:01,036 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 412 states. [2022-04-07 12:34:01,536 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 412 to 357. [2022-04-07 12:34:01,536 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:34:01,536 INFO L82 GeneralOperation]: Start isEquivalent. First operand 412 states. Second operand has 357 states, 181 states have (on average 1.270718232044199) internal successors, (230), 202 states have internal predecessors, (230), 165 states have call successors, (165), 11 states have call predecessors, (165), 10 states have return successors, (163), 143 states have call predecessors, (163), 163 states have call successors, (163) [2022-04-07 12:34:01,537 INFO L74 IsIncluded]: Start isIncluded. First operand 412 states. Second operand has 357 states, 181 states have (on average 1.270718232044199) internal successors, (230), 202 states have internal predecessors, (230), 165 states have call successors, (165), 11 states have call predecessors, (165), 10 states have return successors, (163), 143 states have call predecessors, (163), 163 states have call successors, (163) [2022-04-07 12:34:01,537 INFO L87 Difference]: Start difference. First operand 412 states. Second operand has 357 states, 181 states have (on average 1.270718232044199) internal successors, (230), 202 states have internal predecessors, (230), 165 states have call successors, (165), 11 states have call predecessors, (165), 10 states have return successors, (163), 143 states have call predecessors, (163), 163 states have call successors, (163) [2022-04-07 12:34:01,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:34:01,564 INFO L93 Difference]: Finished difference Result 412 states and 643 transitions. [2022-04-07 12:34:01,564 INFO L276 IsEmpty]: Start isEmpty. Operand 412 states and 643 transitions. [2022-04-07 12:34:01,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:34:01,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:34:01,566 INFO L74 IsIncluded]: Start isIncluded. First operand has 357 states, 181 states have (on average 1.270718232044199) internal successors, (230), 202 states have internal predecessors, (230), 165 states have call successors, (165), 11 states have call predecessors, (165), 10 states have return successors, (163), 143 states have call predecessors, (163), 163 states have call successors, (163) Second operand 412 states. [2022-04-07 12:34:01,567 INFO L87 Difference]: Start difference. First operand has 357 states, 181 states have (on average 1.270718232044199) internal successors, (230), 202 states have internal predecessors, (230), 165 states have call successors, (165), 11 states have call predecessors, (165), 10 states have return successors, (163), 143 states have call predecessors, (163), 163 states have call successors, (163) Second operand 412 states. [2022-04-07 12:34:01,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:34:01,581 INFO L93 Difference]: Finished difference Result 412 states and 643 transitions. [2022-04-07 12:34:01,581 INFO L276 IsEmpty]: Start isEmpty. Operand 412 states and 643 transitions. [2022-04-07 12:34:01,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:34:01,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:34:01,582 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:34:01,583 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:34:01,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 357 states, 181 states have (on average 1.270718232044199) internal successors, (230), 202 states have internal predecessors, (230), 165 states have call successors, (165), 11 states have call predecessors, (165), 10 states have return successors, (163), 143 states have call predecessors, (163), 163 states have call successors, (163) [2022-04-07 12:34:01,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 357 states to 357 states and 558 transitions. [2022-04-07 12:34:01,597 INFO L78 Accepts]: Start accepts. Automaton has 357 states and 558 transitions. Word has length 41 [2022-04-07 12:34:01,597 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:34:01,597 INFO L478 AbstractCegarLoop]: Abstraction has 357 states and 558 transitions. [2022-04-07 12:34:01,597 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-07 12:34:01,597 INFO L276 IsEmpty]: Start isEmpty. Operand 357 states and 558 transitions. [2022-04-07 12:34:01,598 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-07 12:34:01,598 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:34:01,598 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:34:01,625 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-07 12:34:01,814 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-07 12:34:01,815 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:34:01,815 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:34:01,815 INFO L85 PathProgramCache]: Analyzing trace with hash -810649216, now seen corresponding path program 1 times [2022-04-07 12:34:01,815 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:34:01,815 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [929755623] [2022-04-07 12:34:01,815 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:34:01,816 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:34:01,829 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:34:01,830 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1529806711] [2022-04-07 12:34:01,830 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:34:01,830 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:34:01,830 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:34:01,831 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:34:01,831 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-07 12:34:01,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:34:01,870 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-07 12:34:01,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:34:01,879 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:34:02,652 INFO L272 TraceCheckUtils]: 0: Hoare triple {7498#true} call ULTIMATE.init(); {7498#true} is VALID [2022-04-07 12:34:02,652 INFO L290 TraceCheckUtils]: 1: Hoare triple {7498#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(11, 2);call #Ultimate.allocInit(12, 3); {7498#true} is VALID [2022-04-07 12:34:02,652 INFO L290 TraceCheckUtils]: 2: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-07 12:34:02,652 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7498#true} {7498#true} #105#return; {7498#true} is VALID [2022-04-07 12:34:02,652 INFO L272 TraceCheckUtils]: 4: Hoare triple {7498#true} call #t~ret6 := main(); {7498#true} is VALID [2022-04-07 12:34:02,652 INFO L290 TraceCheckUtils]: 5: Hoare triple {7498#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7498#true} is VALID [2022-04-07 12:34:02,652 INFO L272 TraceCheckUtils]: 6: Hoare triple {7498#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7498#true} is VALID [2022-04-07 12:34:02,652 INFO L290 TraceCheckUtils]: 7: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-07 12:34:02,652 INFO L290 TraceCheckUtils]: 8: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-07 12:34:02,652 INFO L290 TraceCheckUtils]: 9: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-07 12:34:02,653 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7498#true} {7498#true} #91#return; {7498#true} is VALID [2022-04-07 12:34:02,653 INFO L272 TraceCheckUtils]: 11: Hoare triple {7498#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7498#true} is VALID [2022-04-07 12:34:02,653 INFO L290 TraceCheckUtils]: 12: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-07 12:34:02,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-07 12:34:02,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-07 12:34:02,653 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7498#true} {7498#true} #93#return; {7498#true} is VALID [2022-04-07 12:34:02,653 INFO L290 TraceCheckUtils]: 16: Hoare triple {7498#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7551#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,654 INFO L290 TraceCheckUtils]: 17: Hoare triple {7551#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {7551#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,654 INFO L290 TraceCheckUtils]: 18: Hoare triple {7551#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7558#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,654 INFO L290 TraceCheckUtils]: 19: Hoare triple {7558#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {7558#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,655 INFO L290 TraceCheckUtils]: 20: Hoare triple {7558#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,655 INFO L290 TraceCheckUtils]: 21: Hoare triple {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,655 INFO L272 TraceCheckUtils]: 22: Hoare triple {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7498#true} is VALID [2022-04-07 12:34:02,656 INFO L290 TraceCheckUtils]: 23: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-07 12:34:02,656 INFO L290 TraceCheckUtils]: 24: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-07 12:34:02,656 INFO L290 TraceCheckUtils]: 25: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-07 12:34:02,656 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7498#true} {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #95#return; {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,656 INFO L272 TraceCheckUtils]: 27: Hoare triple {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7498#true} is VALID [2022-04-07 12:34:02,672 INFO L290 TraceCheckUtils]: 28: Hoare triple {7498#true} ~cond := #in~cond; {7590#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:34:02,673 INFO L290 TraceCheckUtils]: 29: Hoare triple {7590#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:34:02,673 INFO L290 TraceCheckUtils]: 30: Hoare triple {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:34:02,674 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #97#return; {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,674 INFO L272 TraceCheckUtils]: 32: Hoare triple {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7498#true} is VALID [2022-04-07 12:34:02,674 INFO L290 TraceCheckUtils]: 33: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-07 12:34:02,674 INFO L290 TraceCheckUtils]: 34: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-07 12:34:02,674 INFO L290 TraceCheckUtils]: 35: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-07 12:34:02,675 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7498#true} {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #99#return; {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,675 INFO L272 TraceCheckUtils]: 37: Hoare triple {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7498#true} is VALID [2022-04-07 12:34:02,675 INFO L290 TraceCheckUtils]: 38: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-07 12:34:02,675 INFO L290 TraceCheckUtils]: 39: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-07 12:34:02,675 INFO L290 TraceCheckUtils]: 40: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-07 12:34:02,676 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7498#true} {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #101#return; {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,676 INFO L290 TraceCheckUtils]: 42: Hoare triple {7565#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {7634#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,677 INFO L290 TraceCheckUtils]: 43: Hoare triple {7634#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= main_~d~0 1) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {7638#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= (* main_~b~0 2) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,677 INFO L290 TraceCheckUtils]: 44: Hoare triple {7638#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= (* main_~b~0 2) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {7638#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= (* main_~b~0 2) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,678 INFO L290 TraceCheckUtils]: 45: Hoare triple {7638#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= (* main_~b~0 2) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {7638#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= (* main_~b~0 2) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-07 12:34:02,678 INFO L290 TraceCheckUtils]: 46: Hoare triple {7638#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (not (<= (* main_~b~0 2) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7648#(and (= (+ main_~q~0 main_~p~0) 1) (not (<= (* main_~a~0 2) main_~x~0)) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 12:34:02,679 INFO L290 TraceCheckUtils]: 47: Hoare triple {7648#(and (= (+ main_~q~0 main_~p~0) 1) (not (<= (* main_~a~0 2) main_~x~0)) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !false; {7648#(and (= (+ main_~q~0 main_~p~0) 1) (not (<= (* main_~a~0 2) main_~x~0)) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-07 12:34:02,679 INFO L290 TraceCheckUtils]: 48: Hoare triple {7648#(and (= (+ main_~q~0 main_~p~0) 1) (not (<= (* main_~a~0 2) main_~x~0)) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~a~0 main_~x~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {7655#(and (< main_~x~0 (* main_~a~0 2)) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 1) 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 12:34:02,680 INFO L272 TraceCheckUtils]: 49: Hoare triple {7655#(and (< main_~x~0 (* main_~a~0 2)) (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 1) 0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:34:02,680 INFO L290 TraceCheckUtils]: 50: Hoare triple {7659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:34:02,681 INFO L290 TraceCheckUtils]: 51: Hoare triple {7663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7499#false} is VALID [2022-04-07 12:34:02,681 INFO L290 TraceCheckUtils]: 52: Hoare triple {7499#false} assume !false; {7499#false} is VALID [2022-04-07 12:34:02,681 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-07 12:34:02,681 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:34:08,619 INFO L290 TraceCheckUtils]: 52: Hoare triple {7499#false} assume !false; {7499#false} is VALID [2022-04-07 12:34:08,620 INFO L290 TraceCheckUtils]: 51: Hoare triple {7663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7499#false} is VALID [2022-04-07 12:34:08,620 INFO L290 TraceCheckUtils]: 50: Hoare triple {7659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:34:08,621 INFO L272 TraceCheckUtils]: 49: Hoare triple {7679#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:34:08,622 INFO L290 TraceCheckUtils]: 48: Hoare triple {7683#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {7679#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:34:08,622 INFO L290 TraceCheckUtils]: 47: Hoare triple {7683#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {7683#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 12:34:08,874 INFO L290 TraceCheckUtils]: 46: Hoare triple {7690#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7683#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 12:34:08,875 INFO L290 TraceCheckUtils]: 45: Hoare triple {7690#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {7690#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:34:08,875 INFO L290 TraceCheckUtils]: 44: Hoare triple {7690#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {7690#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:34:08,913 INFO L290 TraceCheckUtils]: 43: Hoare triple {7700#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {7690#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:34:08,914 INFO L290 TraceCheckUtils]: 42: Hoare triple {7704#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {7700#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:34:08,915 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {7498#true} {7704#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #101#return; {7704#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:34:08,915 INFO L290 TraceCheckUtils]: 40: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-07 12:34:08,915 INFO L290 TraceCheckUtils]: 39: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-07 12:34:08,915 INFO L290 TraceCheckUtils]: 38: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-07 12:34:08,915 INFO L272 TraceCheckUtils]: 37: Hoare triple {7704#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7498#true} is VALID [2022-04-07 12:34:08,916 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7498#true} {7704#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #99#return; {7704#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:34:08,916 INFO L290 TraceCheckUtils]: 35: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-07 12:34:08,916 INFO L290 TraceCheckUtils]: 34: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-07 12:34:08,916 INFO L290 TraceCheckUtils]: 33: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-07 12:34:08,916 INFO L272 TraceCheckUtils]: 32: Hoare triple {7704#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7498#true} is VALID [2022-04-07 12:34:08,917 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} {7738#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #97#return; {7704#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:34:08,918 INFO L290 TraceCheckUtils]: 30: Hoare triple {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:34:08,918 INFO L290 TraceCheckUtils]: 29: Hoare triple {7748#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7594#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:34:08,918 INFO L290 TraceCheckUtils]: 28: Hoare triple {7498#true} ~cond := #in~cond; {7748#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:34:08,918 INFO L272 TraceCheckUtils]: 27: Hoare triple {7738#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7498#true} is VALID [2022-04-07 12:34:08,919 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7498#true} {7738#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #95#return; {7738#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:34:08,919 INFO L290 TraceCheckUtils]: 25: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-07 12:34:08,919 INFO L290 TraceCheckUtils]: 24: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-07 12:34:08,919 INFO L290 TraceCheckUtils]: 23: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-07 12:34:08,920 INFO L272 TraceCheckUtils]: 22: Hoare triple {7738#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7498#true} is VALID [2022-04-07 12:34:08,920 INFO L290 TraceCheckUtils]: 21: Hoare triple {7738#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {7738#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:34:08,921 INFO L290 TraceCheckUtils]: 20: Hoare triple {7773#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~c~0 0) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7738#(or (<= (* main_~v~0 2) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:34:08,922 INFO L290 TraceCheckUtils]: 19: Hoare triple {7773#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~c~0 0) (not (= main_~c~0 main_~b~0)))} assume !false; {7773#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~c~0 0) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-07 12:34:08,922 INFO L290 TraceCheckUtils]: 18: Hoare triple {7780#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 main_~a~0)) (<= main_~a~0 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7773#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~c~0 0) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-07 12:34:08,923 INFO L290 TraceCheckUtils]: 17: Hoare triple {7780#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 main_~a~0)) (<= main_~a~0 0))} assume !false; {7780#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 main_~a~0)) (<= main_~a~0 0))} is VALID [2022-04-07 12:34:08,923 INFO L290 TraceCheckUtils]: 16: Hoare triple {7498#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7780#(or (= (+ (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0)) (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 main_~a~0)) (<= main_~a~0 0))} is VALID [2022-04-07 12:34:08,923 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7498#true} {7498#true} #93#return; {7498#true} is VALID [2022-04-07 12:34:08,923 INFO L290 TraceCheckUtils]: 14: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-07 12:34:08,923 INFO L290 TraceCheckUtils]: 13: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-07 12:34:08,923 INFO L290 TraceCheckUtils]: 12: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-07 12:34:08,923 INFO L272 TraceCheckUtils]: 11: Hoare triple {7498#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7498#true} is VALID [2022-04-07 12:34:08,924 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7498#true} {7498#true} #91#return; {7498#true} is VALID [2022-04-07 12:34:08,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-07 12:34:08,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {7498#true} assume !(0 == ~cond); {7498#true} is VALID [2022-04-07 12:34:08,924 INFO L290 TraceCheckUtils]: 7: Hoare triple {7498#true} ~cond := #in~cond; {7498#true} is VALID [2022-04-07 12:34:08,924 INFO L272 TraceCheckUtils]: 6: Hoare triple {7498#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7498#true} is VALID [2022-04-07 12:34:08,926 INFO L290 TraceCheckUtils]: 5: Hoare triple {7498#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7498#true} is VALID [2022-04-07 12:34:08,926 INFO L272 TraceCheckUtils]: 4: Hoare triple {7498#true} call #t~ret6 := main(); {7498#true} is VALID [2022-04-07 12:34:08,927 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7498#true} {7498#true} #105#return; {7498#true} is VALID [2022-04-07 12:34:08,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {7498#true} assume true; {7498#true} is VALID [2022-04-07 12:34:08,927 INFO L290 TraceCheckUtils]: 1: Hoare triple {7498#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(11, 2);call #Ultimate.allocInit(12, 3); {7498#true} is VALID [2022-04-07 12:34:08,927 INFO L272 TraceCheckUtils]: 0: Hoare triple {7498#true} call ULTIMATE.init(); {7498#true} is VALID [2022-04-07 12:34:08,927 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-07 12:34:08,927 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:34:08,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [929755623] [2022-04-07 12:34:08,927 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:34:08,927 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1529806711] [2022-04-07 12:34:08,928 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1529806711] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:34:08,928 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:34:08,928 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 14] total 22 [2022-04-07 12:34:08,928 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [141330028] [2022-04-07 12:34:08,928 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:34:08,930 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 53 [2022-04-07 12:34:08,930 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:34:08,930 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-07 12:34:09,105 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:34:09,106 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-07 12:34:09,106 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:34:09,106 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-07 12:34:09,106 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=386, Unknown=0, NotChecked=0, Total=462 [2022-04-07 12:34:09,106 INFO L87 Difference]: Start difference. First operand 357 states and 558 transitions. Second operand has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-07 12:34:21,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:34:21,814 INFO L93 Difference]: Finished difference Result 713 states and 1105 transitions. [2022-04-07 12:34:21,814 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-04-07 12:34:21,815 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 53 [2022-04-07 12:34:21,815 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:34:21,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-07 12:34:21,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 258 transitions. [2022-04-07 12:34:21,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-07 12:34:21,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 258 transitions. [2022-04-07 12:34:21,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 258 transitions. [2022-04-07 12:34:22,499 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 258 edges. 258 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:34:22,516 INFO L225 Difference]: With dead ends: 713 [2022-04-07 12:34:22,516 INFO L226 Difference]: Without dead ends: 546 [2022-04-07 12:34:22,518 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 450 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=415, Invalid=1841, Unknown=0, NotChecked=0, Total=2256 [2022-04-07 12:34:22,518 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 134 mSDsluCounter, 226 mSDsCounter, 0 mSdLazyCounter, 910 mSolverCounterSat, 294 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 141 SdHoareTripleChecker+Valid, 258 SdHoareTripleChecker+Invalid, 1204 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 294 IncrementalHoareTripleChecker+Valid, 910 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.9s IncrementalHoareTripleChecker+Time [2022-04-07 12:34:22,519 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [141 Valid, 258 Invalid, 1204 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [294 Valid, 910 Invalid, 0 Unknown, 0 Unchecked, 3.9s Time] [2022-04-07 12:34:22,519 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 546 states. [2022-04-07 12:34:23,250 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 546 to 465. [2022-04-07 12:34:23,251 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:34:23,252 INFO L82 GeneralOperation]: Start isEquivalent. First operand 546 states. Second operand has 465 states, 261 states have (on average 1.260536398467433) internal successors, (329), 280 states have internal predecessors, (329), 189 states have call successors, (189), 15 states have call predecessors, (189), 14 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-07 12:34:23,252 INFO L74 IsIncluded]: Start isIncluded. First operand 546 states. Second operand has 465 states, 261 states have (on average 1.260536398467433) internal successors, (329), 280 states have internal predecessors, (329), 189 states have call successors, (189), 15 states have call predecessors, (189), 14 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-07 12:34:23,253 INFO L87 Difference]: Start difference. First operand 546 states. Second operand has 465 states, 261 states have (on average 1.260536398467433) internal successors, (329), 280 states have internal predecessors, (329), 189 states have call successors, (189), 15 states have call predecessors, (189), 14 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-07 12:34:23,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:34:23,277 INFO L93 Difference]: Finished difference Result 546 states and 842 transitions. [2022-04-07 12:34:23,277 INFO L276 IsEmpty]: Start isEmpty. Operand 546 states and 842 transitions. [2022-04-07 12:34:23,279 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:34:23,279 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:34:23,280 INFO L74 IsIncluded]: Start isIncluded. First operand has 465 states, 261 states have (on average 1.260536398467433) internal successors, (329), 280 states have internal predecessors, (329), 189 states have call successors, (189), 15 states have call predecessors, (189), 14 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) Second operand 546 states. [2022-04-07 12:34:23,280 INFO L87 Difference]: Start difference. First operand has 465 states, 261 states have (on average 1.260536398467433) internal successors, (329), 280 states have internal predecessors, (329), 189 states have call successors, (189), 15 states have call predecessors, (189), 14 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) Second operand 546 states. [2022-04-07 12:34:23,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:34:23,303 INFO L93 Difference]: Finished difference Result 546 states and 842 transitions. [2022-04-07 12:34:23,303 INFO L276 IsEmpty]: Start isEmpty. Operand 546 states and 842 transitions. [2022-04-07 12:34:23,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:34:23,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:34:23,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:34:23,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:34:23,307 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 465 states, 261 states have (on average 1.260536398467433) internal successors, (329), 280 states have internal predecessors, (329), 189 states have call successors, (189), 15 states have call predecessors, (189), 14 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-07 12:34:23,325 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 465 states to 465 states and 705 transitions. [2022-04-07 12:34:23,325 INFO L78 Accepts]: Start accepts. Automaton has 465 states and 705 transitions. Word has length 53 [2022-04-07 12:34:23,325 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:34:23,325 INFO L478 AbstractCegarLoop]: Abstraction has 465 states and 705 transitions. [2022-04-07 12:34:23,325 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 20 states have (on average 2.15) internal successors, (43), 20 states have internal predecessors, (43), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-07 12:34:23,326 INFO L276 IsEmpty]: Start isEmpty. Operand 465 states and 705 transitions. [2022-04-07 12:34:23,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-07 12:34:23,326 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:34:23,326 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:34:23,345 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-07 12:34:23,539 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-07 12:34:23,539 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:34:23,540 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:34:23,540 INFO L85 PathProgramCache]: Analyzing trace with hash 1658124158, now seen corresponding path program 1 times [2022-04-07 12:34:23,540 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:34:23,540 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [360622685] [2022-04-07 12:34:23,540 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:34:23,540 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:34:23,554 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:34:23,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [622035230] [2022-04-07 12:34:23,554 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:34:23,554 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:34:23,554 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:34:23,568 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:34:23,571 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-07 12:34:23,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:34:23,629 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-07 12:34:23,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:34:23,640 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:34:24,158 INFO L272 TraceCheckUtils]: 0: Hoare triple {10941#true} call ULTIMATE.init(); {10941#true} is VALID [2022-04-07 12:34:24,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {10941#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(11, 2);call #Ultimate.allocInit(12, 3); {10941#true} is VALID [2022-04-07 12:34:24,158 INFO L290 TraceCheckUtils]: 2: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:34:24,158 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10941#true} {10941#true} #105#return; {10941#true} is VALID [2022-04-07 12:34:24,159 INFO L272 TraceCheckUtils]: 4: Hoare triple {10941#true} call #t~ret6 := main(); {10941#true} is VALID [2022-04-07 12:34:24,159 INFO L290 TraceCheckUtils]: 5: Hoare triple {10941#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10941#true} is VALID [2022-04-07 12:34:24,159 INFO L272 TraceCheckUtils]: 6: Hoare triple {10941#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:34:24,159 INFO L290 TraceCheckUtils]: 7: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:34:24,159 INFO L290 TraceCheckUtils]: 8: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:34:24,159 INFO L290 TraceCheckUtils]: 9: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:34:24,159 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10941#true} {10941#true} #91#return; {10941#true} is VALID [2022-04-07 12:34:24,159 INFO L272 TraceCheckUtils]: 11: Hoare triple {10941#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:34:24,159 INFO L290 TraceCheckUtils]: 12: Hoare triple {10941#true} ~cond := #in~cond; {10982#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-07 12:34:24,160 INFO L290 TraceCheckUtils]: 13: Hoare triple {10982#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10986#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:34:24,160 INFO L290 TraceCheckUtils]: 14: Hoare triple {10986#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10986#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-07 12:34:24,160 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10986#(not (= |assume_abort_if_not_#in~cond| 0))} {10941#true} #93#return; {10993#(<= 1 main_~y~0)} is VALID [2022-04-07 12:34:24,161 INFO L290 TraceCheckUtils]: 16: Hoare triple {10993#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,161 INFO L290 TraceCheckUtils]: 17: Hoare triple {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,161 INFO L290 TraceCheckUtils]: 18: Hoare triple {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,162 INFO L290 TraceCheckUtils]: 19: Hoare triple {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,162 INFO L290 TraceCheckUtils]: 20: Hoare triple {10997#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,163 INFO L290 TraceCheckUtils]: 21: Hoare triple {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,163 INFO L272 TraceCheckUtils]: 22: Hoare triple {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:34:24,163 INFO L290 TraceCheckUtils]: 23: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:34:24,163 INFO L290 TraceCheckUtils]: 24: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:34:24,163 INFO L290 TraceCheckUtils]: 25: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:34:24,164 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10941#true} {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} #95#return; {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,164 INFO L272 TraceCheckUtils]: 27: Hoare triple {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:34:24,164 INFO L290 TraceCheckUtils]: 28: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:34:24,164 INFO L290 TraceCheckUtils]: 29: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:34:24,164 INFO L290 TraceCheckUtils]: 30: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:34:24,165 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {10941#true} {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} #97#return; {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,165 INFO L272 TraceCheckUtils]: 32: Hoare triple {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:34:24,165 INFO L290 TraceCheckUtils]: 33: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:34:24,165 INFO L290 TraceCheckUtils]: 34: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:34:24,165 INFO L290 TraceCheckUtils]: 35: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:34:24,166 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10941#true} {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} #99#return; {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,166 INFO L272 TraceCheckUtils]: 37: Hoare triple {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:34:24,166 INFO L290 TraceCheckUtils]: 38: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:34:24,166 INFO L290 TraceCheckUtils]: 39: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:34:24,166 INFO L290 TraceCheckUtils]: 40: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:34:24,167 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10941#true} {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} #101#return; {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,167 INFO L290 TraceCheckUtils]: 42: Hoare triple {11010#(and (= main_~b~0 main_~v~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,168 INFO L290 TraceCheckUtils]: 43: Hoare triple {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,168 INFO L272 TraceCheckUtils]: 44: Hoare triple {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:34:24,168 INFO L290 TraceCheckUtils]: 45: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:34:24,168 INFO L290 TraceCheckUtils]: 46: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:34:24,168 INFO L290 TraceCheckUtils]: 47: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:34:24,169 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {10941#true} {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} #95#return; {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-07 12:34:24,169 INFO L272 TraceCheckUtils]: 49: Hoare triple {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:34:24,169 INFO L290 TraceCheckUtils]: 50: Hoare triple {10941#true} ~cond := #in~cond; {11102#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:34:24,169 INFO L290 TraceCheckUtils]: 51: Hoare triple {11102#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11106#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:34:24,170 INFO L290 TraceCheckUtils]: 52: Hoare triple {11106#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11106#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:34:24,170 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {11106#(not (= |__VERIFIER_assert_#in~cond| 0))} {11077#(and (= main_~v~0 (* main_~b~0 2)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (<= 1 main_~y~0))} #97#return; {11113#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} is VALID [2022-04-07 12:34:24,170 INFO L272 TraceCheckUtils]: 54: Hoare triple {11113#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:34:24,171 INFO L290 TraceCheckUtils]: 55: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:34:24,171 INFO L290 TraceCheckUtils]: 56: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:34:24,171 INFO L290 TraceCheckUtils]: 57: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:34:24,171 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10941#true} {11113#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} #99#return; {11113#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} is VALID [2022-04-07 12:34:24,172 INFO L272 TraceCheckUtils]: 59: Hoare triple {11113#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11132#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:34:24,172 INFO L290 TraceCheckUtils]: 60: Hoare triple {11132#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11136#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:34:24,172 INFO L290 TraceCheckUtils]: 61: Hoare triple {11136#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10942#false} is VALID [2022-04-07 12:34:24,172 INFO L290 TraceCheckUtils]: 62: Hoare triple {10942#false} assume !false; {10942#false} is VALID [2022-04-07 12:34:24,173 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 31 proven. 9 refuted. 0 times theorem prover too weak. 67 trivial. 0 not checked. [2022-04-07 12:34:24,173 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:36:42,745 WARN L855 $PredicateComparison]: unable to prove that (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (let ((.cse0 (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_24) 0) (= .cse0 0)))))) is different from true [2022-04-07 12:36:57,048 WARN L855 $PredicateComparison]: unable to prove that (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (let ((.cse0 (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_24) 0) (= .cse0 0)))))) (= c___VERIFIER_assert_~cond 0)) is different from true [2022-04-07 12:37:05,226 WARN L855 $PredicateComparison]: unable to prove that (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (let ((.cse0 (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_24) 0) (= .cse0 0))))) is different from true [2022-04-07 12:37:05,528 INFO L290 TraceCheckUtils]: 62: Hoare triple {10942#false} assume !false; {10942#false} is VALID [2022-04-07 12:37:05,529 INFO L290 TraceCheckUtils]: 61: Hoare triple {11136#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10942#false} is VALID [2022-04-07 12:37:05,529 INFO L290 TraceCheckUtils]: 60: Hoare triple {11132#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11136#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:37:05,530 INFO L272 TraceCheckUtils]: 59: Hoare triple {11152#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11132#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:37:05,530 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {10941#true} {11152#(= main_~v~0 (* main_~d~0 main_~b~0))} #99#return; {11152#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-07 12:37:05,530 INFO L290 TraceCheckUtils]: 57: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:37:05,530 INFO L290 TraceCheckUtils]: 56: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:37:05,530 INFO L290 TraceCheckUtils]: 55: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:37:05,531 INFO L272 TraceCheckUtils]: 54: Hoare triple {11152#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:37:07,687 WARN L284 TraceCheckUtils]: 53: Hoare quadruple {11175#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0)))))} {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #97#return; {11152#(= main_~v~0 (* main_~d~0 main_~b~0))} is UNKNOWN [2022-04-07 12:37:07,688 INFO L290 TraceCheckUtils]: 52: Hoare triple {11175#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0)))))} assume true; {11175#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0)))))} is VALID [2022-04-07 12:37:07,688 INFO L290 TraceCheckUtils]: 51: Hoare triple {11182#(or (and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0))))) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11175#(and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0)))))} is VALID [2022-04-07 12:37:07,689 INFO L290 TraceCheckUtils]: 50: Hoare triple {11186#(or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0))))} ~cond := #in~cond; {11182#(or (and (not (= |__VERIFIER_assert_#in~cond| 0)) (or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0))))) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:37:09,692 WARN L272 TraceCheckUtils]: 49: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11186#(or (not (= |__VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (or (= (mod (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) v_main_~q~0_BEFORE_CALL_24) 0) (= (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)) 0))))} is UNKNOWN [2022-04-07 12:37:09,693 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {10941#true} {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #95#return; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-07 12:37:09,693 INFO L290 TraceCheckUtils]: 47: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:37:09,693 INFO L290 TraceCheckUtils]: 46: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:37:09,693 INFO L290 TraceCheckUtils]: 45: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:37:09,693 INFO L272 TraceCheckUtils]: 44: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:37:09,694 INFO L290 TraceCheckUtils]: 43: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} assume !false; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-07 12:37:09,706 INFO L290 TraceCheckUtils]: 42: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-07 12:37:09,706 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10941#true} {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #101#return; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-07 12:37:09,706 INFO L290 TraceCheckUtils]: 40: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:37:09,706 INFO L290 TraceCheckUtils]: 39: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:37:09,706 INFO L290 TraceCheckUtils]: 38: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:37:09,707 INFO L272 TraceCheckUtils]: 37: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:37:09,707 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10941#true} {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #99#return; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-07 12:37:09,707 INFO L290 TraceCheckUtils]: 35: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:37:09,708 INFO L290 TraceCheckUtils]: 34: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:37:09,708 INFO L290 TraceCheckUtils]: 33: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:37:09,708 INFO L272 TraceCheckUtils]: 32: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:37:09,708 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {10941#true} {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #97#return; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-07 12:37:09,709 INFO L290 TraceCheckUtils]: 30: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:37:09,709 INFO L290 TraceCheckUtils]: 29: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:37:09,709 INFO L290 TraceCheckUtils]: 28: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:37:09,709 INFO L272 TraceCheckUtils]: 27: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:37:09,710 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10941#true} {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} #95#return; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-07 12:37:09,710 INFO L290 TraceCheckUtils]: 25: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:37:09,710 INFO L290 TraceCheckUtils]: 24: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:37:09,710 INFO L290 TraceCheckUtils]: 23: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:37:09,710 INFO L272 TraceCheckUtils]: 22: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:37:09,711 INFO L290 TraceCheckUtils]: 21: Hoare triple {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} assume !false; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-07 12:37:09,712 INFO L290 TraceCheckUtils]: 20: Hoare triple {10941#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11171#(or (= main_~v~0 (* main_~d~0 main_~b~0)) (and (or (= main_~q~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) main_~q~0) 0))) (not (= (+ (* (- 1) main_~y~0 main_~s~0) main_~b~0) 0))))} is VALID [2022-04-07 12:37:09,712 INFO L290 TraceCheckUtils]: 19: Hoare triple {10941#true} assume !false; {10941#true} is VALID [2022-04-07 12:37:09,712 INFO L290 TraceCheckUtils]: 18: Hoare triple {10941#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10941#true} is VALID [2022-04-07 12:37:09,712 INFO L290 TraceCheckUtils]: 17: Hoare triple {10941#true} assume !false; {10941#true} is VALID [2022-04-07 12:37:09,712 INFO L290 TraceCheckUtils]: 16: Hoare triple {10941#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10941#true} is VALID [2022-04-07 12:37:09,712 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10941#true} {10941#true} #93#return; {10941#true} is VALID [2022-04-07 12:37:09,712 INFO L290 TraceCheckUtils]: 14: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:37:09,713 INFO L290 TraceCheckUtils]: 13: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:37:09,713 INFO L290 TraceCheckUtils]: 12: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:37:09,713 INFO L272 TraceCheckUtils]: 11: Hoare triple {10941#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:37:09,713 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10941#true} {10941#true} #91#return; {10941#true} is VALID [2022-04-07 12:37:09,713 INFO L290 TraceCheckUtils]: 9: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:37:09,713 INFO L290 TraceCheckUtils]: 8: Hoare triple {10941#true} assume !(0 == ~cond); {10941#true} is VALID [2022-04-07 12:37:09,713 INFO L290 TraceCheckUtils]: 7: Hoare triple {10941#true} ~cond := #in~cond; {10941#true} is VALID [2022-04-07 12:37:09,713 INFO L272 TraceCheckUtils]: 6: Hoare triple {10941#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10941#true} is VALID [2022-04-07 12:37:09,713 INFO L290 TraceCheckUtils]: 5: Hoare triple {10941#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10941#true} is VALID [2022-04-07 12:37:09,713 INFO L272 TraceCheckUtils]: 4: Hoare triple {10941#true} call #t~ret6 := main(); {10941#true} is VALID [2022-04-07 12:37:09,714 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10941#true} {10941#true} #105#return; {10941#true} is VALID [2022-04-07 12:37:09,714 INFO L290 TraceCheckUtils]: 2: Hoare triple {10941#true} assume true; {10941#true} is VALID [2022-04-07 12:37:09,714 INFO L290 TraceCheckUtils]: 1: Hoare triple {10941#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(11, 2);call #Ultimate.allocInit(12, 3); {10941#true} is VALID [2022-04-07 12:37:09,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {10941#true} call ULTIMATE.init(); {10941#true} is VALID [2022-04-07 12:37:09,714 INFO L134 CoverageAnalysis]: Checked inductivity of 107 backedges. 34 proven. 0 refuted. 4 times theorem prover too weak. 67 trivial. 2 not checked. [2022-04-07 12:37:09,714 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:37:09,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [360622685] [2022-04-07 12:37:09,715 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:37:09,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [622035230] [2022-04-07 12:37:09,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [622035230] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:37:09,715 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:37:09,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-07 12:37:09,715 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [824676358] [2022-04-07 12:37:09,715 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:37:09,716 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) Word has length 63 [2022-04-07 12:37:09,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:37:09,716 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-07 12:37:16,651 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 69 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-07 12:37:16,651 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-07 12:37:16,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:37:16,652 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-07 12:37:16,652 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=172, Unknown=3, NotChecked=84, Total=306 [2022-04-07 12:37:16,652 INFO L87 Difference]: Start difference. First operand 465 states and 705 transitions. Second operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-07 12:37:19,360 WARN L855 $PredicateComparison]: unable to prove that (and (<= 1 |c___VERIFIER_assert_#in~cond|) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (let ((.cse0 (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_24) 0) (= .cse0 0)))))) is different from true [2022-04-07 12:37:21,376 WARN L855 $PredicateComparison]: unable to prove that (and (<= 1 c___VERIFIER_assert_~cond) (= |c___VERIFIER_assert_#in~cond| c___VERIFIER_assert_~cond) (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (let ((.cse0 (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_24) 0) (= .cse0 0)))))) (= c___VERIFIER_assert_~cond 0))) is different from true [2022-04-07 12:37:23,474 WARN L855 $PredicateComparison]: unable to prove that (and (= |c___VERIFIER_assert_#in~cond| c___VERIFIER_assert_~cond) (or (and (not (= |c___VERIFIER_assert_#in~cond| 0)) (or (not (= |c___VERIFIER_assert_#in~cond| 1)) (forall ((v_main_~x~0_BEFORE_CALL_30 Int) (v_main_~s~0_BEFORE_CALL_24 Int) (v_main_~q~0_BEFORE_CALL_24 Int) (v_main_~y~0_BEFORE_CALL_28 Int)) (let ((.cse0 (+ (* v_main_~q~0_BEFORE_CALL_24 v_main_~x~0_BEFORE_CALL_30) (* v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24) (* (- 1) v_main_~y~0_BEFORE_CALL_28 v_main_~s~0_BEFORE_CALL_24)))) (or (= (mod .cse0 v_main_~q~0_BEFORE_CALL_24) 0) (= .cse0 0)))))) (= c___VERIFIER_assert_~cond 0))) is different from true [2022-04-07 12:37:25,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:37:25,463 INFO L93 Difference]: Finished difference Result 512 states and 763 transitions. [2022-04-07 12:37:25,463 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-07 12:37:25,463 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) Word has length 63 [2022-04-07 12:37:25,463 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:37:25,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-07 12:37:25,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 105 transitions. [2022-04-07 12:37:25,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-07 12:37:25,466 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 105 transitions. [2022-04-07 12:37:25,466 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 105 transitions. [2022-04-07 12:37:35,807 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 100 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-07 12:37:35,820 INFO L225 Difference]: With dead ends: 512 [2022-04-07 12:37:35,820 INFO L226 Difference]: Without dead ends: 510 [2022-04-07 12:37:35,821 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 108 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 6 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 12.2s TimeCoverageRelationStatistics Valid=75, Invalid=285, Unknown=6, NotChecked=234, Total=600 [2022-04-07 12:37:35,821 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 51 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 372 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 620 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 372 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 217 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-07 12:37:35,821 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 178 Invalid, 620 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 372 Invalid, 0 Unknown, 217 Unchecked, 0.9s Time] [2022-04-07 12:37:35,822 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 510 states. [2022-04-07 12:37:36,547 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 510 to 477. [2022-04-07 12:37:36,547 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:37:36,548 INFO L82 GeneralOperation]: Start isEquivalent. First operand 510 states. Second operand has 477 states, 270 states have (on average 1.2555555555555555) internal successors, (339), 289 states have internal predecessors, (339), 189 states have call successors, (189), 18 states have call predecessors, (189), 17 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-07 12:37:36,549 INFO L74 IsIncluded]: Start isIncluded. First operand 510 states. Second operand has 477 states, 270 states have (on average 1.2555555555555555) internal successors, (339), 289 states have internal predecessors, (339), 189 states have call successors, (189), 18 states have call predecessors, (189), 17 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-07 12:37:36,550 INFO L87 Difference]: Start difference. First operand 510 states. Second operand has 477 states, 270 states have (on average 1.2555555555555555) internal successors, (339), 289 states have internal predecessors, (339), 189 states have call successors, (189), 18 states have call predecessors, (189), 17 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-07 12:37:36,564 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:37:36,565 INFO L93 Difference]: Finished difference Result 510 states and 761 transitions. [2022-04-07 12:37:36,565 INFO L276 IsEmpty]: Start isEmpty. Operand 510 states and 761 transitions. [2022-04-07 12:37:36,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:37:36,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:37:36,567 INFO L74 IsIncluded]: Start isIncluded. First operand has 477 states, 270 states have (on average 1.2555555555555555) internal successors, (339), 289 states have internal predecessors, (339), 189 states have call successors, (189), 18 states have call predecessors, (189), 17 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) Second operand 510 states. [2022-04-07 12:37:36,568 INFO L87 Difference]: Start difference. First operand has 477 states, 270 states have (on average 1.2555555555555555) internal successors, (339), 289 states have internal predecessors, (339), 189 states have call successors, (189), 18 states have call predecessors, (189), 17 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) Second operand 510 states. [2022-04-07 12:37:36,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:37:36,585 INFO L93 Difference]: Finished difference Result 510 states and 761 transitions. [2022-04-07 12:37:36,585 INFO L276 IsEmpty]: Start isEmpty. Operand 510 states and 761 transitions. [2022-04-07 12:37:36,587 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:37:36,587 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:37:36,587 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:37:36,587 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:37:36,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 477 states, 270 states have (on average 1.2555555555555555) internal successors, (339), 289 states have internal predecessors, (339), 189 states have call successors, (189), 18 states have call predecessors, (189), 17 states have return successors, (187), 169 states have call predecessors, (187), 187 states have call successors, (187) [2022-04-07 12:37:36,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 477 states to 477 states and 715 transitions. [2022-04-07 12:37:36,604 INFO L78 Accepts]: Start accepts. Automaton has 477 states and 715 transitions. Word has length 63 [2022-04-07 12:37:36,605 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:37:36,605 INFO L478 AbstractCegarLoop]: Abstraction has 477 states and 715 transitions. [2022-04-07 12:37:36,605 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 13 states have internal predecessors, (36), 6 states have call successors, (19), 3 states have call predecessors, (19), 4 states have return successors, (17), 7 states have call predecessors, (17), 6 states have call successors, (17) [2022-04-07 12:37:36,605 INFO L276 IsEmpty]: Start isEmpty. Operand 477 states and 715 transitions. [2022-04-07 12:37:36,605 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-07 12:37:36,605 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:37:36,606 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:37:36,627 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-07 12:37:36,828 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-07 12:37:36,828 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:37:36,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:37:36,828 INFO L85 PathProgramCache]: Analyzing trace with hash -822265390, now seen corresponding path program 1 times [2022-04-07 12:37:36,828 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:37:36,828 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1244152086] [2022-04-07 12:37:36,828 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:37:36,829 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:37:36,848 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:37:36,848 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [934268808] [2022-04-07 12:37:36,848 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:37:36,848 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:37:36,848 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:37:36,856 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:37:36,857 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-07 12:37:36,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:37:36,901 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-07 12:37:36,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:37:36,912 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:37:37,155 INFO L272 TraceCheckUtils]: 0: Hoare triple {13990#true} call ULTIMATE.init(); {13990#true} is VALID [2022-04-07 12:37:37,155 INFO L290 TraceCheckUtils]: 1: Hoare triple {13990#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(11, 2);call #Ultimate.allocInit(12, 3); {13990#true} is VALID [2022-04-07 12:37:37,155 INFO L290 TraceCheckUtils]: 2: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13990#true} {13990#true} #105#return; {13990#true} is VALID [2022-04-07 12:37:37,155 INFO L272 TraceCheckUtils]: 4: Hoare triple {13990#true} call #t~ret6 := main(); {13990#true} is VALID [2022-04-07 12:37:37,155 INFO L290 TraceCheckUtils]: 5: Hoare triple {13990#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13990#true} is VALID [2022-04-07 12:37:37,155 INFO L272 TraceCheckUtils]: 6: Hoare triple {13990#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13990#true} is VALID [2022-04-07 12:37:37,155 INFO L290 TraceCheckUtils]: 7: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-07 12:37:37,155 INFO L290 TraceCheckUtils]: 8: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-07 12:37:37,155 INFO L290 TraceCheckUtils]: 9: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,156 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13990#true} {13990#true} #91#return; {13990#true} is VALID [2022-04-07 12:37:37,156 INFO L272 TraceCheckUtils]: 11: Hoare triple {13990#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13990#true} is VALID [2022-04-07 12:37:37,156 INFO L290 TraceCheckUtils]: 12: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-07 12:37:37,156 INFO L290 TraceCheckUtils]: 13: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-07 12:37:37,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,156 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13990#true} {13990#true} #93#return; {13990#true} is VALID [2022-04-07 12:37:37,156 INFO L290 TraceCheckUtils]: 16: Hoare triple {13990#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13990#true} is VALID [2022-04-07 12:37:37,156 INFO L290 TraceCheckUtils]: 17: Hoare triple {13990#true} assume !false; {13990#true} is VALID [2022-04-07 12:37:37,156 INFO L290 TraceCheckUtils]: 18: Hoare triple {13990#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13990#true} is VALID [2022-04-07 12:37:37,156 INFO L290 TraceCheckUtils]: 19: Hoare triple {13990#true} assume !false; {13990#true} is VALID [2022-04-07 12:37:37,157 INFO L290 TraceCheckUtils]: 20: Hoare triple {13990#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {14055#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 12:37:37,157 INFO L290 TraceCheckUtils]: 21: Hoare triple {14055#(<= main_~v~0 main_~b~0)} assume !false; {14055#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 12:37:37,157 INFO L272 TraceCheckUtils]: 22: Hoare triple {14055#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13990#true} is VALID [2022-04-07 12:37:37,157 INFO L290 TraceCheckUtils]: 23: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-07 12:37:37,157 INFO L290 TraceCheckUtils]: 24: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-07 12:37:37,157 INFO L290 TraceCheckUtils]: 25: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,158 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13990#true} {14055#(<= main_~v~0 main_~b~0)} #95#return; {14055#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 12:37:37,158 INFO L272 TraceCheckUtils]: 27: Hoare triple {14055#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13990#true} is VALID [2022-04-07 12:37:37,158 INFO L290 TraceCheckUtils]: 28: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-07 12:37:37,158 INFO L290 TraceCheckUtils]: 29: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-07 12:37:37,158 INFO L290 TraceCheckUtils]: 30: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,159 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {13990#true} {14055#(<= main_~v~0 main_~b~0)} #97#return; {14055#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 12:37:37,159 INFO L272 TraceCheckUtils]: 32: Hoare triple {14055#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13990#true} is VALID [2022-04-07 12:37:37,159 INFO L290 TraceCheckUtils]: 33: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-07 12:37:37,159 INFO L290 TraceCheckUtils]: 34: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-07 12:37:37,159 INFO L290 TraceCheckUtils]: 35: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,160 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13990#true} {14055#(<= main_~v~0 main_~b~0)} #99#return; {14055#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 12:37:37,160 INFO L272 TraceCheckUtils]: 37: Hoare triple {14055#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13990#true} is VALID [2022-04-07 12:37:37,160 INFO L290 TraceCheckUtils]: 38: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-07 12:37:37,160 INFO L290 TraceCheckUtils]: 39: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-07 12:37:37,160 INFO L290 TraceCheckUtils]: 40: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,160 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13990#true} {14055#(<= main_~v~0 main_~b~0)} #101#return; {14055#(<= main_~v~0 main_~b~0)} is VALID [2022-04-07 12:37:37,161 INFO L290 TraceCheckUtils]: 42: Hoare triple {14055#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {14122#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-07 12:37:37,162 INFO L290 TraceCheckUtils]: 43: Hoare triple {14122#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {14126#(< main_~c~0 main_~b~0)} is VALID [2022-04-07 12:37:37,162 INFO L290 TraceCheckUtils]: 44: Hoare triple {14126#(< main_~c~0 main_~b~0)} assume !false; {14126#(< main_~c~0 main_~b~0)} is VALID [2022-04-07 12:37:37,162 INFO L290 TraceCheckUtils]: 45: Hoare triple {14126#(< main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {14126#(< main_~c~0 main_~b~0)} is VALID [2022-04-07 12:37:37,163 INFO L290 TraceCheckUtils]: 46: Hoare triple {14126#(< main_~c~0 main_~b~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {14136#(< main_~b~0 main_~a~0)} is VALID [2022-04-07 12:37:37,163 INFO L290 TraceCheckUtils]: 47: Hoare triple {14136#(< main_~b~0 main_~a~0)} assume !false; {14136#(< main_~b~0 main_~a~0)} is VALID [2022-04-07 12:37:37,164 INFO L290 TraceCheckUtils]: 48: Hoare triple {14136#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {14143#(< main_~b~0 main_~c~0)} is VALID [2022-04-07 12:37:37,164 INFO L290 TraceCheckUtils]: 49: Hoare triple {14143#(< main_~b~0 main_~c~0)} assume !false; {14143#(< main_~b~0 main_~c~0)} is VALID [2022-04-07 12:37:37,165 INFO L290 TraceCheckUtils]: 50: Hoare triple {14143#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {13991#false} is VALID [2022-04-07 12:37:37,165 INFO L290 TraceCheckUtils]: 51: Hoare triple {13991#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13991#false} is VALID [2022-04-07 12:37:37,165 INFO L290 TraceCheckUtils]: 52: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-07 12:37:37,165 INFO L290 TraceCheckUtils]: 53: Hoare triple {13991#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13991#false} is VALID [2022-04-07 12:37:37,165 INFO L290 TraceCheckUtils]: 54: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-07 12:37:37,165 INFO L290 TraceCheckUtils]: 55: Hoare triple {13991#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13991#false} is VALID [2022-04-07 12:37:37,165 INFO L290 TraceCheckUtils]: 56: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-07 12:37:37,165 INFO L272 TraceCheckUtils]: 57: Hoare triple {13991#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13991#false} is VALID [2022-04-07 12:37:37,165 INFO L290 TraceCheckUtils]: 58: Hoare triple {13991#false} ~cond := #in~cond; {13991#false} is VALID [2022-04-07 12:37:37,165 INFO L290 TraceCheckUtils]: 59: Hoare triple {13991#false} assume 0 == ~cond; {13991#false} is VALID [2022-04-07 12:37:37,165 INFO L290 TraceCheckUtils]: 60: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-07 12:37:37,166 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-07 12:37:37,166 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:37:37,439 INFO L290 TraceCheckUtils]: 60: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-07 12:37:37,439 INFO L290 TraceCheckUtils]: 59: Hoare triple {13991#false} assume 0 == ~cond; {13991#false} is VALID [2022-04-07 12:37:37,439 INFO L290 TraceCheckUtils]: 58: Hoare triple {13991#false} ~cond := #in~cond; {13991#false} is VALID [2022-04-07 12:37:37,440 INFO L272 TraceCheckUtils]: 57: Hoare triple {13991#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13991#false} is VALID [2022-04-07 12:37:37,440 INFO L290 TraceCheckUtils]: 56: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-07 12:37:37,440 INFO L290 TraceCheckUtils]: 55: Hoare triple {13991#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13991#false} is VALID [2022-04-07 12:37:37,440 INFO L290 TraceCheckUtils]: 54: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-07 12:37:37,440 INFO L290 TraceCheckUtils]: 53: Hoare triple {13991#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13991#false} is VALID [2022-04-07 12:37:37,440 INFO L290 TraceCheckUtils]: 52: Hoare triple {13991#false} assume !false; {13991#false} is VALID [2022-04-07 12:37:37,440 INFO L290 TraceCheckUtils]: 51: Hoare triple {13991#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13991#false} is VALID [2022-04-07 12:37:37,440 INFO L290 TraceCheckUtils]: 50: Hoare triple {14210#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {13991#false} is VALID [2022-04-07 12:37:37,445 INFO L290 TraceCheckUtils]: 49: Hoare triple {14210#(<= main_~b~0 main_~c~0)} assume !false; {14210#(<= main_~b~0 main_~c~0)} is VALID [2022-04-07 12:37:37,446 INFO L290 TraceCheckUtils]: 48: Hoare triple {14217#(<= main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {14210#(<= main_~b~0 main_~c~0)} is VALID [2022-04-07 12:37:37,446 INFO L290 TraceCheckUtils]: 47: Hoare triple {14217#(<= main_~b~0 main_~a~0)} assume !false; {14217#(<= main_~b~0 main_~a~0)} is VALID [2022-04-07 12:37:37,446 INFO L290 TraceCheckUtils]: 46: Hoare triple {14224#(<= main_~c~0 main_~b~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {14217#(<= main_~b~0 main_~a~0)} is VALID [2022-04-07 12:37:37,446 INFO L290 TraceCheckUtils]: 45: Hoare triple {14224#(<= main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {14224#(<= main_~c~0 main_~b~0)} is VALID [2022-04-07 12:37:37,447 INFO L290 TraceCheckUtils]: 44: Hoare triple {14224#(<= main_~c~0 main_~b~0)} assume !false; {14224#(<= main_~c~0 main_~b~0)} is VALID [2022-04-07 12:37:37,448 INFO L290 TraceCheckUtils]: 43: Hoare triple {14234#(<= main_~c~0 (+ main_~b~0 main_~v~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {14224#(<= main_~c~0 main_~b~0)} is VALID [2022-04-07 12:37:37,448 INFO L290 TraceCheckUtils]: 42: Hoare triple {14238#(<= main_~v~0 (+ main_~b~0 1))} assume !(~c~0 >= 2 * ~v~0); {14234#(<= main_~c~0 (+ main_~b~0 main_~v~0))} is VALID [2022-04-07 12:37:37,449 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13990#true} {14238#(<= main_~v~0 (+ main_~b~0 1))} #101#return; {14238#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-07 12:37:37,449 INFO L290 TraceCheckUtils]: 40: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,449 INFO L290 TraceCheckUtils]: 39: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-07 12:37:37,449 INFO L290 TraceCheckUtils]: 38: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-07 12:37:37,449 INFO L272 TraceCheckUtils]: 37: Hoare triple {14238#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13990#true} is VALID [2022-04-07 12:37:37,449 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13990#true} {14238#(<= main_~v~0 (+ main_~b~0 1))} #99#return; {14238#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-07 12:37:37,449 INFO L290 TraceCheckUtils]: 35: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,449 INFO L290 TraceCheckUtils]: 34: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-07 12:37:37,449 INFO L290 TraceCheckUtils]: 33: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-07 12:37:37,450 INFO L272 TraceCheckUtils]: 32: Hoare triple {14238#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13990#true} is VALID [2022-04-07 12:37:37,450 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {13990#true} {14238#(<= main_~v~0 (+ main_~b~0 1))} #97#return; {14238#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-07 12:37:37,450 INFO L290 TraceCheckUtils]: 30: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,450 INFO L290 TraceCheckUtils]: 29: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-07 12:37:37,450 INFO L290 TraceCheckUtils]: 28: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-07 12:37:37,450 INFO L272 TraceCheckUtils]: 27: Hoare triple {14238#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13990#true} is VALID [2022-04-07 12:37:37,451 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13990#true} {14238#(<= main_~v~0 (+ main_~b~0 1))} #95#return; {14238#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-07 12:37:37,451 INFO L290 TraceCheckUtils]: 25: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,451 INFO L290 TraceCheckUtils]: 24: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-07 12:37:37,451 INFO L290 TraceCheckUtils]: 23: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-07 12:37:37,451 INFO L272 TraceCheckUtils]: 22: Hoare triple {14238#(<= main_~v~0 (+ main_~b~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13990#true} is VALID [2022-04-07 12:37:37,451 INFO L290 TraceCheckUtils]: 21: Hoare triple {14238#(<= main_~v~0 (+ main_~b~0 1))} assume !false; {14238#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-07 12:37:37,452 INFO L290 TraceCheckUtils]: 20: Hoare triple {13990#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {14238#(<= main_~v~0 (+ main_~b~0 1))} is VALID [2022-04-07 12:37:37,452 INFO L290 TraceCheckUtils]: 19: Hoare triple {13990#true} assume !false; {13990#true} is VALID [2022-04-07 12:37:37,452 INFO L290 TraceCheckUtils]: 18: Hoare triple {13990#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13990#true} is VALID [2022-04-07 12:37:37,452 INFO L290 TraceCheckUtils]: 17: Hoare triple {13990#true} assume !false; {13990#true} is VALID [2022-04-07 12:37:37,452 INFO L290 TraceCheckUtils]: 16: Hoare triple {13990#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13990#true} is VALID [2022-04-07 12:37:37,452 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13990#true} {13990#true} #93#return; {13990#true} is VALID [2022-04-07 12:37:37,452 INFO L290 TraceCheckUtils]: 14: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,452 INFO L290 TraceCheckUtils]: 13: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-07 12:37:37,452 INFO L290 TraceCheckUtils]: 12: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-07 12:37:37,452 INFO L272 TraceCheckUtils]: 11: Hoare triple {13990#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13990#true} is VALID [2022-04-07 12:37:37,452 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13990#true} {13990#true} #91#return; {13990#true} is VALID [2022-04-07 12:37:37,452 INFO L290 TraceCheckUtils]: 9: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,452 INFO L290 TraceCheckUtils]: 8: Hoare triple {13990#true} assume !(0 == ~cond); {13990#true} is VALID [2022-04-07 12:37:37,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {13990#true} ~cond := #in~cond; {13990#true} is VALID [2022-04-07 12:37:37,453 INFO L272 TraceCheckUtils]: 6: Hoare triple {13990#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13990#true} is VALID [2022-04-07 12:37:37,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {13990#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13990#true} is VALID [2022-04-07 12:37:37,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {13990#true} call #t~ret6 := main(); {13990#true} is VALID [2022-04-07 12:37:37,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13990#true} {13990#true} #105#return; {13990#true} is VALID [2022-04-07 12:37:37,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {13990#true} assume true; {13990#true} is VALID [2022-04-07 12:37:37,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {13990#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(11, 2);call #Ultimate.allocInit(12, 3); {13990#true} is VALID [2022-04-07 12:37:37,453 INFO L272 TraceCheckUtils]: 0: Hoare triple {13990#true} call ULTIMATE.init(); {13990#true} is VALID [2022-04-07 12:37:37,453 INFO L134 CoverageAnalysis]: Checked inductivity of 57 backedges. 27 proven. 2 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-07 12:37:37,453 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:37:37,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1244152086] [2022-04-07 12:37:37,453 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:37:37,453 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [934268808] [2022-04-07 12:37:37,454 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [934268808] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:37:37,454 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:37:37,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-07 12:37:37,454 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1493317433] [2022-04-07 12:37:37,454 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:37:37,454 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 61 [2022-04-07 12:37:37,454 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:37:37,455 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-07 12:37:37,513 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:37:37,513 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-07 12:37:37,513 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:37:37,513 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-07 12:37:37,513 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=104, Unknown=0, NotChecked=0, Total=132 [2022-04-07 12:37:37,514 INFO L87 Difference]: Start difference. First operand 477 states and 715 transitions. Second operand has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-07 12:37:40,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:37:40,159 INFO L93 Difference]: Finished difference Result 722 states and 1065 transitions. [2022-04-07 12:37:40,159 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-07 12:37:40,160 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 61 [2022-04-07 12:37:40,160 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:37:40,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-07 12:37:40,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 141 transitions. [2022-04-07 12:37:40,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-07 12:37:40,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 141 transitions. [2022-04-07 12:37:40,165 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 141 transitions. [2022-04-07 12:37:40,348 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:37:40,354 INFO L225 Difference]: With dead ends: 722 [2022-04-07 12:37:40,354 INFO L226 Difference]: Without dead ends: 337 [2022-04-07 12:37:40,355 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 115 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 80 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=137, Invalid=415, Unknown=0, NotChecked=0, Total=552 [2022-04-07 12:37:40,356 INFO L913 BasicCegarLoop]: 63 mSDtfsCounter, 38 mSDsluCounter, 187 mSDsCounter, 0 mSdLazyCounter, 308 mSolverCounterSat, 54 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 250 SdHoareTripleChecker+Invalid, 362 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 54 IncrementalHoareTripleChecker+Valid, 308 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-07 12:37:40,356 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 250 Invalid, 362 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [54 Valid, 308 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-07 12:37:40,356 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 337 states. [2022-04-07 12:37:40,851 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 337 to 317. [2022-04-07 12:37:40,851 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:37:40,851 INFO L82 GeneralOperation]: Start isEquivalent. First operand 337 states. Second operand has 317 states, 194 states have (on average 1.2010309278350515) internal successors, (233), 195 states have internal predecessors, (233), 105 states have call successors, (105), 18 states have call predecessors, (105), 17 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-07 12:37:40,852 INFO L74 IsIncluded]: Start isIncluded. First operand 337 states. Second operand has 317 states, 194 states have (on average 1.2010309278350515) internal successors, (233), 195 states have internal predecessors, (233), 105 states have call successors, (105), 18 states have call predecessors, (105), 17 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-07 12:37:40,852 INFO L87 Difference]: Start difference. First operand 337 states. Second operand has 317 states, 194 states have (on average 1.2010309278350515) internal successors, (233), 195 states have internal predecessors, (233), 105 states have call successors, (105), 18 states have call predecessors, (105), 17 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-07 12:37:40,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:37:40,860 INFO L93 Difference]: Finished difference Result 337 states and 461 transitions. [2022-04-07 12:37:40,860 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 461 transitions. [2022-04-07 12:37:40,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:37:40,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:37:40,861 INFO L74 IsIncluded]: Start isIncluded. First operand has 317 states, 194 states have (on average 1.2010309278350515) internal successors, (233), 195 states have internal predecessors, (233), 105 states have call successors, (105), 18 states have call predecessors, (105), 17 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) Second operand 337 states. [2022-04-07 12:37:40,862 INFO L87 Difference]: Start difference. First operand has 317 states, 194 states have (on average 1.2010309278350515) internal successors, (233), 195 states have internal predecessors, (233), 105 states have call successors, (105), 18 states have call predecessors, (105), 17 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) Second operand 337 states. [2022-04-07 12:37:40,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:37:40,869 INFO L93 Difference]: Finished difference Result 337 states and 461 transitions. [2022-04-07 12:37:40,869 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 461 transitions. [2022-04-07 12:37:40,870 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:37:40,870 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:37:40,870 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:37:40,870 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:37:40,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 317 states, 194 states have (on average 1.2010309278350515) internal successors, (233), 195 states have internal predecessors, (233), 105 states have call successors, (105), 18 states have call predecessors, (105), 17 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-07 12:37:40,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 317 states to 317 states and 441 transitions. [2022-04-07 12:37:40,879 INFO L78 Accepts]: Start accepts. Automaton has 317 states and 441 transitions. Word has length 61 [2022-04-07 12:37:40,879 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:37:40,879 INFO L478 AbstractCegarLoop]: Abstraction has 317 states and 441 transitions. [2022-04-07 12:37:40,879 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.6666666666666665) internal successors, (44), 12 states have internal predecessors, (44), 4 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-07 12:37:40,879 INFO L276 IsEmpty]: Start isEmpty. Operand 317 states and 441 transitions. [2022-04-07 12:37:40,887 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-07 12:37:40,887 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:37:40,888 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:37:40,909 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-07 12:37:41,103 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-07 12:37:41,103 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:37:41,104 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:37:41,104 INFO L85 PathProgramCache]: Analyzing trace with hash -1735826638, now seen corresponding path program 2 times [2022-04-07 12:37:41,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:37:41,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [370519740] [2022-04-07 12:37:41,104 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:37:41,104 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:37:41,115 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:37:41,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1629891890] [2022-04-07 12:37:41,115 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-07 12:37:41,115 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:37:41,115 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:37:41,116 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:37:41,117 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-07 12:37:41,159 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-07 12:37:41,160 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-07 12:37:41,161 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 69 conjunts are in the unsatisfiable core [2022-04-07 12:37:41,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:37:41,175 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:37:55,420 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:38:03,829 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-07 12:38:04,618 INFO L272 TraceCheckUtils]: 0: Hoare triple {16727#true} call ULTIMATE.init(); {16727#true} is VALID [2022-04-07 12:38:04,618 INFO L290 TraceCheckUtils]: 1: Hoare triple {16727#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(11, 2);call #Ultimate.allocInit(12, 3); {16727#true} is VALID [2022-04-07 12:38:04,618 INFO L290 TraceCheckUtils]: 2: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-07 12:38:04,618 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16727#true} {16727#true} #105#return; {16727#true} is VALID [2022-04-07 12:38:04,618 INFO L272 TraceCheckUtils]: 4: Hoare triple {16727#true} call #t~ret6 := main(); {16727#true} is VALID [2022-04-07 12:38:04,618 INFO L290 TraceCheckUtils]: 5: Hoare triple {16727#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16727#true} is VALID [2022-04-07 12:38:04,619 INFO L272 TraceCheckUtils]: 6: Hoare triple {16727#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:04,619 INFO L290 TraceCheckUtils]: 7: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-07 12:38:04,619 INFO L290 TraceCheckUtils]: 8: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-07 12:38:04,619 INFO L290 TraceCheckUtils]: 9: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-07 12:38:04,619 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16727#true} {16727#true} #91#return; {16727#true} is VALID [2022-04-07 12:38:04,619 INFO L272 TraceCheckUtils]: 11: Hoare triple {16727#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:04,619 INFO L290 TraceCheckUtils]: 12: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-07 12:38:04,619 INFO L290 TraceCheckUtils]: 13: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-07 12:38:04,619 INFO L290 TraceCheckUtils]: 14: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-07 12:38:04,619 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16727#true} {16727#true} #93#return; {16727#true} is VALID [2022-04-07 12:38:04,620 INFO L290 TraceCheckUtils]: 16: Hoare triple {16727#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16780#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 12:38:04,620 INFO L290 TraceCheckUtils]: 17: Hoare triple {16780#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {16780#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-07 12:38:04,621 INFO L290 TraceCheckUtils]: 18: Hoare triple {16780#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16787#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 12:38:04,621 INFO L290 TraceCheckUtils]: 19: Hoare triple {16787#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {16787#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 12:38:04,621 INFO L290 TraceCheckUtils]: 20: Hoare triple {16787#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {16787#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-07 12:38:04,622 INFO L290 TraceCheckUtils]: 21: Hoare triple {16787#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16797#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-07 12:38:04,622 INFO L290 TraceCheckUtils]: 22: Hoare triple {16797#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {16797#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-07 12:38:04,623 INFO L290 TraceCheckUtils]: 23: Hoare triple {16797#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16804#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-07 12:38:04,623 INFO L290 TraceCheckUtils]: 24: Hoare triple {16804#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {16804#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-07 12:38:04,624 INFO L290 TraceCheckUtils]: 25: Hoare triple {16804#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {16811#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-07 12:38:04,624 INFO L290 TraceCheckUtils]: 26: Hoare triple {16811#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {16811#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-07 12:38:04,624 INFO L272 TraceCheckUtils]: 27: Hoare triple {16811#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:04,625 INFO L290 TraceCheckUtils]: 28: Hoare triple {16727#true} ~cond := #in~cond; {16821#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:38:04,625 INFO L290 TraceCheckUtils]: 29: Hoare triple {16821#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:38:04,625 INFO L290 TraceCheckUtils]: 30: Hoare triple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:38:04,626 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} {16811#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #95#return; {16832#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:38:04,626 INFO L272 TraceCheckUtils]: 32: Hoare triple {16832#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:04,627 INFO L290 TraceCheckUtils]: 33: Hoare triple {16727#true} ~cond := #in~cond; {16821#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:38:04,627 INFO L290 TraceCheckUtils]: 34: Hoare triple {16821#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:38:04,627 INFO L290 TraceCheckUtils]: 35: Hoare triple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:38:04,628 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} {16832#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #97#return; {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:38:04,629 INFO L272 TraceCheckUtils]: 37: Hoare triple {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:04,629 INFO L290 TraceCheckUtils]: 38: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-07 12:38:04,629 INFO L290 TraceCheckUtils]: 39: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-07 12:38:04,629 INFO L290 TraceCheckUtils]: 40: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-07 12:38:04,630 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16727#true} {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #99#return; {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:38:04,630 INFO L272 TraceCheckUtils]: 42: Hoare triple {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:04,630 INFO L290 TraceCheckUtils]: 43: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-07 12:38:04,630 INFO L290 TraceCheckUtils]: 44: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-07 12:38:04,630 INFO L290 TraceCheckUtils]: 45: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-07 12:38:04,631 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16727#true} {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #101#return; {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:38:04,631 INFO L290 TraceCheckUtils]: 47: Hoare triple {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:38:04,633 INFO L290 TraceCheckUtils]: 48: Hoare triple {16848#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {16885#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:38:04,633 INFO L290 TraceCheckUtils]: 49: Hoare triple {16885#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !false; {16885#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:38:04,634 INFO L290 TraceCheckUtils]: 50: Hoare triple {16885#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {16885#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:38:04,641 INFO L290 TraceCheckUtils]: 51: Hoare triple {16885#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16895#(and (= main_~s~0 1) (or (and (= (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~a~0) (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0))) (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0) (= main_~a~0 (* (div main_~x~0 main_~x~0) main_~x~0)))))} is VALID [2022-04-07 12:38:04,642 INFO L290 TraceCheckUtils]: 52: Hoare triple {16895#(and (= main_~s~0 1) (or (and (= (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~a~0) (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0))) (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0) (= main_~a~0 (* (div main_~x~0 main_~x~0) main_~x~0)))))} assume !false; {16895#(and (= main_~s~0 1) (or (and (= (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~a~0) (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0))) (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0) (= main_~a~0 (* (div main_~x~0 main_~x~0) main_~x~0)))))} is VALID [2022-04-07 12:38:04,644 INFO L290 TraceCheckUtils]: 53: Hoare triple {16895#(and (= main_~s~0 1) (or (and (= (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~a~0) (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0))) (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0) (= main_~a~0 (* (div main_~x~0 main_~x~0) main_~x~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} is VALID [2022-04-07 12:38:04,645 INFO L290 TraceCheckUtils]: 54: Hoare triple {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} assume !false; {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} is VALID [2022-04-07 12:38:04,646 INFO L290 TraceCheckUtils]: 55: Hoare triple {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} is VALID [2022-04-07 12:38:04,646 INFO L290 TraceCheckUtils]: 56: Hoare triple {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} assume !false; {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} is VALID [2022-04-07 12:38:04,646 INFO L272 TraceCheckUtils]: 57: Hoare triple {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:04,646 INFO L290 TraceCheckUtils]: 58: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-07 12:38:04,646 INFO L290 TraceCheckUtils]: 59: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-07 12:38:04,647 INFO L290 TraceCheckUtils]: 60: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-07 12:38:04,647 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16727#true} {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} #95#return; {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} is VALID [2022-04-07 12:38:04,649 INFO L272 TraceCheckUtils]: 62: Hoare triple {16902#(and (= main_~s~0 1) (or (and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ (div main_~x~0 main_~x~0) main_~q~0) 0)) (and (= main_~x~0 0) (= (+ (* main_~x~0 (div (* (- 1) main_~q~0) 1)) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~x~0 (div (* (- 1) main_~q~0) 1) 1) main_~y~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16930#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:38:04,649 INFO L290 TraceCheckUtils]: 63: Hoare triple {16930#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16934#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:38:04,649 INFO L290 TraceCheckUtils]: 64: Hoare triple {16934#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16728#false} is VALID [2022-04-07 12:38:04,649 INFO L290 TraceCheckUtils]: 65: Hoare triple {16728#false} assume !false; {16728#false} is VALID [2022-04-07 12:38:04,650 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 8 proven. 42 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-07 12:38:04,650 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:38:30,726 INFO L290 TraceCheckUtils]: 65: Hoare triple {16728#false} assume !false; {16728#false} is VALID [2022-04-07 12:38:30,727 INFO L290 TraceCheckUtils]: 64: Hoare triple {16934#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16728#false} is VALID [2022-04-07 12:38:30,727 INFO L290 TraceCheckUtils]: 63: Hoare triple {16930#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16934#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:38:30,728 INFO L272 TraceCheckUtils]: 62: Hoare triple {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16930#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:38:30,729 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16727#true} {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #95#return; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:38:30,729 INFO L290 TraceCheckUtils]: 60: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-07 12:38:30,729 INFO L290 TraceCheckUtils]: 59: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-07 12:38:30,729 INFO L290 TraceCheckUtils]: 58: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-07 12:38:30,729 INFO L272 TraceCheckUtils]: 57: Hoare triple {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:30,730 INFO L290 TraceCheckUtils]: 56: Hoare triple {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:38:30,730 INFO L290 TraceCheckUtils]: 55: Hoare triple {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:38:30,730 INFO L290 TraceCheckUtils]: 54: Hoare triple {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:38:30,731 INFO L290 TraceCheckUtils]: 53: Hoare triple {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:38:30,731 INFO L290 TraceCheckUtils]: 52: Hoare triple {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:38:32,728 INFO L290 TraceCheckUtils]: 51: Hoare triple {16984#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16950#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-07 12:38:32,729 INFO L290 TraceCheckUtils]: 50: Hoare triple {16984#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {16984#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-07 12:38:32,729 INFO L290 TraceCheckUtils]: 49: Hoare triple {16984#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !false; {16984#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-07 12:38:33,316 INFO L290 TraceCheckUtils]: 48: Hoare triple {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {16984#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-07 12:38:33,317 INFO L290 TraceCheckUtils]: 47: Hoare triple {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~c~0 >= 2 * ~v~0); {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:38:33,317 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {16727#true} {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #101#return; {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:38:33,317 INFO L290 TraceCheckUtils]: 45: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-07 12:38:33,317 INFO L290 TraceCheckUtils]: 44: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-07 12:38:33,318 INFO L290 TraceCheckUtils]: 43: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-07 12:38:33,318 INFO L272 TraceCheckUtils]: 42: Hoare triple {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:33,318 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {16727#true} {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:38:33,318 INFO L290 TraceCheckUtils]: 40: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-07 12:38:33,318 INFO L290 TraceCheckUtils]: 39: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-07 12:38:33,318 INFO L290 TraceCheckUtils]: 38: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-07 12:38:33,319 INFO L272 TraceCheckUtils]: 37: Hoare triple {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:33,319 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} {17031#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #97#return; {16994#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:38:33,320 INFO L290 TraceCheckUtils]: 35: Hoare triple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:38:33,320 INFO L290 TraceCheckUtils]: 34: Hoare triple {17041#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:38:33,320 INFO L290 TraceCheckUtils]: 33: Hoare triple {16727#true} ~cond := #in~cond; {17041#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:38:33,320 INFO L272 TraceCheckUtils]: 32: Hoare triple {17031#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:33,321 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} {17048#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #95#return; {17031#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 12:38:33,322 INFO L290 TraceCheckUtils]: 30: Hoare triple {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:38:33,322 INFO L290 TraceCheckUtils]: 29: Hoare triple {17041#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16825#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:38:33,322 INFO L290 TraceCheckUtils]: 28: Hoare triple {16727#true} ~cond := #in~cond; {17041#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:38:33,322 INFO L272 TraceCheckUtils]: 27: Hoare triple {17048#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:33,323 INFO L290 TraceCheckUtils]: 26: Hoare triple {17048#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {17048#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 12:38:33,323 INFO L290 TraceCheckUtils]: 25: Hoare triple {17067#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {17048#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-07 12:38:33,324 INFO L290 TraceCheckUtils]: 24: Hoare triple {17067#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {17067#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:38:33,325 INFO L290 TraceCheckUtils]: 23: Hoare triple {16727#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17067#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:38:33,325 INFO L290 TraceCheckUtils]: 22: Hoare triple {16727#true} assume !false; {16727#true} is VALID [2022-04-07 12:38:33,325 INFO L290 TraceCheckUtils]: 21: Hoare triple {16727#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {16727#true} is VALID [2022-04-07 12:38:33,325 INFO L290 TraceCheckUtils]: 20: Hoare triple {16727#true} assume !(~c~0 >= ~b~0); {16727#true} is VALID [2022-04-07 12:38:33,325 INFO L290 TraceCheckUtils]: 19: Hoare triple {16727#true} assume !false; {16727#true} is VALID [2022-04-07 12:38:33,325 INFO L290 TraceCheckUtils]: 18: Hoare triple {16727#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16727#true} is VALID [2022-04-07 12:38:33,325 INFO L290 TraceCheckUtils]: 17: Hoare triple {16727#true} assume !false; {16727#true} is VALID [2022-04-07 12:38:33,325 INFO L290 TraceCheckUtils]: 16: Hoare triple {16727#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16727#true} is VALID [2022-04-07 12:38:33,325 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16727#true} {16727#true} #93#return; {16727#true} is VALID [2022-04-07 12:38:33,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L290 TraceCheckUtils]: 13: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L290 TraceCheckUtils]: 12: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L272 TraceCheckUtils]: 11: Hoare triple {16727#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16727#true} {16727#true} #91#return; {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L290 TraceCheckUtils]: 9: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L290 TraceCheckUtils]: 8: Hoare triple {16727#true} assume !(0 == ~cond); {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L290 TraceCheckUtils]: 7: Hoare triple {16727#true} ~cond := #in~cond; {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L272 TraceCheckUtils]: 6: Hoare triple {16727#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L290 TraceCheckUtils]: 5: Hoare triple {16727#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L272 TraceCheckUtils]: 4: Hoare triple {16727#true} call #t~ret6 := main(); {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16727#true} {16727#true} #105#return; {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L290 TraceCheckUtils]: 2: Hoare triple {16727#true} assume true; {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L290 TraceCheckUtils]: 1: Hoare triple {16727#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(11, 2);call #Ultimate.allocInit(12, 3); {16727#true} is VALID [2022-04-07 12:38:33,326 INFO L272 TraceCheckUtils]: 0: Hoare triple {16727#true} call ULTIMATE.init(); {16727#true} is VALID [2022-04-07 12:38:33,327 INFO L134 CoverageAnalysis]: Checked inductivity of 76 backedges. 21 proven. 27 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-07 12:38:33,327 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:38:33,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [370519740] [2022-04-07 12:38:33,327 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:38:33,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1629891890] [2022-04-07 12:38:33,327 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1629891890] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:38:33,327 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:38:33,327 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 12] total 23 [2022-04-07 12:38:33,327 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1743780908] [2022-04-07 12:38:33,327 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:38:33,328 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) Word has length 66 [2022-04-07 12:38:33,328 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:38:33,328 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) [2022-04-07 12:38:33,656 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:38:33,656 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-07 12:38:33,656 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:38:33,657 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-07 12:38:33,657 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=80, Invalid=426, Unknown=0, NotChecked=0, Total=506 [2022-04-07 12:38:33,657 INFO L87 Difference]: Start difference. First operand 317 states and 441 transitions. Second operand has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) [2022-04-07 12:38:46,765 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:38:48,767 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:38:52,406 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:38:57,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:38:57,178 INFO L93 Difference]: Finished difference Result 369 states and 510 transitions. [2022-04-07 12:38:57,178 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2022-04-07 12:38:57,178 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) Word has length 66 [2022-04-07 12:38:57,179 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:38:57,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) [2022-04-07 12:38:57,181 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 156 transitions. [2022-04-07 12:38:57,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) [2022-04-07 12:38:57,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 156 transitions. [2022-04-07 12:38:57,183 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 156 transitions. [2022-04-07 12:39:00,817 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 155 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-07 12:39:00,824 INFO L225 Difference]: With dead ends: 369 [2022-04-07 12:39:00,824 INFO L226 Difference]: Without dead ends: 367 [2022-04-07 12:39:00,825 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 156 GetRequests, 114 SyntacticMatches, 4 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 334 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=268, Invalid=1292, Unknown=0, NotChecked=0, Total=1560 [2022-04-07 12:39:00,825 INFO L913 BasicCegarLoop]: 50 mSDtfsCounter, 91 mSDsluCounter, 361 mSDsCounter, 0 mSdLazyCounter, 975 mSolverCounterSat, 185 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 12.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 93 SdHoareTripleChecker+Valid, 411 SdHoareTripleChecker+Invalid, 1163 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 185 IncrementalHoareTripleChecker+Valid, 975 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 12.9s IncrementalHoareTripleChecker+Time [2022-04-07 12:39:00,825 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [93 Valid, 411 Invalid, 1163 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [185 Valid, 975 Invalid, 3 Unknown, 0 Unchecked, 12.9s Time] [2022-04-07 12:39:00,826 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 367 states. [2022-04-07 12:39:01,407 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 367 to 333. [2022-04-07 12:39:01,407 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:39:01,408 INFO L82 GeneralOperation]: Start isEquivalent. First operand 367 states. Second operand has 333 states, 206 states have (on average 1.1844660194174756) internal successors, (244), 207 states have internal predecessors, (244), 105 states have call successors, (105), 22 states have call predecessors, (105), 21 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-07 12:39:01,409 INFO L74 IsIncluded]: Start isIncluded. First operand 367 states. Second operand has 333 states, 206 states have (on average 1.1844660194174756) internal successors, (244), 207 states have internal predecessors, (244), 105 states have call successors, (105), 22 states have call predecessors, (105), 21 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-07 12:39:01,409 INFO L87 Difference]: Start difference. First operand 367 states. Second operand has 333 states, 206 states have (on average 1.1844660194174756) internal successors, (244), 207 states have internal predecessors, (244), 105 states have call successors, (105), 22 states have call predecessors, (105), 21 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-07 12:39:01,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:39:01,417 INFO L93 Difference]: Finished difference Result 367 states and 507 transitions. [2022-04-07 12:39:01,417 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 507 transitions. [2022-04-07 12:39:01,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:39:01,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:39:01,419 INFO L74 IsIncluded]: Start isIncluded. First operand has 333 states, 206 states have (on average 1.1844660194174756) internal successors, (244), 207 states have internal predecessors, (244), 105 states have call successors, (105), 22 states have call predecessors, (105), 21 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) Second operand 367 states. [2022-04-07 12:39:01,419 INFO L87 Difference]: Start difference. First operand has 333 states, 206 states have (on average 1.1844660194174756) internal successors, (244), 207 states have internal predecessors, (244), 105 states have call successors, (105), 22 states have call predecessors, (105), 21 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) Second operand 367 states. [2022-04-07 12:39:01,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:39:01,427 INFO L93 Difference]: Finished difference Result 367 states and 507 transitions. [2022-04-07 12:39:01,427 INFO L276 IsEmpty]: Start isEmpty. Operand 367 states and 507 transitions. [2022-04-07 12:39:01,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:39:01,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:39:01,428 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:39:01,428 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:39:01,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 333 states, 206 states have (on average 1.1844660194174756) internal successors, (244), 207 states have internal predecessors, (244), 105 states have call successors, (105), 22 states have call predecessors, (105), 21 states have return successors, (103), 103 states have call predecessors, (103), 103 states have call successors, (103) [2022-04-07 12:39:01,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 333 states to 333 states and 452 transitions. [2022-04-07 12:39:01,436 INFO L78 Accepts]: Start accepts. Automaton has 333 states and 452 transitions. Word has length 66 [2022-04-07 12:39:01,436 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:39:01,436 INFO L478 AbstractCegarLoop]: Abstraction has 333 states and 452 transitions. [2022-04-07 12:39:01,436 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 21 states have (on average 2.761904761904762) internal successors, (58), 20 states have internal predecessors, (58), 9 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 7 states have call predecessors, (13), 9 states have call successors, (13) [2022-04-07 12:39:01,436 INFO L276 IsEmpty]: Start isEmpty. Operand 333 states and 452 transitions. [2022-04-07 12:39:01,437 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-07 12:39:01,437 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:39:01,437 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:39:01,455 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-07 12:39:01,651 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-07 12:39:01,651 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:39:01,652 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:39:01,652 INFO L85 PathProgramCache]: Analyzing trace with hash 2103910188, now seen corresponding path program 1 times [2022-04-07 12:39:01,652 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:39:01,652 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1485466068] [2022-04-07 12:39:01,652 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:39:01,652 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:39:01,663 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:39:01,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [814775840] [2022-04-07 12:39:01,663 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:39:01,663 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:39:01,663 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:39:01,671 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:39:01,672 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-07 12:39:01,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:39:01,725 INFO L263 TraceCheckSpWp]: Trace formula consists of 223 conjuncts, 84 conjunts are in the unsatisfiable core [2022-04-07 12:39:01,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:39:01,742 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:39:03,099 INFO L272 TraceCheckUtils]: 0: Hoare triple {19016#true} call ULTIMATE.init(); {19016#true} is VALID [2022-04-07 12:39:03,099 INFO L290 TraceCheckUtils]: 1: Hoare triple {19016#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(11, 2);call #Ultimate.allocInit(12, 3); {19016#true} is VALID [2022-04-07 12:39:03,099 INFO L290 TraceCheckUtils]: 2: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:03,099 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19016#true} {19016#true} #105#return; {19016#true} is VALID [2022-04-07 12:39:03,099 INFO L272 TraceCheckUtils]: 4: Hoare triple {19016#true} call #t~ret6 := main(); {19016#true} is VALID [2022-04-07 12:39:03,099 INFO L290 TraceCheckUtils]: 5: Hoare triple {19016#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {19016#true} is VALID [2022-04-07 12:39:03,099 INFO L272 TraceCheckUtils]: 6: Hoare triple {19016#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:03,099 INFO L290 TraceCheckUtils]: 7: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:03,099 INFO L290 TraceCheckUtils]: 8: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:03,099 INFO L290 TraceCheckUtils]: 9: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:03,099 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19016#true} {19016#true} #91#return; {19016#true} is VALID [2022-04-07 12:39:03,099 INFO L272 TraceCheckUtils]: 11: Hoare triple {19016#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:03,100 INFO L290 TraceCheckUtils]: 12: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:03,100 INFO L290 TraceCheckUtils]: 13: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:03,100 INFO L290 TraceCheckUtils]: 14: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:03,100 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19016#true} {19016#true} #93#return; {19016#true} is VALID [2022-04-07 12:39:03,106 INFO L290 TraceCheckUtils]: 16: Hoare triple {19016#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19069#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:39:03,107 INFO L290 TraceCheckUtils]: 17: Hoare triple {19069#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {19069#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:39:03,107 INFO L290 TraceCheckUtils]: 18: Hoare triple {19069#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {19076#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:39:03,108 INFO L290 TraceCheckUtils]: 19: Hoare triple {19076#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {19076#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:39:03,108 INFO L290 TraceCheckUtils]: 20: Hoare triple {19076#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {19076#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-07 12:39:03,108 INFO L290 TraceCheckUtils]: 21: Hoare triple {19076#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {19086#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,109 INFO L290 TraceCheckUtils]: 22: Hoare triple {19086#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {19086#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,109 INFO L290 TraceCheckUtils]: 23: Hoare triple {19086#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {19093#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,110 INFO L290 TraceCheckUtils]: 24: Hoare triple {19093#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {19093#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,110 INFO L290 TraceCheckUtils]: 25: Hoare triple {19093#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,110 INFO L290 TraceCheckUtils]: 26: Hoare triple {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !false; {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,110 INFO L272 TraceCheckUtils]: 27: Hoare triple {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:03,111 INFO L290 TraceCheckUtils]: 28: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:03,111 INFO L290 TraceCheckUtils]: 29: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:03,111 INFO L290 TraceCheckUtils]: 30: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:03,111 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {19016#true} {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #95#return; {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,111 INFO L272 TraceCheckUtils]: 32: Hoare triple {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:03,112 INFO L290 TraceCheckUtils]: 33: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:03,112 INFO L290 TraceCheckUtils]: 34: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:03,112 INFO L290 TraceCheckUtils]: 35: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:03,112 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {19016#true} {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #97#return; {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,112 INFO L272 TraceCheckUtils]: 37: Hoare triple {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:03,112 INFO L290 TraceCheckUtils]: 38: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:03,113 INFO L290 TraceCheckUtils]: 39: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:03,113 INFO L290 TraceCheckUtils]: 40: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:03,113 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19016#true} {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #99#return; {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,113 INFO L272 TraceCheckUtils]: 42: Hoare triple {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:03,113 INFO L290 TraceCheckUtils]: 43: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:03,113 INFO L290 TraceCheckUtils]: 44: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:03,114 INFO L290 TraceCheckUtils]: 45: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:03,114 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {19016#true} {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #101#return; {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,115 INFO L290 TraceCheckUtils]: 47: Hoare triple {19100#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {19167#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,115 INFO L290 TraceCheckUtils]: 48: Hoare triple {19167#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} assume !false; {19167#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,115 INFO L272 TraceCheckUtils]: 49: Hoare triple {19167#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:03,115 INFO L290 TraceCheckUtils]: 50: Hoare triple {19016#true} ~cond := #in~cond; {19177#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:39:03,116 INFO L290 TraceCheckUtils]: 51: Hoare triple {19177#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:39:03,116 INFO L290 TraceCheckUtils]: 52: Hoare triple {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:39:03,117 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} {19167#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} #95#return; {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:39:03,117 INFO L272 TraceCheckUtils]: 54: Hoare triple {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:03,117 INFO L290 TraceCheckUtils]: 55: Hoare triple {19016#true} ~cond := #in~cond; {19177#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:39:03,118 INFO L290 TraceCheckUtils]: 56: Hoare triple {19177#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:39:03,118 INFO L290 TraceCheckUtils]: 57: Hoare triple {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:39:03,119 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #97#return; {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:39:03,119 INFO L272 TraceCheckUtils]: 59: Hoare triple {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:03,119 INFO L290 TraceCheckUtils]: 60: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:03,119 INFO L290 TraceCheckUtils]: 61: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:03,119 INFO L290 TraceCheckUtils]: 62: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:03,120 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {19016#true} {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #99#return; {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:39:03,120 INFO L272 TraceCheckUtils]: 64: Hoare triple {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:03,120 INFO L290 TraceCheckUtils]: 65: Hoare triple {19016#true} ~cond := #in~cond; {19177#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:39:03,120 INFO L290 TraceCheckUtils]: 66: Hoare triple {19177#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:39:03,120 INFO L290 TraceCheckUtils]: 67: Hoare triple {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:39:03,121 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #101#return; {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:39:03,122 INFO L290 TraceCheckUtils]: 69: Hoare triple {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-07 12:39:03,123 INFO L290 TraceCheckUtils]: 70: Hoare triple {19188#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {19240#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,124 INFO L290 TraceCheckUtils]: 71: Hoare triple {19240#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} assume !false; {19240#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,124 INFO L290 TraceCheckUtils]: 72: Hoare triple {19240#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} assume !(~c~0 >= ~b~0); {19240#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-07 12:39:03,125 INFO L290 TraceCheckUtils]: 73: Hoare triple {19240#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {19250#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} is VALID [2022-04-07 12:39:03,125 INFO L290 TraceCheckUtils]: 74: Hoare triple {19250#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} assume !false; {19250#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} is VALID [2022-04-07 12:39:03,126 INFO L290 TraceCheckUtils]: 75: Hoare triple {19250#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~s~0 1) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} assume !(0 != ~b~0); {19257#(and (= main_~r~0 0) (= (+ main_~y~0 (* (- 2) main_~a~0)) 0) (= main_~s~0 1) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} is VALID [2022-04-07 12:39:03,126 INFO L272 TraceCheckUtils]: 76: Hoare triple {19257#(and (= main_~r~0 0) (= (+ main_~y~0 (* (- 2) main_~a~0)) 0) (= main_~s~0 1) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {19261#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:39:03,127 INFO L290 TraceCheckUtils]: 77: Hoare triple {19261#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19265#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:39:03,127 INFO L290 TraceCheckUtils]: 78: Hoare triple {19265#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19017#false} is VALID [2022-04-07 12:39:03,127 INFO L290 TraceCheckUtils]: 79: Hoare triple {19017#false} assume !false; {19017#false} is VALID [2022-04-07 12:39:03,127 INFO L134 CoverageAnalysis]: Checked inductivity of 151 backedges. 52 proven. 28 refuted. 0 times theorem prover too weak. 71 trivial. 0 not checked. [2022-04-07 12:39:03,127 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-07 12:39:48,132 INFO L290 TraceCheckUtils]: 79: Hoare triple {19017#false} assume !false; {19017#false} is VALID [2022-04-07 12:39:48,133 INFO L290 TraceCheckUtils]: 78: Hoare triple {19265#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {19017#false} is VALID [2022-04-07 12:39:48,133 INFO L290 TraceCheckUtils]: 77: Hoare triple {19261#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19265#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:39:48,134 INFO L272 TraceCheckUtils]: 76: Hoare triple {19281#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {19261#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:39:48,134 INFO L290 TraceCheckUtils]: 75: Hoare triple {19285#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {19281#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-07 12:39:48,135 INFO L290 TraceCheckUtils]: 74: Hoare triple {19285#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {19285#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 12:39:48,482 INFO L290 TraceCheckUtils]: 73: Hoare triple {19292#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {19285#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-07 12:39:48,483 INFO L290 TraceCheckUtils]: 72: Hoare triple {19292#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {19292#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:39:48,483 INFO L290 TraceCheckUtils]: 71: Hoare triple {19292#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {19292#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:39:48,605 INFO L290 TraceCheckUtils]: 70: Hoare triple {19302#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {19292#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:39:48,606 INFO L290 TraceCheckUtils]: 69: Hoare triple {19302#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {19302#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:39:48,607 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} {19309#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #101#return; {19302#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:39:48,607 INFO L290 TraceCheckUtils]: 67: Hoare triple {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:39:48,607 INFO L290 TraceCheckUtils]: 66: Hoare triple {19319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:39:48,608 INFO L290 TraceCheckUtils]: 65: Hoare triple {19016#true} ~cond := #in~cond; {19319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:39:48,608 INFO L272 TraceCheckUtils]: 64: Hoare triple {19309#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:48,609 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {19016#true} {19309#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #99#return; {19309#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:39:48,609 INFO L290 TraceCheckUtils]: 62: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:48,609 INFO L290 TraceCheckUtils]: 61: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:48,609 INFO L290 TraceCheckUtils]: 60: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:48,609 INFO L272 TraceCheckUtils]: 59: Hoare triple {19309#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:48,610 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} {19341#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #97#return; {19309#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:39:48,610 INFO L290 TraceCheckUtils]: 57: Hoare triple {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:39:48,610 INFO L290 TraceCheckUtils]: 56: Hoare triple {19319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:39:48,611 INFO L290 TraceCheckUtils]: 55: Hoare triple {19016#true} ~cond := #in~cond; {19319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:39:48,611 INFO L272 TraceCheckUtils]: 54: Hoare triple {19341#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:48,612 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} {19357#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #95#return; {19341#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:39:48,612 INFO L290 TraceCheckUtils]: 52: Hoare triple {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:39:48,612 INFO L290 TraceCheckUtils]: 51: Hoare triple {19319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {19181#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:39:48,612 INFO L290 TraceCheckUtils]: 50: Hoare triple {19016#true} ~cond := #in~cond; {19319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-07 12:39:48,613 INFO L272 TraceCheckUtils]: 49: Hoare triple {19357#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:48,613 INFO L290 TraceCheckUtils]: 48: Hoare triple {19357#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {19357#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:39:48,717 INFO L290 TraceCheckUtils]: 47: Hoare triple {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {19357#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-07 12:39:48,718 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {19016#true} {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #101#return; {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-07 12:39:48,718 INFO L290 TraceCheckUtils]: 45: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:48,718 INFO L290 TraceCheckUtils]: 44: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:48,718 INFO L290 TraceCheckUtils]: 43: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:48,718 INFO L272 TraceCheckUtils]: 42: Hoare triple {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:48,719 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {19016#true} {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #99#return; {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-07 12:39:48,719 INFO L290 TraceCheckUtils]: 40: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:48,719 INFO L290 TraceCheckUtils]: 39: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:48,719 INFO L290 TraceCheckUtils]: 38: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:48,719 INFO L272 TraceCheckUtils]: 37: Hoare triple {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:48,720 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {19016#true} {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #97#return; {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-07 12:39:48,720 INFO L290 TraceCheckUtils]: 35: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:48,720 INFO L290 TraceCheckUtils]: 34: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:48,720 INFO L290 TraceCheckUtils]: 33: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:48,720 INFO L272 TraceCheckUtils]: 32: Hoare triple {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:48,721 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {19016#true} {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #95#return; {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-07 12:39:48,721 INFO L290 TraceCheckUtils]: 30: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:48,721 INFO L290 TraceCheckUtils]: 29: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:48,721 INFO L290 TraceCheckUtils]: 28: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:48,721 INFO L272 TraceCheckUtils]: 27: Hoare triple {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:48,722 INFO L290 TraceCheckUtils]: 26: Hoare triple {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !false; {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-07 12:39:48,723 INFO L290 TraceCheckUtils]: 25: Hoare triple {19443#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {19376#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-07 12:39:48,723 INFO L290 TraceCheckUtils]: 24: Hoare triple {19443#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !false; {19443#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-07 12:39:48,725 INFO L290 TraceCheckUtils]: 23: Hoare triple {19016#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {19443#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-07 12:39:48,725 INFO L290 TraceCheckUtils]: 22: Hoare triple {19016#true} assume !false; {19016#true} is VALID [2022-04-07 12:39:48,725 INFO L290 TraceCheckUtils]: 21: Hoare triple {19016#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {19016#true} is VALID [2022-04-07 12:39:48,725 INFO L290 TraceCheckUtils]: 20: Hoare triple {19016#true} assume !(~c~0 >= ~b~0); {19016#true} is VALID [2022-04-07 12:39:48,725 INFO L290 TraceCheckUtils]: 19: Hoare triple {19016#true} assume !false; {19016#true} is VALID [2022-04-07 12:39:48,725 INFO L290 TraceCheckUtils]: 18: Hoare triple {19016#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {19016#true} is VALID [2022-04-07 12:39:48,725 INFO L290 TraceCheckUtils]: 17: Hoare triple {19016#true} assume !false; {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L290 TraceCheckUtils]: 16: Hoare triple {19016#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {19016#true} {19016#true} #93#return; {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L290 TraceCheckUtils]: 14: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L290 TraceCheckUtils]: 13: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L290 TraceCheckUtils]: 12: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L272 TraceCheckUtils]: 11: Hoare triple {19016#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {19016#true} {19016#true} #91#return; {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L290 TraceCheckUtils]: 9: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L290 TraceCheckUtils]: 8: Hoare triple {19016#true} assume !(0 == ~cond); {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L290 TraceCheckUtils]: 7: Hoare triple {19016#true} ~cond := #in~cond; {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L272 TraceCheckUtils]: 6: Hoare triple {19016#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L290 TraceCheckUtils]: 5: Hoare triple {19016#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L272 TraceCheckUtils]: 4: Hoare triple {19016#true} call #t~ret6 := main(); {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {19016#true} {19016#true} #105#return; {19016#true} is VALID [2022-04-07 12:39:48,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {19016#true} assume true; {19016#true} is VALID [2022-04-07 12:39:48,727 INFO L290 TraceCheckUtils]: 1: Hoare triple {19016#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(11, 2);call #Ultimate.allocInit(12, 3); {19016#true} is VALID [2022-04-07 12:39:48,727 INFO L272 TraceCheckUtils]: 0: Hoare triple {19016#true} call ULTIMATE.init(); {19016#true} is VALID [2022-04-07 12:39:48,727 INFO L134 CoverageAnalysis]: Checked inductivity of 151 backedges. 61 proven. 17 refuted. 0 times theorem prover too weak. 73 trivial. 0 not checked. [2022-04-07 12:39:48,727 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-07 12:39:48,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1485466068] [2022-04-07 12:39:48,727 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-07 12:39:48,727 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [814775840] [2022-04-07 12:39:48,727 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [814775840] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-07 12:39:48,728 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-07 12:39:48,728 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 15] total 26 [2022-04-07 12:39:48,728 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [327291912] [2022-04-07 12:39:48,728 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-07 12:39:48,728 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) Word has length 80 [2022-04-07 12:39:48,729 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-07 12:39:48,729 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-07 12:39:49,150 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-07 12:39:49,150 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-07 12:39:49,150 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-07 12:39:49,150 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-07 12:39:49,151 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=113, Invalid=537, Unknown=0, NotChecked=0, Total=650 [2022-04-07 12:39:49,151 INFO L87 Difference]: Start difference. First operand 333 states and 452 transitions. Second operand has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-07 12:40:01,015 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.64s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:40:05,946 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:40:24,659 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:40:33,506 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:40:35,515 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:40:38,936 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.49s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:40:53,811 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.07s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:41:00,022 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:41:02,068 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:41:04,182 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:41:13,617 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.82s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:41:22,528 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:41:26,056 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.50s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:41:29,182 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:41:35,515 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:41:37,582 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-07 12:41:37,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:41:37,977 INFO L93 Difference]: Finished difference Result 593 states and 859 transitions. [2022-04-07 12:41:37,977 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 56 states. [2022-04-07 12:41:37,977 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) Word has length 80 [2022-04-07 12:41:37,979 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-07 12:41:37,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-07 12:41:37,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 325 transitions. [2022-04-07 12:41:37,993 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-07 12:41:37,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 325 transitions. [2022-04-07 12:41:37,999 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 325 transitions. [2022-04-07 12:42:02,001 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 325 edges. 321 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-07 12:42:02,017 INFO L225 Difference]: With dead ends: 593 [2022-04-07 12:42:02,017 INFO L226 Difference]: Without dead ends: 585 [2022-04-07 12:42:02,018 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 217 GetRequests, 148 SyntacticMatches, 1 SemanticMatches, 68 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1272 ImplicationChecksByTransitivity, 15.1s TimeCoverageRelationStatistics Valid=920, Invalid=3910, Unknown=0, NotChecked=0, Total=4830 [2022-04-07 12:42:02,020 INFO L913 BasicCegarLoop]: 54 mSDtfsCounter, 220 mSDsluCounter, 321 mSDsCounter, 0 mSdLazyCounter, 1712 mSolverCounterSat, 547 mSolverCounterUnsat, 12 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 54.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 231 SdHoareTripleChecker+Valid, 375 SdHoareTripleChecker+Invalid, 2271 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 547 IncrementalHoareTripleChecker+Valid, 1712 IncrementalHoareTripleChecker+Invalid, 12 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 54.4s IncrementalHoareTripleChecker+Time [2022-04-07 12:42:02,020 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [231 Valid, 375 Invalid, 2271 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [547 Valid, 1712 Invalid, 12 Unknown, 0 Unchecked, 54.4s Time] [2022-04-07 12:42:02,020 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 585 states. [2022-04-07 12:42:02,859 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 585 to 438. [2022-04-07 12:42:02,859 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-07 12:42:02,860 INFO L82 GeneralOperation]: Start isEquivalent. First operand 585 states. Second operand has 438 states, 255 states have (on average 1.2117647058823529) internal successors, (309), 256 states have internal predecessors, (309), 157 states have call successors, (157), 26 states have call predecessors, (157), 25 states have return successors, (155), 155 states have call predecessors, (155), 155 states have call successors, (155) [2022-04-07 12:42:02,861 INFO L74 IsIncluded]: Start isIncluded. First operand 585 states. Second operand has 438 states, 255 states have (on average 1.2117647058823529) internal successors, (309), 256 states have internal predecessors, (309), 157 states have call successors, (157), 26 states have call predecessors, (157), 25 states have return successors, (155), 155 states have call predecessors, (155), 155 states have call successors, (155) [2022-04-07 12:42:02,861 INFO L87 Difference]: Start difference. First operand 585 states. Second operand has 438 states, 255 states have (on average 1.2117647058823529) internal successors, (309), 256 states have internal predecessors, (309), 157 states have call successors, (157), 26 states have call predecessors, (157), 25 states have return successors, (155), 155 states have call predecessors, (155), 155 states have call successors, (155) [2022-04-07 12:42:02,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:42:02,878 INFO L93 Difference]: Finished difference Result 585 states and 847 transitions. [2022-04-07 12:42:02,878 INFO L276 IsEmpty]: Start isEmpty. Operand 585 states and 847 transitions. [2022-04-07 12:42:02,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:42:02,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:42:02,881 INFO L74 IsIncluded]: Start isIncluded. First operand has 438 states, 255 states have (on average 1.2117647058823529) internal successors, (309), 256 states have internal predecessors, (309), 157 states have call successors, (157), 26 states have call predecessors, (157), 25 states have return successors, (155), 155 states have call predecessors, (155), 155 states have call successors, (155) Second operand 585 states. [2022-04-07 12:42:02,881 INFO L87 Difference]: Start difference. First operand has 438 states, 255 states have (on average 1.2117647058823529) internal successors, (309), 256 states have internal predecessors, (309), 157 states have call successors, (157), 26 states have call predecessors, (157), 25 states have return successors, (155), 155 states have call predecessors, (155), 155 states have call successors, (155) Second operand 585 states. [2022-04-07 12:42:02,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-07 12:42:02,913 INFO L93 Difference]: Finished difference Result 585 states and 847 transitions. [2022-04-07 12:42:02,913 INFO L276 IsEmpty]: Start isEmpty. Operand 585 states and 847 transitions. [2022-04-07 12:42:02,914 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-07 12:42:02,914 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-07 12:42:02,914 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-07 12:42:02,914 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-07 12:42:02,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 438 states, 255 states have (on average 1.2117647058823529) internal successors, (309), 256 states have internal predecessors, (309), 157 states have call successors, (157), 26 states have call predecessors, (157), 25 states have return successors, (155), 155 states have call predecessors, (155), 155 states have call successors, (155) [2022-04-07 12:42:02,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 438 states to 438 states and 621 transitions. [2022-04-07 12:42:02,927 INFO L78 Accepts]: Start accepts. Automaton has 438 states and 621 transitions. Word has length 80 [2022-04-07 12:42:02,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-07 12:42:02,928 INFO L478 AbstractCegarLoop]: Abstraction has 438 states and 621 transitions. [2022-04-07 12:42:02,928 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 22 states have (on average 2.5454545454545454) internal successors, (56), 23 states have internal predecessors, (56), 10 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 7 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-07 12:42:02,928 INFO L276 IsEmpty]: Start isEmpty. Operand 438 states and 621 transitions. [2022-04-07 12:42:02,929 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 84 [2022-04-07 12:42:02,929 INFO L491 BasicCegarLoop]: Found error trace [2022-04-07 12:42:02,929 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-07 12:42:02,947 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-07 12:42:03,143 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-07 12:42:03,143 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-07 12:42:03,144 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-07 12:42:03,144 INFO L85 PathProgramCache]: Analyzing trace with hash -1121309837, now seen corresponding path program 1 times [2022-04-07 12:42:03,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-07 12:42:03,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [611322265] [2022-04-07 12:42:03,144 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:42:03,144 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-07 12:42:03,163 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-07 12:42:03,164 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1431165491] [2022-04-07 12:42:03,164 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-07 12:42:03,164 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-07 12:42:03,164 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-07 12:42:03,166 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-07 12:42:03,167 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-07 12:42:03,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:42:03,213 INFO L263 TraceCheckSpWp]: Trace formula consists of 207 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-07 12:42:03,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-07 12:42:03,228 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-07 12:42:04,167 INFO L272 TraceCheckUtils]: 0: Hoare triple {22433#true} call ULTIMATE.init(); {22433#true} is VALID [2022-04-07 12:42:04,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {22433#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(11, 2);call #Ultimate.allocInit(12, 3); {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {22433#true} assume true; {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22433#true} {22433#true} #105#return; {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {22433#true} call #t~ret6 := main(); {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L290 TraceCheckUtils]: 5: Hoare triple {22433#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L272 TraceCheckUtils]: 6: Hoare triple {22433#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L290 TraceCheckUtils]: 7: Hoare triple {22433#true} ~cond := #in~cond; {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L290 TraceCheckUtils]: 8: Hoare triple {22433#true} assume !(0 == ~cond); {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L290 TraceCheckUtils]: 9: Hoare triple {22433#true} assume true; {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22433#true} {22433#true} #91#return; {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L272 TraceCheckUtils]: 11: Hoare triple {22433#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L290 TraceCheckUtils]: 12: Hoare triple {22433#true} ~cond := #in~cond; {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L290 TraceCheckUtils]: 13: Hoare triple {22433#true} assume !(0 == ~cond); {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L290 TraceCheckUtils]: 14: Hoare triple {22433#true} assume true; {22433#true} is VALID [2022-04-07 12:42:04,168 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22433#true} {22433#true} #93#return; {22433#true} is VALID [2022-04-07 12:42:04,169 INFO L290 TraceCheckUtils]: 16: Hoare triple {22433#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22486#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,169 INFO L290 TraceCheckUtils]: 17: Hoare triple {22486#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {22486#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,169 INFO L290 TraceCheckUtils]: 18: Hoare triple {22486#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22493#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,170 INFO L290 TraceCheckUtils]: 19: Hoare triple {22493#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {22493#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,170 INFO L290 TraceCheckUtils]: 20: Hoare triple {22493#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,171 INFO L290 TraceCheckUtils]: 21: Hoare triple {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} assume !false; {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,171 INFO L272 TraceCheckUtils]: 22: Hoare triple {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22433#true} is VALID [2022-04-07 12:42:04,171 INFO L290 TraceCheckUtils]: 23: Hoare triple {22433#true} ~cond := #in~cond; {22433#true} is VALID [2022-04-07 12:42:04,171 INFO L290 TraceCheckUtils]: 24: Hoare triple {22433#true} assume !(0 == ~cond); {22433#true} is VALID [2022-04-07 12:42:04,171 INFO L290 TraceCheckUtils]: 25: Hoare triple {22433#true} assume true; {22433#true} is VALID [2022-04-07 12:42:04,172 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22433#true} {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} #95#return; {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,172 INFO L272 TraceCheckUtils]: 27: Hoare triple {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22433#true} is VALID [2022-04-07 12:42:04,172 INFO L290 TraceCheckUtils]: 28: Hoare triple {22433#true} ~cond := #in~cond; {22433#true} is VALID [2022-04-07 12:42:04,172 INFO L290 TraceCheckUtils]: 29: Hoare triple {22433#true} assume !(0 == ~cond); {22433#true} is VALID [2022-04-07 12:42:04,172 INFO L290 TraceCheckUtils]: 30: Hoare triple {22433#true} assume true; {22433#true} is VALID [2022-04-07 12:42:04,173 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {22433#true} {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} #97#return; {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,173 INFO L272 TraceCheckUtils]: 32: Hoare triple {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22433#true} is VALID [2022-04-07 12:42:04,173 INFO L290 TraceCheckUtils]: 33: Hoare triple {22433#true} ~cond := #in~cond; {22433#true} is VALID [2022-04-07 12:42:04,173 INFO L290 TraceCheckUtils]: 34: Hoare triple {22433#true} assume !(0 == ~cond); {22433#true} is VALID [2022-04-07 12:42:04,173 INFO L290 TraceCheckUtils]: 35: Hoare triple {22433#true} assume true; {22433#true} is VALID [2022-04-07 12:42:04,173 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {22433#true} {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} #99#return; {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,173 INFO L272 TraceCheckUtils]: 37: Hoare triple {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22433#true} is VALID [2022-04-07 12:42:04,174 INFO L290 TraceCheckUtils]: 38: Hoare triple {22433#true} ~cond := #in~cond; {22433#true} is VALID [2022-04-07 12:42:04,174 INFO L290 TraceCheckUtils]: 39: Hoare triple {22433#true} assume !(0 == ~cond); {22433#true} is VALID [2022-04-07 12:42:04,174 INFO L290 TraceCheckUtils]: 40: Hoare triple {22433#true} assume true; {22433#true} is VALID [2022-04-07 12:42:04,174 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {22433#true} {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} #101#return; {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,175 INFO L290 TraceCheckUtils]: 42: Hoare triple {22500#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,175 INFO L290 TraceCheckUtils]: 43: Hoare triple {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} assume !false; {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,175 INFO L272 TraceCheckUtils]: 44: Hoare triple {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22433#true} is VALID [2022-04-07 12:42:04,175 INFO L290 TraceCheckUtils]: 45: Hoare triple {22433#true} ~cond := #in~cond; {22433#true} is VALID [2022-04-07 12:42:04,175 INFO L290 TraceCheckUtils]: 46: Hoare triple {22433#true} assume !(0 == ~cond); {22433#true} is VALID [2022-04-07 12:42:04,175 INFO L290 TraceCheckUtils]: 47: Hoare triple {22433#true} assume true; {22433#true} is VALID [2022-04-07 12:42:04,176 INFO L284 TraceCheckUtils]: 48: Hoare quadruple {22433#true} {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} #95#return; {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,176 INFO L272 TraceCheckUtils]: 49: Hoare triple {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22433#true} is VALID [2022-04-07 12:42:04,176 INFO L290 TraceCheckUtils]: 50: Hoare triple {22433#true} ~cond := #in~cond; {22433#true} is VALID [2022-04-07 12:42:04,176 INFO L290 TraceCheckUtils]: 51: Hoare triple {22433#true} assume !(0 == ~cond); {22433#true} is VALID [2022-04-07 12:42:04,176 INFO L290 TraceCheckUtils]: 52: Hoare triple {22433#true} assume true; {22433#true} is VALID [2022-04-07 12:42:04,177 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {22433#true} {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} #97#return; {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,177 INFO L272 TraceCheckUtils]: 54: Hoare triple {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22433#true} is VALID [2022-04-07 12:42:04,177 INFO L290 TraceCheckUtils]: 55: Hoare triple {22433#true} ~cond := #in~cond; {22433#true} is VALID [2022-04-07 12:42:04,177 INFO L290 TraceCheckUtils]: 56: Hoare triple {22433#true} assume !(0 == ~cond); {22433#true} is VALID [2022-04-07 12:42:04,177 INFO L290 TraceCheckUtils]: 57: Hoare triple {22433#true} assume true; {22433#true} is VALID [2022-04-07 12:42:04,178 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22433#true} {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} #99#return; {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,178 INFO L272 TraceCheckUtils]: 59: Hoare triple {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22433#true} is VALID [2022-04-07 12:42:04,178 INFO L290 TraceCheckUtils]: 60: Hoare triple {22433#true} ~cond := #in~cond; {22433#true} is VALID [2022-04-07 12:42:04,178 INFO L290 TraceCheckUtils]: 61: Hoare triple {22433#true} assume !(0 == ~cond); {22433#true} is VALID [2022-04-07 12:42:04,178 INFO L290 TraceCheckUtils]: 62: Hoare triple {22433#true} assume true; {22433#true} is VALID [2022-04-07 12:42:04,179 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {22433#true} {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} #101#return; {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,179 INFO L290 TraceCheckUtils]: 64: Hoare triple {22567#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0))} assume !(~c~0 >= 2 * ~v~0); {22634#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-07 12:42:04,180 INFO L290 TraceCheckUtils]: 65: Hoare triple {22634#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {22638#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,181 INFO L290 TraceCheckUtils]: 66: Hoare triple {22638#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} assume !false; {22638#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,181 INFO L290 TraceCheckUtils]: 67: Hoare triple {22638#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22645#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,182 INFO L290 TraceCheckUtils]: 68: Hoare triple {22645#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} assume !false; {22645#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,182 INFO L272 TraceCheckUtils]: 69: Hoare triple {22645#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22433#true} is VALID [2022-04-07 12:42:04,182 INFO L290 TraceCheckUtils]: 70: Hoare triple {22433#true} ~cond := #in~cond; {22433#true} is VALID [2022-04-07 12:42:04,182 INFO L290 TraceCheckUtils]: 71: Hoare triple {22433#true} assume !(0 == ~cond); {22433#true} is VALID [2022-04-07 12:42:04,182 INFO L290 TraceCheckUtils]: 72: Hoare triple {22433#true} assume true; {22433#true} is VALID [2022-04-07 12:42:04,182 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {22433#true} {22645#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} #95#return; {22645#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} is VALID [2022-04-07 12:42:04,182 INFO L272 TraceCheckUtils]: 74: Hoare triple {22645#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22433#true} is VALID [2022-04-07 12:42:04,183 INFO L290 TraceCheckUtils]: 75: Hoare triple {22433#true} ~cond := #in~cond; {22670#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:42:04,183 INFO L290 TraceCheckUtils]: 76: Hoare triple {22670#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22674#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:42:04,183 INFO L290 TraceCheckUtils]: 77: Hoare triple {22674#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22674#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-07 12:42:04,184 INFO L284 TraceCheckUtils]: 78: Hoare quadruple {22674#(not (= |__VERIFIER_assert_#in~cond| 0))} {22645#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2) (= main_~q~0 0))} #97#return; {22681#(and (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2))} is VALID [2022-04-07 12:42:04,185 INFO L272 TraceCheckUtils]: 79: Hoare triple {22681#(and (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22685#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-07 12:42:04,185 INFO L290 TraceCheckUtils]: 80: Hoare triple {22685#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22689#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-07 12:42:04,185 INFO L290 TraceCheckUtils]: 81: Hoare triple {22689#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22434#false} is VALID [2022-04-07 12:42:04,185 INFO L290 TraceCheckUtils]: 82: Hoare triple {22434#false} assume !false; {22434#false} is VALID [2022-04-07 12:42:04,186 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 46 proven. 17 refuted. 0 times theorem prover too weak. 157 trivial. 0 not checked. [2022-04-07 12:42:04,186 INFO L328 TraceCheckSpWp]: Computing backward predicates...