/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/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench/prodbin-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 04:31:43,001 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 04:31:43,003 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 04:31:43,035 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 04:31:43,035 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 04:31:43,036 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 04:31:43,039 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 04:31:43,047 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 04:31:43,048 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 04:31:43,053 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 04:31:43,053 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 04:31:43,054 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 04:31:43,054 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 04:31:43,054 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 04:31:43,055 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 04:31:43,055 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 04:31:43,056 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 04:31:43,056 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 04:31:43,057 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 04:31:43,058 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 04:31:43,059 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 04:31:43,061 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 04:31:43,062 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 04:31:43,064 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 04:31:43,064 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 04:31:43,069 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 04:31:43,070 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 04:31:43,070 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 04:31:43,070 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 04:31:43,071 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 04:31:43,072 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 04:31:43,072 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 04:31:43,073 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 04:31:43,073 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 04:31:43,074 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 04:31:43,074 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 04:31:43,074 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 04:31:43,075 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 04:31:43,075 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 04:31:43,075 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 04:31:43,075 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 04:31:43,077 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 04:31:43,078 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 04:31:43,087 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 04:31:43,088 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 04:31:43,088 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 04:31:43,089 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 04:31:43,089 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 04:31:43,089 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 04:31:43,089 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 04:31:43,089 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 04:31:43,089 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 04:31:43,090 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 04:31:43,090 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 04:31:43,090 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 04:31:43,090 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 04:31:43,090 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 04:31:43,090 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 04:31:43,090 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 04:31:43,091 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 04:31:43,091 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 04:31:43,091 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:31:43,091 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 04:31:43,091 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 04:31:43,091 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 04:31:43,091 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 04:31:43,091 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 04:31:43,091 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 04:31:43,091 INFO L138 SettingsManager]: * Use separate solver for trace checks=false 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-08 04:31:43,248 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 04:31:43,275 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 04:31:43,277 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 04:31:43,278 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 04:31:43,279 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 04:31:43,281 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/prodbin-ll.c [2022-04-08 04:31:43,336 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4c1d0c83b/6e7b725b8bf04758a086334edc178027/FLAG2b6c31cc1 [2022-04-08 04:31:43,691 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 04:31:43,691 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/prodbin-ll.c [2022-04-08 04:31:43,696 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4c1d0c83b/6e7b725b8bf04758a086334edc178027/FLAG2b6c31cc1 [2022-04-08 04:31:43,715 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4c1d0c83b/6e7b725b8bf04758a086334edc178027 [2022-04-08 04:31:43,717 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 04:31:43,718 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 04:31:43,719 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 04:31:43,720 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 04:31:43,722 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 04:31:43,722 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:31:43" (1/1) ... [2022-04-08 04:31:43,723 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5ae10f14 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:31:43, skipping insertion in model container [2022-04-08 04:31:43,724 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:31:43" (1/1) ... [2022-04-08 04:31:43,730 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 04:31:43,740 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 04:31:43,878 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/prodbin-ll.c[537,550] [2022-04-08 04:31:43,887 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:31:43,892 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 04:31:43,900 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/prodbin-ll.c[537,550] [2022-04-08 04:31:43,904 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:31:43,912 INFO L208 MainTranslator]: Completed translation [2022-04-08 04:31:43,912 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:31:43 WrapperNode [2022-04-08 04:31:43,913 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 04:31:43,913 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 04:31:43,913 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 04:31:43,913 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 04:31:43,920 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:31:43" (1/1) ... [2022-04-08 04:31:43,920 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:31:43" (1/1) ... [2022-04-08 04:31:43,924 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:31:43" (1/1) ... [2022-04-08 04:31:43,924 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:31:43" (1/1) ... [2022-04-08 04:31:43,928 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:31:43" (1/1) ... [2022-04-08 04:31:43,931 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:31:43" (1/1) ... [2022-04-08 04:31:43,932 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:31:43" (1/1) ... [2022-04-08 04:31:43,933 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 04:31:43,934 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 04:31:43,934 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 04:31:43,934 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 04:31:43,934 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:31:43" (1/1) ... [2022-04-08 04:31:43,941 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:31:43,948 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:31:43,957 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-08 04:31:43,958 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-08 04:31:43,983 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 04:31:43,984 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 04:31:43,984 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 04:31:43,985 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 04:31:43,985 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 04:31:43,985 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 04:31:43,985 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 04:31:43,985 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 04:31:43,985 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 04:31:43,985 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 04:31:43,985 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 04:31:43,986 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 04:31:43,987 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 04:31:43,987 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 04:31:43,988 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 04:31:43,988 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 04:31:43,988 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 04:31:43,988 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 04:31:43,988 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 04:31:43,988 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 04:31:44,028 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 04:31:44,029 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 04:31:44,139 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 04:31:44,161 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 04:31:44,161 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 04:31:44,163 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:31:44 BoogieIcfgContainer [2022-04-08 04:31:44,163 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 04:31:44,173 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 04:31:44,173 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 04:31:44,175 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 04:31:44,176 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 04:31:43" (1/3) ... [2022-04-08 04:31:44,176 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@11b64984 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:31:44, skipping insertion in model container [2022-04-08 04:31:44,176 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:31:43" (2/3) ... [2022-04-08 04:31:44,176 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@11b64984 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:31:44, skipping insertion in model container [2022-04-08 04:31:44,177 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:31:44" (3/3) ... [2022-04-08 04:31:44,177 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll.c [2022-04-08 04:31:44,181 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 04:31:44,181 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 04:31:44,207 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 04:31:44,211 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, 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-08 04:31:44,212 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 04:31:44,226 INFO L276 IsEmpty]: Start isEmpty. Operand has 29 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:31:44,230 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 04:31:44,231 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:31:44,231 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:31:44,231 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:31:44,235 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:31:44,235 INFO L85 PathProgramCache]: Analyzing trace with hash 2112761405, now seen corresponding path program 1 times [2022-04-08 04:31:44,240 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:31:44,240 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1312373368] [2022-04-08 04:31:44,247 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:31:44,248 INFO L85 PathProgramCache]: Analyzing trace with hash 2112761405, now seen corresponding path program 2 times [2022-04-08 04:31:44,250 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:31:44,250 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1938265219] [2022-04-08 04:31:44,250 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:31:44,251 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:31:44,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:31:44,389 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 04:31:44,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:31:44,407 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#(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(13, 2);call #Ultimate.allocInit(12, 3); {32#true} is VALID [2022-04-08 04:31:44,407 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume true; {32#true} is VALID [2022-04-08 04:31:44,408 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {32#true} {32#true} #64#return; {32#true} is VALID [2022-04-08 04:31:44,419 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 04:31:44,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:31:44,426 INFO L290 TraceCheckUtils]: 0: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-04-08 04:31:44,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-04-08 04:31:44,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#false} assume true; {33#false} is VALID [2022-04-08 04:31:44,427 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#false} {32#true} #58#return; {33#false} is VALID [2022-04-08 04:31:44,428 INFO L272 TraceCheckUtils]: 0: Hoare triple {32#true} call ULTIMATE.init(); {41#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 04:31:44,428 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#(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(13, 2);call #Ultimate.allocInit(12, 3); {32#true} is VALID [2022-04-08 04:31:44,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {32#true} assume true; {32#true} is VALID [2022-04-08 04:31:44,429 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32#true} {32#true} #64#return; {32#true} is VALID [2022-04-08 04:31:44,429 INFO L272 TraceCheckUtils]: 4: Hoare triple {32#true} call #t~ret6 := main(); {32#true} is VALID [2022-04-08 04:31:44,429 INFO L290 TraceCheckUtils]: 5: Hoare triple {32#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {32#true} is VALID [2022-04-08 04:31:44,429 INFO L272 TraceCheckUtils]: 6: Hoare triple {32#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {32#true} is VALID [2022-04-08 04:31:44,430 INFO L290 TraceCheckUtils]: 7: Hoare triple {32#true} ~cond := #in~cond; {32#true} is VALID [2022-04-08 04:31:44,430 INFO L290 TraceCheckUtils]: 8: Hoare triple {32#true} assume 0 == ~cond;assume false; {33#false} is VALID [2022-04-08 04:31:44,430 INFO L290 TraceCheckUtils]: 9: Hoare triple {33#false} assume true; {33#false} is VALID [2022-04-08 04:31:44,430 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {33#false} {32#true} #58#return; {33#false} is VALID [2022-04-08 04:31:44,431 INFO L290 TraceCheckUtils]: 11: Hoare triple {33#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {33#false} is VALID [2022-04-08 04:31:44,431 INFO L290 TraceCheckUtils]: 12: Hoare triple {33#false} assume false; {33#false} is VALID [2022-04-08 04:31:44,431 INFO L272 TraceCheckUtils]: 13: Hoare triple {33#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {33#false} is VALID [2022-04-08 04:31:44,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {33#false} ~cond := #in~cond; {33#false} is VALID [2022-04-08 04:31:44,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {33#false} assume 0 == ~cond; {33#false} is VALID [2022-04-08 04:31:44,432 INFO L290 TraceCheckUtils]: 16: Hoare triple {33#false} assume !false; {33#false} is VALID [2022-04-08 04:31:44,432 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:31:44,432 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:31:44,432 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1938265219] [2022-04-08 04:31:44,433 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1938265219] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:31:44,433 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:31:44,433 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:31:44,435 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:31:44,435 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1312373368] [2022-04-08 04:31:44,435 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1312373368] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:31:44,435 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:31:44,436 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:31:44,436 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1413265310] [2022-04-08 04:31:44,436 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:31:44,439 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 04:31:44,440 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:31:44,443 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:31:44,464 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:44,465 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 04:31:44,465 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:31:44,489 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 04:31:44,490 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 04:31:44,492 INFO L87 Difference]: Start difference. First operand has 29 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:31:44,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:44,612 INFO L93 Difference]: Finished difference Result 49 states and 62 transitions. [2022-04-08 04:31:44,613 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 04:31:44,613 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 04:31:44,613 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:31:44,614 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:31:44,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2022-04-08 04:31:44,625 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:31:44,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 62 transitions. [2022-04-08 04:31:44,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 62 transitions. [2022-04-08 04:31:44,701 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-08 04:31:44,708 INFO L225 Difference]: With dead ends: 49 [2022-04-08 04:31:44,708 INFO L226 Difference]: Without dead ends: 24 [2022-04-08 04:31:44,710 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 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-08 04:31:44,715 INFO L913 BasicCegarLoop]: 28 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 5 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 31 SdHoareTripleChecker+Invalid, 9 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 5 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:31:44,718 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 31 Invalid, 9 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 5 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:31:44,728 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2022-04-08 04:31:44,738 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 24. [2022-04-08 04:31:44,738 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:31:44,739 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:31:44,740 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:31:44,740 INFO L87 Difference]: Start difference. First operand 24 states. Second operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:31:44,746 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:44,746 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2022-04-08 04:31:44,746 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-08 04:31:44,746 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:31:44,746 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:31:44,747 INFO L74 IsIncluded]: Start isIncluded. First operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 24 states. [2022-04-08 04:31:44,748 INFO L87 Difference]: Start difference. First operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 24 states. [2022-04-08 04:31:44,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:44,752 INFO L93 Difference]: Finished difference Result 24 states and 26 transitions. [2022-04-08 04:31:44,753 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-08 04:31:44,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:31:44,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:31:44,753 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:31:44,753 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:31:44,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-08 04:31:44,760 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 26 transitions. [2022-04-08 04:31:44,761 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 26 transitions. Word has length 17 [2022-04-08 04:31:44,761 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:31:44,761 INFO L478 AbstractCegarLoop]: Abstraction has 24 states and 26 transitions. [2022-04-08 04:31:44,762 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, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:31:44,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 26 transitions. [2022-04-08 04:31:44,799 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-08 04:31:44,799 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2022-04-08 04:31:44,799 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-08 04:31:44,799 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:31:44,799 INFO L499 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:31:44,800 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 04:31:44,800 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:31:44,801 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:31:44,801 INFO L85 PathProgramCache]: Analyzing trace with hash -1500360061, now seen corresponding path program 1 times [2022-04-08 04:31:44,801 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:31:44,801 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1993549977] [2022-04-08 04:31:44,806 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:31:44,806 INFO L85 PathProgramCache]: Analyzing trace with hash -1500360061, now seen corresponding path program 2 times [2022-04-08 04:31:44,807 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:31:44,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1585866396] [2022-04-08 04:31:44,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:31:44,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:31:44,831 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:31:44,833 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [557112250] [2022-04-08 04:31:44,833 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:31:44,833 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:31:44,833 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:31:44,834 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-08 04:31:44,837 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-08 04:31:44,884 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 04:31:44,884 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:31:44,886 INFO L263 TraceCheckSpWp]: Trace formula consists of 72 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 04:31:44,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:31:44,898 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:31:45,031 INFO L272 TraceCheckUtils]: 0: Hoare triple {238#true} call ULTIMATE.init(); {238#true} is VALID [2022-04-08 04:31:45,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {238#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(13, 2);call #Ultimate.allocInit(12, 3); {238#true} is VALID [2022-04-08 04:31:45,032 INFO L290 TraceCheckUtils]: 2: Hoare triple {238#true} assume true; {238#true} is VALID [2022-04-08 04:31:45,032 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {238#true} {238#true} #64#return; {238#true} is VALID [2022-04-08 04:31:45,032 INFO L272 TraceCheckUtils]: 4: Hoare triple {238#true} call #t~ret6 := main(); {238#true} is VALID [2022-04-08 04:31:45,032 INFO L290 TraceCheckUtils]: 5: Hoare triple {238#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {238#true} is VALID [2022-04-08 04:31:45,032 INFO L272 TraceCheckUtils]: 6: Hoare triple {238#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {238#true} is VALID [2022-04-08 04:31:45,032 INFO L290 TraceCheckUtils]: 7: Hoare triple {238#true} ~cond := #in~cond; {238#true} is VALID [2022-04-08 04:31:45,033 INFO L290 TraceCheckUtils]: 8: Hoare triple {238#true} assume !(0 == ~cond); {238#true} is VALID [2022-04-08 04:31:45,033 INFO L290 TraceCheckUtils]: 9: Hoare triple {238#true} assume true; {238#true} is VALID [2022-04-08 04:31:45,033 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {238#true} {238#true} #58#return; {238#true} is VALID [2022-04-08 04:31:45,033 INFO L290 TraceCheckUtils]: 11: Hoare triple {238#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {276#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:31:45,034 INFO L290 TraceCheckUtils]: 12: Hoare triple {276#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {276#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:31:45,035 INFO L272 TraceCheckUtils]: 13: Hoare triple {276#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {283#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:31:45,035 INFO L290 TraceCheckUtils]: 14: Hoare triple {283#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {287#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:31:45,035 INFO L290 TraceCheckUtils]: 15: Hoare triple {287#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {239#false} is VALID [2022-04-08 04:31:45,036 INFO L290 TraceCheckUtils]: 16: Hoare triple {239#false} assume !false; {239#false} is VALID [2022-04-08 04:31:45,036 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:31:45,036 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:31:45,036 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:31:45,036 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1585866396] [2022-04-08 04:31:45,037 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:31:45,037 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [557112250] [2022-04-08 04:31:45,037 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [557112250] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:31:45,037 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:31:45,038 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:31:45,038 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:31:45,038 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1993549977] [2022-04-08 04:31:45,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1993549977] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:31:45,039 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:31:45,039 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:31:45,039 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1052604775] [2022-04-08 04:31:45,039 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:31:45,040 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 04:31:45,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:31:45,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:31:45,054 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:45,054 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:31:45,054 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:31:45,055 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:31:45,055 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 04:31:45,055 INFO L87 Difference]: Start difference. First operand 24 states and 26 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:31:45,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:45,190 INFO L93 Difference]: Finished difference Result 36 states and 40 transitions. [2022-04-08 04:31:45,190 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:31:45,190 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-08 04:31:45,191 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:31:45,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:31:45,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 40 transitions. [2022-04-08 04:31:45,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:31:45,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 40 transitions. [2022-04-08 04:31:45,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 40 transitions. [2022-04-08 04:31:45,224 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:45,226 INFO L225 Difference]: With dead ends: 36 [2022-04-08 04:31:45,226 INFO L226 Difference]: Without dead ends: 34 [2022-04-08 04:31:45,226 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 13 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-08 04:31:45,228 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 8 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:31:45,232 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 67 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:31:45,234 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-08 04:31:45,247 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 30. [2022-04-08 04:31:45,247 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:31:45,247 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:31:45,247 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:31:45,248 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:31:45,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:45,253 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2022-04-08 04:31:45,253 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-08 04:31:45,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:31:45,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:31:45,255 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 34 states. [2022-04-08 04:31:45,256 INFO L87 Difference]: Start difference. First operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 34 states. [2022-04-08 04:31:45,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:45,258 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2022-04-08 04:31:45,258 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-08 04:31:45,258 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:31:45,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:31:45,258 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:31:45,258 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:31:45,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 21 states have internal predecessors, (22), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:31:45,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 32 transitions. [2022-04-08 04:31:45,260 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 32 transitions. Word has length 17 [2022-04-08 04:31:45,260 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:31:45,260 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 32 transitions. [2022-04-08 04:31:45,260 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-08 04:31:45,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 32 transitions. [2022-04-08 04:31:45,292 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-08 04:31:45,292 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 32 transitions. [2022-04-08 04:31:45,296 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-08 04:31:45,297 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:31:45,301 INFO L499 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:31:45,325 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 04:31:45,511 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-08 04:31:45,512 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:31:45,512 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:31:45,512 INFO L85 PathProgramCache]: Analyzing trace with hash 966896435, now seen corresponding path program 1 times [2022-04-08 04:31:45,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:31:45,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [144813963] [2022-04-08 04:31:45,513 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:31:45,513 INFO L85 PathProgramCache]: Analyzing trace with hash 966896435, now seen corresponding path program 2 times [2022-04-08 04:31:45,513 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:31:45,513 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [409051025] [2022-04-08 04:31:45,513 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:31:45,513 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:31:45,553 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:31:45,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1255005846] [2022-04-08 04:31:45,553 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:31:45,553 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:31:45,553 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:31:45,564 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-08 04:31:45,565 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-08 04:31:45,593 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:31:45,594 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:31:45,594 INFO L263 TraceCheckSpWp]: Trace formula consists of 83 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 04:31:45,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:31:45,615 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:31:45,751 INFO L272 TraceCheckUtils]: 0: Hoare triple {495#true} call ULTIMATE.init(); {495#true} is VALID [2022-04-08 04:31:45,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {495#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(13, 2);call #Ultimate.allocInit(12, 3); {495#true} is VALID [2022-04-08 04:31:45,751 INFO L290 TraceCheckUtils]: 2: Hoare triple {495#true} assume true; {495#true} is VALID [2022-04-08 04:31:45,751 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {495#true} {495#true} #64#return; {495#true} is VALID [2022-04-08 04:31:45,751 INFO L272 TraceCheckUtils]: 4: Hoare triple {495#true} call #t~ret6 := main(); {495#true} is VALID [2022-04-08 04:31:45,752 INFO L290 TraceCheckUtils]: 5: Hoare triple {495#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {495#true} is VALID [2022-04-08 04:31:45,752 INFO L272 TraceCheckUtils]: 6: Hoare triple {495#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {495#true} is VALID [2022-04-08 04:31:45,752 INFO L290 TraceCheckUtils]: 7: Hoare triple {495#true} ~cond := #in~cond; {521#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:31:45,752 INFO L290 TraceCheckUtils]: 8: Hoare triple {521#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {525#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:31:45,753 INFO L290 TraceCheckUtils]: 9: Hoare triple {525#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {525#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:31:45,753 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {525#(not (= |assume_abort_if_not_#in~cond| 0))} {495#true} #58#return; {532#(<= 1 main_~b~0)} is VALID [2022-04-08 04:31:45,754 INFO L290 TraceCheckUtils]: 11: Hoare triple {532#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {536#(<= 1 main_~y~0)} is VALID [2022-04-08 04:31:45,754 INFO L290 TraceCheckUtils]: 12: Hoare triple {536#(<= 1 main_~y~0)} assume !false; {536#(<= 1 main_~y~0)} is VALID [2022-04-08 04:31:45,754 INFO L272 TraceCheckUtils]: 13: Hoare triple {536#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {495#true} is VALID [2022-04-08 04:31:45,754 INFO L290 TraceCheckUtils]: 14: Hoare triple {495#true} ~cond := #in~cond; {495#true} is VALID [2022-04-08 04:31:45,755 INFO L290 TraceCheckUtils]: 15: Hoare triple {495#true} assume !(0 == ~cond); {495#true} is VALID [2022-04-08 04:31:45,755 INFO L290 TraceCheckUtils]: 16: Hoare triple {495#true} assume true; {495#true} is VALID [2022-04-08 04:31:45,755 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {495#true} {536#(<= 1 main_~y~0)} #60#return; {536#(<= 1 main_~y~0)} is VALID [2022-04-08 04:31:45,756 INFO L290 TraceCheckUtils]: 18: Hoare triple {536#(<= 1 main_~y~0)} assume !(0 != ~y~0); {496#false} is VALID [2022-04-08 04:31:45,756 INFO L272 TraceCheckUtils]: 19: Hoare triple {496#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {496#false} is VALID [2022-04-08 04:31:45,756 INFO L290 TraceCheckUtils]: 20: Hoare triple {496#false} ~cond := #in~cond; {496#false} is VALID [2022-04-08 04:31:45,756 INFO L290 TraceCheckUtils]: 21: Hoare triple {496#false} assume 0 == ~cond; {496#false} is VALID [2022-04-08 04:31:45,756 INFO L290 TraceCheckUtils]: 22: Hoare triple {496#false} assume !false; {496#false} is VALID [2022-04-08 04:31:45,756 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:31:45,756 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:31:45,756 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:31:45,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [409051025] [2022-04-08 04:31:45,757 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:31:45,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1255005846] [2022-04-08 04:31:45,757 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1255005846] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:31:45,757 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:31:45,757 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:31:45,757 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:31:45,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [144813963] [2022-04-08 04:31:45,757 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [144813963] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:31:45,757 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:31:45,757 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 04:31:45,757 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1780394274] [2022-04-08 04:31:45,757 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:31:45,758 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), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 04:31:45,758 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:31:45,758 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), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:31:45,779 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-08 04:31:45,779 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 04:31:45,779 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:31:45,780 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 04:31:45,780 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:31:45,780 INFO L87 Difference]: Start difference. First operand 30 states and 32 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 5 states have internal predecessors, (15), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:31:45,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:45,904 INFO L93 Difference]: Finished difference Result 40 states and 43 transitions. [2022-04-08 04:31:45,904 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 04:31:45,904 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), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-08 04:31:45,904 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:31:45,904 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), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:31:45,906 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-08 04:31:45,906 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), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:31:45,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-04-08 04:31:45,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-04-08 04:31:45,935 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:45,936 INFO L225 Difference]: With dead ends: 40 [2022-04-08 04:31:45,936 INFO L226 Difference]: Without dead ends: 33 [2022-04-08 04:31:45,936 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-08 04:31:45,937 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 14 mSDsluCounter, 57 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 77 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:31:45,937 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 77 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:31:45,937 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-08 04:31:45,954 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 31. [2022-04-08 04:31:45,954 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:31:45,954 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:31:45,955 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:31:45,955 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:31:45,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:45,957 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2022-04-08 04:31:45,957 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-08 04:31:45,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:31:45,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:31:45,957 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 33 states. [2022-04-08 04:31:45,958 INFO L87 Difference]: Start difference. First operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 33 states. [2022-04-08 04:31:45,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:45,959 INFO L93 Difference]: Finished difference Result 33 states and 36 transitions. [2022-04-08 04:31:45,959 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-08 04:31:45,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:31:45,960 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:31:45,960 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:31:45,960 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:31:45,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 20 states have (on average 1.15) internal successors, (23), 21 states have internal predecessors, (23), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-08 04:31:45,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 33 transitions. [2022-04-08 04:31:45,963 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 33 transitions. Word has length 23 [2022-04-08 04:31:45,963 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:31:45,964 INFO L478 AbstractCegarLoop]: Abstraction has 31 states and 33 transitions. [2022-04-08 04:31:45,964 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), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:31:45,964 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 31 states and 33 transitions. [2022-04-08 04:31:45,996 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:45,996 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 33 transitions. [2022-04-08 04:31:45,997 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-08 04:31:45,997 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:31:45,997 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-08 04:31:46,019 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-08 04:31:46,211 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-08 04:31:46,212 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:31:46,212 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:31:46,212 INFO L85 PathProgramCache]: Analyzing trace with hash 1614734214, now seen corresponding path program 1 times [2022-04-08 04:31:46,212 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:31:46,212 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [49489918] [2022-04-08 04:31:50,318 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:31:50,319 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:31:50,319 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:31:50,319 INFO L85 PathProgramCache]: Analyzing trace with hash 1614734214, now seen corresponding path program 2 times [2022-04-08 04:31:50,319 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:31:50,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1872935752] [2022-04-08 04:31:50,319 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:31:50,319 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:31:50,340 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:31:50,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1364028477] [2022-04-08 04:31:50,340 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:31:50,340 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:31:50,341 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:31:50,352 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-08 04:31:50,353 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-08 04:31:50,404 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:31:50,404 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:31:50,405 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 04:31:50,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:31:50,423 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:31:55,980 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-08 04:31:55,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {781#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(13, 2);call #Ultimate.allocInit(12, 3); {781#true} is VALID [2022-04-08 04:31:55,981 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-08 04:31:55,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #64#return; {781#true} is VALID [2022-04-08 04:31:55,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-08 04:31:55,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {781#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-08 04:31:55,981 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {781#true} is VALID [2022-04-08 04:31:55,982 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {807#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:31:55,982 INFO L290 TraceCheckUtils]: 8: Hoare triple {807#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:31:55,982 INFO L290 TraceCheckUtils]: 9: Hoare triple {811#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:31:55,983 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {811#(not (= |assume_abort_if_not_#in~cond| 0))} {781#true} #58#return; {818#(<= 1 main_~b~0)} is VALID [2022-04-08 04:31:55,983 INFO L290 TraceCheckUtils]: 11: Hoare triple {818#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:31:55,984 INFO L290 TraceCheckUtils]: 12: Hoare triple {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:31:55,984 INFO L272 TraceCheckUtils]: 13: Hoare triple {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {781#true} is VALID [2022-04-08 04:31:55,984 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-08 04:31:55,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-08 04:31:55,985 INFO L290 TraceCheckUtils]: 16: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-08 04:31:55,985 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {781#true} {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #60#return; {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:31:55,986 INFO L290 TraceCheckUtils]: 18: Hoare triple {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:31:55,987 INFO L290 TraceCheckUtils]: 19: Hoare triple {822#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {847#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:31:55,988 INFO L290 TraceCheckUtils]: 20: Hoare triple {847#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {851#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:31:55,988 INFO L290 TraceCheckUtils]: 21: Hoare triple {851#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {851#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:31:55,991 INFO L272 TraceCheckUtils]: 22: Hoare triple {851#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {858#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:31:55,992 INFO L290 TraceCheckUtils]: 23: Hoare triple {858#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {862#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:31:55,992 INFO L290 TraceCheckUtils]: 24: Hoare triple {862#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-08 04:31:55,992 INFO L290 TraceCheckUtils]: 25: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-08 04:31:55,992 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:31:55,993 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:32:27,013 INFO L290 TraceCheckUtils]: 25: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-08 04:32:27,013 INFO L290 TraceCheckUtils]: 24: Hoare triple {862#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-08 04:32:27,014 INFO L290 TraceCheckUtils]: 23: Hoare triple {858#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {862#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:32:27,015 INFO L272 TraceCheckUtils]: 22: Hoare triple {878#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {858#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:32:27,015 INFO L290 TraceCheckUtils]: 21: Hoare triple {878#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {878#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:32:27,019 INFO L290 TraceCheckUtils]: 20: Hoare triple {885#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {878#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:32:27,020 INFO L290 TraceCheckUtils]: 19: Hoare triple {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {885#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-08 04:32:27,021 INFO L290 TraceCheckUtils]: 18: Hoare triple {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 04:32:27,021 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {781#true} {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #60#return; {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 04:32:27,022 INFO L290 TraceCheckUtils]: 16: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-08 04:32:27,022 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-08 04:32:27,022 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-08 04:32:27,022 INFO L272 TraceCheckUtils]: 13: Hoare triple {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {781#true} is VALID [2022-04-08 04:32:27,022 INFO L290 TraceCheckUtils]: 12: Hoare triple {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 04:32:27,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {914#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {889#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 04:32:27,026 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {811#(not (= |assume_abort_if_not_#in~cond| 0))} {781#true} #58#return; {914#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-08 04:32:27,026 INFO L290 TraceCheckUtils]: 9: Hoare triple {811#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:32:27,027 INFO L290 TraceCheckUtils]: 8: Hoare triple {927#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {811#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:32:27,027 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {927#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 04:32:27,027 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {781#true} is VALID [2022-04-08 04:32:27,027 INFO L290 TraceCheckUtils]: 5: Hoare triple {781#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-08 04:32:27,027 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-08 04:32:27,027 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #64#return; {781#true} is VALID [2022-04-08 04:32:27,027 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-08 04:32:27,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {781#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(13, 2);call #Ultimate.allocInit(12, 3); {781#true} is VALID [2022-04-08 04:32:27,028 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-08 04:32:27,028 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:32:27,028 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:32:27,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1872935752] [2022-04-08 04:32:27,028 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:32:27,028 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1364028477] [2022-04-08 04:32:27,028 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1364028477] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:32:27,028 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:32:27,028 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-08 04:32:27,029 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:32:27,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [49489918] [2022-04-08 04:32:27,029 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [49489918] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:32:27,029 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:32:27,029 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 04:32:27,029 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1273420283] [2022-04-08 04:32:27,029 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:32:27,029 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-04-08 04:32:27,030 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:32:27,030 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:32:27,050 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-08 04:32:27,051 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 04:32:27,051 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:32:27,051 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 04:32:27,051 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:32:27,051 INFO L87 Difference]: Start difference. First operand 31 states and 33 transitions. Second operand has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:32:27,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:27,494 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-08 04:32:27,494 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:32:27,495 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-04-08 04:32:27,495 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:32:27,495 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:32:27,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2022-04-08 04:32:27,496 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:32:27,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 51 transitions. [2022-04-08 04:32:27,498 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 51 transitions. [2022-04-08 04:32:27,537 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-08 04:32:27,538 INFO L225 Difference]: With dead ends: 49 [2022-04-08 04:32:27,538 INFO L226 Difference]: Without dead ends: 42 [2022-04-08 04:32:27,538 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=54, Invalid=218, Unknown=0, NotChecked=0, Total=272 [2022-04-08 04:32:27,539 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 21 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 145 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 145 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:32:27,539 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 111 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 145 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:32:27,540 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-08 04:32:27,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 40. [2022-04-08 04:32:27,558 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:32:27,559 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:32:27,559 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:32:27,559 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:32:27,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:27,560 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-08 04:32:27,560 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-08 04:32:27,561 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:32:27,561 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:32:27,561 INFO L74 IsIncluded]: Start isIncluded. First operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 42 states. [2022-04-08 04:32:27,561 INFO L87 Difference]: Start difference. First operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 42 states. [2022-04-08 04:32:27,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:32:27,562 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-08 04:32:27,562 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-08 04:32:27,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:32:27,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:32:27,563 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:32:27,563 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:32:27,563 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 28 states have internal predecessors, (31), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-08 04:32:27,564 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 43 transitions. [2022-04-08 04:32:27,564 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 43 transitions. Word has length 26 [2022-04-08 04:32:27,564 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:32:27,564 INFO L478 AbstractCegarLoop]: Abstraction has 40 states and 43 transitions. [2022-04-08 04:32:27,564 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 1.8) internal successors, (18), 8 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:32:27,564 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 43 transitions. [2022-04-08 04:32:27,606 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:32:27,607 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 43 transitions. [2022-04-08 04:32:27,607 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-04-08 04:32:27,607 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:32:27,607 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-08 04:32:27,623 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 04:32:27,819 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-08 04:32:27,819 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:32:27,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:32:27,820 INFO L85 PathProgramCache]: Analyzing trace with hash -160273148, now seen corresponding path program 1 times [2022-04-08 04:32:27,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:32:27,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1799779986] [2022-04-08 04:32:30,524 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:32:30,524 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:32:30,524 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:32:30,524 INFO L85 PathProgramCache]: Analyzing trace with hash -160273148, now seen corresponding path program 2 times [2022-04-08 04:32:30,524 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:32:30,524 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1204755757] [2022-04-08 04:32:30,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:32:30,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:32:30,566 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:32:30,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [731779818] [2022-04-08 04:32:30,566 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:32:30,566 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:32:30,566 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:32:30,567 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-08 04:32:30,568 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-08 04:32:30,600 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:32:30,600 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:32:30,601 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 04:32:30,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:32:30,623 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:32:33,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {1217#true} call ULTIMATE.init(); {1217#true} is VALID [2022-04-08 04:32:33,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {1217#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(13, 2);call #Ultimate.allocInit(12, 3); {1217#true} is VALID [2022-04-08 04:32:33,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-08 04:32:33,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1217#true} {1217#true} #64#return; {1217#true} is VALID [2022-04-08 04:32:33,046 INFO L272 TraceCheckUtils]: 4: Hoare triple {1217#true} call #t~ret6 := main(); {1217#true} is VALID [2022-04-08 04:32:33,046 INFO L290 TraceCheckUtils]: 5: Hoare triple {1217#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1217#true} is VALID [2022-04-08 04:32:33,046 INFO L272 TraceCheckUtils]: 6: Hoare triple {1217#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1217#true} is VALID [2022-04-08 04:32:33,046 INFO L290 TraceCheckUtils]: 7: Hoare triple {1217#true} ~cond := #in~cond; {1243#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:32:33,047 INFO L290 TraceCheckUtils]: 8: Hoare triple {1243#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1247#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:32:33,047 INFO L290 TraceCheckUtils]: 9: Hoare triple {1247#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1247#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:32:33,048 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1247#(not (= |assume_abort_if_not_#in~cond| 0))} {1217#true} #58#return; {1254#(<= 1 main_~b~0)} is VALID [2022-04-08 04:32:33,048 INFO L290 TraceCheckUtils]: 11: Hoare triple {1254#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:32:33,049 INFO L290 TraceCheckUtils]: 12: Hoare triple {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:32:33,049 INFO L272 TraceCheckUtils]: 13: Hoare triple {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1217#true} is VALID [2022-04-08 04:32:33,049 INFO L290 TraceCheckUtils]: 14: Hoare triple {1217#true} ~cond := #in~cond; {1217#true} is VALID [2022-04-08 04:32:33,049 INFO L290 TraceCheckUtils]: 15: Hoare triple {1217#true} assume !(0 == ~cond); {1217#true} is VALID [2022-04-08 04:32:33,049 INFO L290 TraceCheckUtils]: 16: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-08 04:32:33,050 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1217#true} {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #60#return; {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:32:33,050 INFO L290 TraceCheckUtils]: 18: Hoare triple {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:32:33,051 INFO L290 TraceCheckUtils]: 19: Hoare triple {1258#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1283#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:32:33,052 INFO L290 TraceCheckUtils]: 20: Hoare triple {1283#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1287#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-08 04:32:33,053 INFO L290 TraceCheckUtils]: 21: Hoare triple {1287#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1287#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-08 04:32:35,055 WARN L272 TraceCheckUtils]: 22: Hoare triple {1287#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1294#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-08 04:32:35,056 INFO L290 TraceCheckUtils]: 23: Hoare triple {1294#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1298#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:32:35,056 INFO L290 TraceCheckUtils]: 24: Hoare triple {1298#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1218#false} is VALID [2022-04-08 04:32:35,056 INFO L290 TraceCheckUtils]: 25: Hoare triple {1218#false} assume !false; {1218#false} is VALID [2022-04-08 04:32:35,057 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:32:35,057 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:33:09,477 INFO L290 TraceCheckUtils]: 25: Hoare triple {1218#false} assume !false; {1218#false} is VALID [2022-04-08 04:33:09,478 INFO L290 TraceCheckUtils]: 24: Hoare triple {1298#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1218#false} is VALID [2022-04-08 04:33:09,478 INFO L290 TraceCheckUtils]: 23: Hoare triple {1294#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1298#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:09,479 INFO L272 TraceCheckUtils]: 22: Hoare triple {1314#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1294#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:33:09,479 INFO L290 TraceCheckUtils]: 21: Hoare triple {1314#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1314#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:33:09,485 INFO L290 TraceCheckUtils]: 20: Hoare triple {1321#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1314#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:33:09,489 INFO L290 TraceCheckUtils]: 19: Hoare triple {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1321#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-08 04:33:09,490 INFO L290 TraceCheckUtils]: 18: Hoare triple {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 04:33:09,491 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1217#true} {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} #60#return; {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 04:33:09,491 INFO L290 TraceCheckUtils]: 16: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-08 04:33:09,491 INFO L290 TraceCheckUtils]: 15: Hoare triple {1217#true} assume !(0 == ~cond); {1217#true} is VALID [2022-04-08 04:33:09,491 INFO L290 TraceCheckUtils]: 14: Hoare triple {1217#true} ~cond := #in~cond; {1217#true} is VALID [2022-04-08 04:33:09,491 INFO L272 TraceCheckUtils]: 13: Hoare triple {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1217#true} is VALID [2022-04-08 04:33:09,491 INFO L290 TraceCheckUtils]: 12: Hoare triple {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !false; {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 04:33:11,493 WARN L290 TraceCheckUtils]: 11: Hoare triple {1217#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1325#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is UNKNOWN [2022-04-08 04:33:11,493 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1217#true} {1217#true} #58#return; {1217#true} is VALID [2022-04-08 04:33:11,494 INFO L290 TraceCheckUtils]: 9: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-08 04:33:11,494 INFO L290 TraceCheckUtils]: 8: Hoare triple {1217#true} assume !(0 == ~cond); {1217#true} is VALID [2022-04-08 04:33:11,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {1217#true} ~cond := #in~cond; {1217#true} is VALID [2022-04-08 04:33:11,494 INFO L272 TraceCheckUtils]: 6: Hoare triple {1217#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1217#true} is VALID [2022-04-08 04:33:11,494 INFO L290 TraceCheckUtils]: 5: Hoare triple {1217#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1217#true} is VALID [2022-04-08 04:33:11,494 INFO L272 TraceCheckUtils]: 4: Hoare triple {1217#true} call #t~ret6 := main(); {1217#true} is VALID [2022-04-08 04:33:11,494 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1217#true} {1217#true} #64#return; {1217#true} is VALID [2022-04-08 04:33:11,494 INFO L290 TraceCheckUtils]: 2: Hoare triple {1217#true} assume true; {1217#true} is VALID [2022-04-08 04:33:11,494 INFO L290 TraceCheckUtils]: 1: Hoare triple {1217#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(13, 2);call #Ultimate.allocInit(12, 3); {1217#true} is VALID [2022-04-08 04:33:11,494 INFO L272 TraceCheckUtils]: 0: Hoare triple {1217#true} call ULTIMATE.init(); {1217#true} is VALID [2022-04-08 04:33:11,495 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-08 04:33:11,495 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:33:11,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1204755757] [2022-04-08 04:33:11,495 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:33:11,495 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [731779818] [2022-04-08 04:33:11,495 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [731779818] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 04:33:11,495 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:33:11,495 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [10] total 13 [2022-04-08 04:33:11,496 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:33:11,496 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1799779986] [2022-04-08 04:33:11,496 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1799779986] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:33:11,496 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:33:11,496 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 04:33:11,496 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1229878893] [2022-04-08 04:33:11,496 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:33:11,497 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-04-08 04:33:11,497 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:33:11,497 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:33:11,895 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-08 04:33:11,896 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 04:33:11,896 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:33:11,896 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 04:33:11,896 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-08 04:33:11,897 INFO L87 Difference]: Start difference. First operand 40 states and 43 transitions. Second operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:33:12,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:33:12,752 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-08 04:33:12,752 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 04:33:12,752 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 26 [2022-04-08 04:33:12,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:33:12,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:33:12,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 41 transitions. [2022-04-08 04:33:12,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:33:12,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 41 transitions. [2022-04-08 04:33:12,755 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 41 transitions. [2022-04-08 04:33:12,791 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:33:12,792 INFO L225 Difference]: With dead ends: 53 [2022-04-08 04:33:12,793 INFO L226 Difference]: Without dead ends: 51 [2022-04-08 04:33:12,793 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 39 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 5.6s TimeCoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:33:12,793 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 8 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 95 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:33:12,794 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 95 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-08 04:33:12,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-08 04:33:12,826 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 49. [2022-04-08 04:33:12,826 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:33:12,826 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:33:12,826 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:33:12,826 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:33:12,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:33:12,828 INFO L93 Difference]: Finished difference Result 51 states and 56 transitions. [2022-04-08 04:33:12,828 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 56 transitions. [2022-04-08 04:33:12,828 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:33:12,828 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:33:12,828 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 51 states. [2022-04-08 04:33:12,829 INFO L87 Difference]: Start difference. First operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 51 states. [2022-04-08 04:33:12,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:33:12,830 INFO L93 Difference]: Finished difference Result 51 states and 56 transitions. [2022-04-08 04:33:12,830 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 56 transitions. [2022-04-08 04:33:12,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:33:12,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:33:12,830 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:33:12,830 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:33:12,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:33:12,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 54 transitions. [2022-04-08 04:33:12,832 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 54 transitions. Word has length 26 [2022-04-08 04:33:12,832 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:33:12,832 INFO L478 AbstractCegarLoop]: Abstraction has 49 states and 54 transitions. [2022-04-08 04:33:12,832 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-08 04:33:12,832 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 54 transitions. [2022-04-08 04:33:12,912 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:33:12,913 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-08 04:33:12,913 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 04:33:12,913 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:33:12,913 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] [2022-04-08 04:33:12,931 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-08 04:33:13,114 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-08 04:33:13,114 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:33:13,114 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:33:13,114 INFO L85 PathProgramCache]: Analyzing trace with hash 730472692, now seen corresponding path program 1 times [2022-04-08 04:33:13,114 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:33:13,114 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [56089294] [2022-04-08 04:33:15,255 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:33:15,255 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:33:15,255 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:33:15,255 INFO L85 PathProgramCache]: Analyzing trace with hash 730472692, now seen corresponding path program 2 times [2022-04-08 04:33:15,255 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:33:15,255 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1969454070] [2022-04-08 04:33:15,255 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:33:15,256 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:33:15,264 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:33:15,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1020345229] [2022-04-08 04:33:15,264 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:33:15,264 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:33:15,264 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:33:15,265 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-08 04:33:15,266 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-08 04:33:15,307 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:33:15,308 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:33:15,308 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 04:33:15,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:33:15,314 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:33:23,821 INFO L272 TraceCheckUtils]: 0: Hoare triple {1695#true} call ULTIMATE.init(); {1695#true} is VALID [2022-04-08 04:33:23,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {1695#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(13, 2);call #Ultimate.allocInit(12, 3); {1695#true} is VALID [2022-04-08 04:33:23,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-08 04:33:23,822 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1695#true} {1695#true} #64#return; {1695#true} is VALID [2022-04-08 04:33:23,822 INFO L272 TraceCheckUtils]: 4: Hoare triple {1695#true} call #t~ret6 := main(); {1695#true} is VALID [2022-04-08 04:33:23,822 INFO L290 TraceCheckUtils]: 5: Hoare triple {1695#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1695#true} is VALID [2022-04-08 04:33:23,822 INFO L272 TraceCheckUtils]: 6: Hoare triple {1695#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1695#true} is VALID [2022-04-08 04:33:23,822 INFO L290 TraceCheckUtils]: 7: Hoare triple {1695#true} ~cond := #in~cond; {1695#true} is VALID [2022-04-08 04:33:23,822 INFO L290 TraceCheckUtils]: 8: Hoare triple {1695#true} assume !(0 == ~cond); {1695#true} is VALID [2022-04-08 04:33:23,822 INFO L290 TraceCheckUtils]: 9: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-08 04:33:23,822 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1695#true} {1695#true} #58#return; {1695#true} is VALID [2022-04-08 04:33:23,822 INFO L290 TraceCheckUtils]: 11: Hoare triple {1695#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1695#true} is VALID [2022-04-08 04:33:23,822 INFO L290 TraceCheckUtils]: 12: Hoare triple {1695#true} assume !false; {1695#true} is VALID [2022-04-08 04:33:23,822 INFO L272 TraceCheckUtils]: 13: Hoare triple {1695#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1695#true} is VALID [2022-04-08 04:33:23,823 INFO L290 TraceCheckUtils]: 14: Hoare triple {1695#true} ~cond := #in~cond; {1695#true} is VALID [2022-04-08 04:33:23,823 INFO L290 TraceCheckUtils]: 15: Hoare triple {1695#true} assume !(0 == ~cond); {1695#true} is VALID [2022-04-08 04:33:23,823 INFO L290 TraceCheckUtils]: 16: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-08 04:33:23,823 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1695#true} {1695#true} #60#return; {1695#true} is VALID [2022-04-08 04:33:23,823 INFO L290 TraceCheckUtils]: 18: Hoare triple {1695#true} assume !!(0 != ~y~0); {1695#true} is VALID [2022-04-08 04:33:23,823 INFO L290 TraceCheckUtils]: 19: Hoare triple {1695#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1695#true} is VALID [2022-04-08 04:33:23,823 INFO L290 TraceCheckUtils]: 20: Hoare triple {1695#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1695#true} is VALID [2022-04-08 04:33:23,823 INFO L290 TraceCheckUtils]: 21: Hoare triple {1695#true} assume !false; {1695#true} is VALID [2022-04-08 04:33:23,823 INFO L272 TraceCheckUtils]: 22: Hoare triple {1695#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1695#true} is VALID [2022-04-08 04:33:23,827 INFO L290 TraceCheckUtils]: 23: Hoare triple {1695#true} ~cond := #in~cond; {1769#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:23,827 INFO L290 TraceCheckUtils]: 24: Hoare triple {1769#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:23,828 INFO L290 TraceCheckUtils]: 25: Hoare triple {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:25,831 WARN L284 TraceCheckUtils]: 26: Hoare quadruple {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} {1695#true} #60#return; {1780#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-08 04:33:25,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {1780#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {1784#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:33:25,832 INFO L272 TraceCheckUtils]: 28: Hoare triple {1784#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1788#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:33:25,832 INFO L290 TraceCheckUtils]: 29: Hoare triple {1788#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1792#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:25,833 INFO L290 TraceCheckUtils]: 30: Hoare triple {1792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1696#false} is VALID [2022-04-08 04:33:25,833 INFO L290 TraceCheckUtils]: 31: Hoare triple {1696#false} assume !false; {1696#false} is VALID [2022-04-08 04:33:25,833 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 04:33:25,833 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:33:38,479 INFO L290 TraceCheckUtils]: 31: Hoare triple {1696#false} assume !false; {1696#false} is VALID [2022-04-08 04:33:38,479 INFO L290 TraceCheckUtils]: 30: Hoare triple {1792#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1696#false} is VALID [2022-04-08 04:33:38,480 INFO L290 TraceCheckUtils]: 29: Hoare triple {1788#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1792#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:38,480 INFO L272 TraceCheckUtils]: 28: Hoare triple {1784#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1788#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:33:38,481 INFO L290 TraceCheckUtils]: 27: Hoare triple {1811#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {1784#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:33:38,482 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} {1695#true} #60#return; {1811#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:33:38,482 INFO L290 TraceCheckUtils]: 25: Hoare triple {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:38,482 INFO L290 TraceCheckUtils]: 24: Hoare triple {1824#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1773#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:38,483 INFO L290 TraceCheckUtils]: 23: Hoare triple {1695#true} ~cond := #in~cond; {1824#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:33:38,483 INFO L272 TraceCheckUtils]: 22: Hoare triple {1695#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1695#true} is VALID [2022-04-08 04:33:38,483 INFO L290 TraceCheckUtils]: 21: Hoare triple {1695#true} assume !false; {1695#true} is VALID [2022-04-08 04:33:38,483 INFO L290 TraceCheckUtils]: 20: Hoare triple {1695#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1695#true} is VALID [2022-04-08 04:33:38,483 INFO L290 TraceCheckUtils]: 19: Hoare triple {1695#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1695#true} is VALID [2022-04-08 04:33:38,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {1695#true} assume !!(0 != ~y~0); {1695#true} is VALID [2022-04-08 04:33:38,483 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1695#true} {1695#true} #60#return; {1695#true} is VALID [2022-04-08 04:33:38,484 INFO L290 TraceCheckUtils]: 16: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-08 04:33:38,484 INFO L290 TraceCheckUtils]: 15: Hoare triple {1695#true} assume !(0 == ~cond); {1695#true} is VALID [2022-04-08 04:33:38,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {1695#true} ~cond := #in~cond; {1695#true} is VALID [2022-04-08 04:33:38,484 INFO L272 TraceCheckUtils]: 13: Hoare triple {1695#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1695#true} is VALID [2022-04-08 04:33:38,484 INFO L290 TraceCheckUtils]: 12: Hoare triple {1695#true} assume !false; {1695#true} is VALID [2022-04-08 04:33:38,484 INFO L290 TraceCheckUtils]: 11: Hoare triple {1695#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1695#true} is VALID [2022-04-08 04:33:38,484 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1695#true} {1695#true} #58#return; {1695#true} is VALID [2022-04-08 04:33:38,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-08 04:33:38,484 INFO L290 TraceCheckUtils]: 8: Hoare triple {1695#true} assume !(0 == ~cond); {1695#true} is VALID [2022-04-08 04:33:38,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {1695#true} ~cond := #in~cond; {1695#true} is VALID [2022-04-08 04:33:38,485 INFO L272 TraceCheckUtils]: 6: Hoare triple {1695#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1695#true} is VALID [2022-04-08 04:33:38,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {1695#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1695#true} is VALID [2022-04-08 04:33:38,485 INFO L272 TraceCheckUtils]: 4: Hoare triple {1695#true} call #t~ret6 := main(); {1695#true} is VALID [2022-04-08 04:33:38,485 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1695#true} {1695#true} #64#return; {1695#true} is VALID [2022-04-08 04:33:38,485 INFO L290 TraceCheckUtils]: 2: Hoare triple {1695#true} assume true; {1695#true} is VALID [2022-04-08 04:33:38,485 INFO L290 TraceCheckUtils]: 1: Hoare triple {1695#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(13, 2);call #Ultimate.allocInit(12, 3); {1695#true} is VALID [2022-04-08 04:33:38,485 INFO L272 TraceCheckUtils]: 0: Hoare triple {1695#true} call ULTIMATE.init(); {1695#true} is VALID [2022-04-08 04:33:38,486 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-04-08 04:33:38,486 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:33:38,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1969454070] [2022-04-08 04:33:38,486 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:33:38,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1020345229] [2022-04-08 04:33:38,486 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1020345229] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:33:38,486 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:33:38,486 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-08 04:33:38,486 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:33:38,487 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [56089294] [2022-04-08 04:33:38,487 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [56089294] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:33:38,487 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:33:38,487 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 04:33:38,487 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [723586304] [2022-04-08 04:33:38,487 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:33:38,487 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 32 [2022-04-08 04:33:38,487 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:33:38,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 04:33:40,507 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 29 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:33:40,507 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 04:33:40,507 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:33:40,508 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 04:33:40,508 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 04:33:40,508 INFO L87 Difference]: Start difference. First operand 49 states and 54 transitions. Second operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 04:33:42,545 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-08 04:33:43,208 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:33:43,208 INFO L93 Difference]: Finished difference Result 56 states and 60 transitions. [2022-04-08 04:33:43,208 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 04:33:43,209 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 32 [2022-04-08 04:33:43,209 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:33:43,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 04:33:43,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 32 transitions. [2022-04-08 04:33:43,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 04:33:43,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 32 transitions. [2022-04-08 04:33:43,211 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 32 transitions. [2022-04-08 04:33:45,237 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 31 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:33:45,238 INFO L225 Difference]: With dead ends: 56 [2022-04-08 04:33:45,238 INFO L226 Difference]: Without dead ends: 49 [2022-04-08 04:33:45,238 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 54 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-08 04:33:45,240 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 13 mSDsluCounter, 72 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 91 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:33:45,240 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 91 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 62 Invalid, 1 Unknown, 0 Unchecked, 2.4s Time] [2022-04-08 04:33:45,240 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-08 04:33:45,268 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 47. [2022-04-08 04:33:45,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:33:45,269 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:33:45,269 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:33:45,269 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:33:45,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:33:45,270 INFO L93 Difference]: Finished difference Result 49 states and 52 transitions. [2022-04-08 04:33:45,270 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 52 transitions. [2022-04-08 04:33:45,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:33:45,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:33:45,271 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 49 states. [2022-04-08 04:33:45,271 INFO L87 Difference]: Start difference. First operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 49 states. [2022-04-08 04:33:45,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:33:45,272 INFO L93 Difference]: Finished difference Result 49 states and 52 transitions. [2022-04-08 04:33:45,272 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 52 transitions. [2022-04-08 04:33:45,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:33:45,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:33:45,272 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:33:45,272 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:33:45,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 7 states have call successors, (7), 7 states have call predecessors, (7), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-08 04:33:45,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 50 transitions. [2022-04-08 04:33:45,274 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 50 transitions. Word has length 32 [2022-04-08 04:33:45,274 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:33:45,274 INFO L478 AbstractCegarLoop]: Abstraction has 47 states and 50 transitions. [2022-04-08 04:33:45,274 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-08 04:33:45,274 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 50 transitions. [2022-04-08 04:33:53,370 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 46 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-08 04:33:53,370 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 50 transitions. [2022-04-08 04:33:53,370 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-08 04:33:53,370 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:33:53,370 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:33:53,388 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-08 04:33:53,575 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-08 04:33:53,576 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:33:53,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:33:53,576 INFO L85 PathProgramCache]: Analyzing trace with hash 1040303587, now seen corresponding path program 3 times [2022-04-08 04:33:53,578 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:33:53,578 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [321655543] [2022-04-08 04:33:57,620 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:33:57,621 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:33:57,621 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:33:57,621 INFO L85 PathProgramCache]: Analyzing trace with hash 1040303587, now seen corresponding path program 4 times [2022-04-08 04:33:57,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:33:57,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1573957197] [2022-04-08 04:33:57,621 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:33:57,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:33:57,630 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:33:57,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1418270584] [2022-04-08 04:33:57,630 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:33:57,630 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:33:57,630 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:33:57,631 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-08 04:33:57,632 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-08 04:33:57,664 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:33:57,664 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:33:57,674 INFO L263 TraceCheckSpWp]: Trace formula consists of 73 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 04:33:57,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:33:57,686 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:34:00,219 INFO L272 TraceCheckUtils]: 0: Hoare triple {2204#true} call ULTIMATE.init(); {2204#true} is VALID [2022-04-08 04:34:00,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {2204#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(13, 2);call #Ultimate.allocInit(12, 3); {2204#true} is VALID [2022-04-08 04:34:00,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {2204#true} assume true; {2204#true} is VALID [2022-04-08 04:34:00,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2204#true} {2204#true} #64#return; {2204#true} is VALID [2022-04-08 04:34:00,220 INFO L272 TraceCheckUtils]: 4: Hoare triple {2204#true} call #t~ret6 := main(); {2204#true} is VALID [2022-04-08 04:34:00,220 INFO L290 TraceCheckUtils]: 5: Hoare triple {2204#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2204#true} is VALID [2022-04-08 04:34:00,220 INFO L272 TraceCheckUtils]: 6: Hoare triple {2204#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2204#true} is VALID [2022-04-08 04:34:00,220 INFO L290 TraceCheckUtils]: 7: Hoare triple {2204#true} ~cond := #in~cond; {2230#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:34:00,220 INFO L290 TraceCheckUtils]: 8: Hoare triple {2230#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2234#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:34:00,221 INFO L290 TraceCheckUtils]: 9: Hoare triple {2234#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2234#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:34:00,221 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2234#(not (= |assume_abort_if_not_#in~cond| 0))} {2204#true} #58#return; {2241#(<= 1 main_~b~0)} is VALID [2022-04-08 04:34:00,221 INFO L290 TraceCheckUtils]: 11: Hoare triple {2241#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:34:00,222 INFO L290 TraceCheckUtils]: 12: Hoare triple {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:34:00,222 INFO L272 TraceCheckUtils]: 13: Hoare triple {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2204#true} is VALID [2022-04-08 04:34:00,222 INFO L290 TraceCheckUtils]: 14: Hoare triple {2204#true} ~cond := #in~cond; {2255#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:34:00,223 INFO L290 TraceCheckUtils]: 15: Hoare triple {2255#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:00,223 INFO L290 TraceCheckUtils]: 16: Hoare triple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:00,224 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #60#return; {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:34:00,224 INFO L290 TraceCheckUtils]: 18: Hoare triple {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:34:00,225 INFO L290 TraceCheckUtils]: 19: Hoare triple {2245#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2272#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:34:00,225 INFO L290 TraceCheckUtils]: 20: Hoare triple {2272#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:34:00,226 INFO L290 TraceCheckUtils]: 21: Hoare triple {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:34:00,226 INFO L272 TraceCheckUtils]: 22: Hoare triple {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2204#true} is VALID [2022-04-08 04:34:00,226 INFO L290 TraceCheckUtils]: 23: Hoare triple {2204#true} ~cond := #in~cond; {2204#true} is VALID [2022-04-08 04:34:00,226 INFO L290 TraceCheckUtils]: 24: Hoare triple {2204#true} assume !(0 == ~cond); {2204#true} is VALID [2022-04-08 04:34:00,226 INFO L290 TraceCheckUtils]: 25: Hoare triple {2204#true} assume true; {2204#true} is VALID [2022-04-08 04:34:00,227 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2204#true} {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #60#return; {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:34:00,227 INFO L290 TraceCheckUtils]: 27: Hoare triple {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:34:00,228 INFO L290 TraceCheckUtils]: 28: Hoare triple {2276#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2301#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:34:00,229 INFO L290 TraceCheckUtils]: 29: Hoare triple {2301#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2305#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:34:00,230 INFO L290 TraceCheckUtils]: 30: Hoare triple {2305#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {2305#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:34:00,232 INFO L272 TraceCheckUtils]: 31: Hoare triple {2305#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2312#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:34:00,233 INFO L290 TraceCheckUtils]: 32: Hoare triple {2312#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2316#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:34:00,233 INFO L290 TraceCheckUtils]: 33: Hoare triple {2316#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2205#false} is VALID [2022-04-08 04:34:00,233 INFO L290 TraceCheckUtils]: 34: Hoare triple {2205#false} assume !false; {2205#false} is VALID [2022-04-08 04:34:00,233 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 3 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:34:00,233 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:34:48,228 INFO L290 TraceCheckUtils]: 34: Hoare triple {2205#false} assume !false; {2205#false} is VALID [2022-04-08 04:34:48,228 INFO L290 TraceCheckUtils]: 33: Hoare triple {2316#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2205#false} is VALID [2022-04-08 04:34:48,229 INFO L290 TraceCheckUtils]: 32: Hoare triple {2312#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2316#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:34:48,230 INFO L272 TraceCheckUtils]: 31: Hoare triple {2332#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2312#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:34:48,230 INFO L290 TraceCheckUtils]: 30: Hoare triple {2332#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2332#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:34:48,234 INFO L290 TraceCheckUtils]: 29: Hoare triple {2339#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2332#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:34:48,235 INFO L290 TraceCheckUtils]: 28: Hoare triple {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2339#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-08 04:34:48,236 INFO L290 TraceCheckUtils]: 27: Hoare triple {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 04:34:48,236 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2204#true} {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #60#return; {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 04:34:48,236 INFO L290 TraceCheckUtils]: 25: Hoare triple {2204#true} assume true; {2204#true} is VALID [2022-04-08 04:34:48,236 INFO L290 TraceCheckUtils]: 24: Hoare triple {2204#true} assume !(0 == ~cond); {2204#true} is VALID [2022-04-08 04:34:48,237 INFO L290 TraceCheckUtils]: 23: Hoare triple {2204#true} ~cond := #in~cond; {2204#true} is VALID [2022-04-08 04:34:48,237 INFO L272 TraceCheckUtils]: 22: Hoare triple {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2204#true} is VALID [2022-04-08 04:34:48,238 INFO L290 TraceCheckUtils]: 21: Hoare triple {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 04:34:48,291 INFO L290 TraceCheckUtils]: 20: Hoare triple {2368#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2343#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 04:34:48,292 INFO L290 TraceCheckUtils]: 19: Hoare triple {2372#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2368#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} is VALID [2022-04-08 04:34:48,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {2372#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(0 != ~y~0); {2372#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-08 04:34:48,306 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} #60#return; {2372#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-08 04:34:48,306 INFO L290 TraceCheckUtils]: 16: Hoare triple {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:48,306 INFO L290 TraceCheckUtils]: 15: Hoare triple {2389#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2259#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:48,307 INFO L290 TraceCheckUtils]: 14: Hoare triple {2204#true} ~cond := #in~cond; {2389#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:34:48,307 INFO L272 TraceCheckUtils]: 13: Hoare triple {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2204#true} is VALID [2022-04-08 04:34:48,307 INFO L290 TraceCheckUtils]: 12: Hoare triple {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} assume !false; {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} is VALID [2022-04-08 04:34:48,308 INFO L290 TraceCheckUtils]: 11: Hoare triple {2399#(or (forall ((main_~a~0 Int)) (= (* (* main_~a~0 (div (+ (div main_~b~0 2) 1) 2)) 4) (* main_~b~0 main_~a~0))) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2379#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* main_~x~0 (div (+ (div main_~y~0 2) 1) 2))) main_~z~0)))} is VALID [2022-04-08 04:34:48,309 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2234#(not (= |assume_abort_if_not_#in~cond| 0))} {2204#true} #58#return; {2399#(or (forall ((main_~a~0 Int)) (= (* (* main_~a~0 (div (+ (div main_~b~0 2) 1) 2)) 4) (* main_~b~0 main_~a~0))) (<= 0 main_~b~0))} is VALID [2022-04-08 04:34:48,309 INFO L290 TraceCheckUtils]: 9: Hoare triple {2234#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2234#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:34:48,309 INFO L290 TraceCheckUtils]: 8: Hoare triple {2412#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2234#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:34:48,310 INFO L290 TraceCheckUtils]: 7: Hoare triple {2204#true} ~cond := #in~cond; {2412#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 04:34:48,310 INFO L272 TraceCheckUtils]: 6: Hoare triple {2204#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2204#true} is VALID [2022-04-08 04:34:48,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {2204#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2204#true} is VALID [2022-04-08 04:34:48,310 INFO L272 TraceCheckUtils]: 4: Hoare triple {2204#true} call #t~ret6 := main(); {2204#true} is VALID [2022-04-08 04:34:48,310 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2204#true} {2204#true} #64#return; {2204#true} is VALID [2022-04-08 04:34:48,310 INFO L290 TraceCheckUtils]: 2: Hoare triple {2204#true} assume true; {2204#true} is VALID [2022-04-08 04:34:48,310 INFO L290 TraceCheckUtils]: 1: Hoare triple {2204#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(13, 2);call #Ultimate.allocInit(12, 3); {2204#true} is VALID [2022-04-08 04:34:48,310 INFO L272 TraceCheckUtils]: 0: Hoare triple {2204#true} call ULTIMATE.init(); {2204#true} is VALID [2022-04-08 04:34:48,311 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 3 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:34:48,311 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:34:48,311 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1573957197] [2022-04-08 04:34:48,311 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:34:48,311 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1418270584] [2022-04-08 04:34:48,311 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1418270584] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:34:48,311 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:34:48,311 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 15] total 23 [2022-04-08 04:34:48,311 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:34:48,311 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [321655543] [2022-04-08 04:34:48,311 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [321655543] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:34:48,311 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:34:48,311 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:34:48,311 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [681971265] [2022-04-08 04:34:48,312 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:34:48,312 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-08 04:34:48,312 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:34:48,312 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:34:48,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:34:48,340 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:34:48,340 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:34:48,340 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:34:48,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=416, Unknown=0, NotChecked=0, Total=506 [2022-04-08 04:34:48,340 INFO L87 Difference]: Start difference. First operand 47 states and 50 transitions. Second operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:34:49,435 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:49,435 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2022-04-08 04:34:49,435 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 04:34:49,436 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-08 04:34:49,436 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:34:49,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:34:49,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 50 transitions. [2022-04-08 04:34:49,441 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:34:49,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 50 transitions. [2022-04-08 04:34:49,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 50 transitions. [2022-04-08 04:34:49,483 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:34:49,484 INFO L225 Difference]: With dead ends: 61 [2022-04-08 04:34:49,484 INFO L226 Difference]: Without dead ends: 59 [2022-04-08 04:34:49,485 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 46 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 133 ImplicationChecksByTransitivity, 3.2s TimeCoverageRelationStatistics Valid=108, Invalid=542, Unknown=0, NotChecked=0, Total=650 [2022-04-08 04:34:49,485 INFO L913 BasicCegarLoop]: 17 mSDtfsCounter, 28 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 278 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 140 SdHoareTripleChecker+Invalid, 287 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 278 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 04:34:49,485 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 140 Invalid, 287 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 278 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 04:34:49,486 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2022-04-08 04:34:49,516 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 56. [2022-04-08 04:34:49,517 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:34:49,517 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:34:49,517 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:34:49,517 INFO L87 Difference]: Start difference. First operand 59 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:34:49,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:49,520 INFO L93 Difference]: Finished difference Result 59 states and 64 transitions. [2022-04-08 04:34:49,520 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-08 04:34:49,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:34:49,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:34:49,521 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 59 states. [2022-04-08 04:34:49,521 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 59 states. [2022-04-08 04:34:49,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:49,522 INFO L93 Difference]: Finished difference Result 59 states and 64 transitions. [2022-04-08 04:34:49,522 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 64 transitions. [2022-04-08 04:34:49,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:34:49,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:34:49,522 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:34:49,522 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:34:49,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:34:49,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 60 transitions. [2022-04-08 04:34:49,524 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 60 transitions. Word has length 35 [2022-04-08 04:34:49,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:34:49,524 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 60 transitions. [2022-04-08 04:34:49,524 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:34:49,524 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 60 transitions. [2022-04-08 04:34:59,652 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 55 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-08 04:34:59,653 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 60 transitions. [2022-04-08 04:34:59,653 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-08 04:34:59,653 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:34:59,653 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:34:59,669 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-08 04:34:59,853 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-08 04:34:59,856 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:34:59,856 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:34:59,856 INFO L85 PathProgramCache]: Analyzing trace with hash -734703775, now seen corresponding path program 1 times [2022-04-08 04:34:59,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:34:59,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1297661844] [2022-04-08 04:35:05,281 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:35:05,281 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:35:05,281 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:35:05,281 INFO L85 PathProgramCache]: Analyzing trace with hash -734703775, now seen corresponding path program 2 times [2022-04-08 04:35:05,281 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:35:05,281 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2096145082] [2022-04-08 04:35:05,281 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:35:05,281 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:35:05,291 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:35:05,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1299744029] [2022-04-08 04:35:05,291 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:35:05,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:35:05,292 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:35:05,298 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-08 04:35:05,299 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-08 04:35:05,337 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:35:05,337 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:35:05,338 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 04:35:05,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:35:05,356 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:35:09,847 INFO L272 TraceCheckUtils]: 0: Hoare triple {2794#true} call ULTIMATE.init(); {2794#true} is VALID [2022-04-08 04:35:09,847 INFO L290 TraceCheckUtils]: 1: Hoare triple {2794#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(13, 2);call #Ultimate.allocInit(12, 3); {2794#true} is VALID [2022-04-08 04:35:09,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-08 04:35:09,847 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2794#true} {2794#true} #64#return; {2794#true} is VALID [2022-04-08 04:35:09,848 INFO L272 TraceCheckUtils]: 4: Hoare triple {2794#true} call #t~ret6 := main(); {2794#true} is VALID [2022-04-08 04:35:09,848 INFO L290 TraceCheckUtils]: 5: Hoare triple {2794#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2794#true} is VALID [2022-04-08 04:35:09,848 INFO L272 TraceCheckUtils]: 6: Hoare triple {2794#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2794#true} is VALID [2022-04-08 04:35:09,849 INFO L290 TraceCheckUtils]: 7: Hoare triple {2794#true} ~cond := #in~cond; {2820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:35:09,849 INFO L290 TraceCheckUtils]: 8: Hoare triple {2820#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:35:09,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {2824#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2824#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:35:09,850 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2824#(not (= |assume_abort_if_not_#in~cond| 0))} {2794#true} #58#return; {2831#(<= 1 main_~b~0)} is VALID [2022-04-08 04:35:09,850 INFO L290 TraceCheckUtils]: 11: Hoare triple {2831#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:35:09,850 INFO L290 TraceCheckUtils]: 12: Hoare triple {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:35:09,850 INFO L272 TraceCheckUtils]: 13: Hoare triple {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2794#true} is VALID [2022-04-08 04:35:09,851 INFO L290 TraceCheckUtils]: 14: Hoare triple {2794#true} ~cond := #in~cond; {2845#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:35:09,851 INFO L290 TraceCheckUtils]: 15: Hoare triple {2845#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:09,851 INFO L290 TraceCheckUtils]: 16: Hoare triple {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:09,852 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #60#return; {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:35:09,852 INFO L290 TraceCheckUtils]: 18: Hoare triple {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:35:09,853 INFO L290 TraceCheckUtils]: 19: Hoare triple {2835#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2862#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:35:09,854 INFO L290 TraceCheckUtils]: 20: Hoare triple {2862#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:35:09,854 INFO L290 TraceCheckUtils]: 21: Hoare triple {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:35:09,854 INFO L272 TraceCheckUtils]: 22: Hoare triple {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2794#true} is VALID [2022-04-08 04:35:09,854 INFO L290 TraceCheckUtils]: 23: Hoare triple {2794#true} ~cond := #in~cond; {2794#true} is VALID [2022-04-08 04:35:09,854 INFO L290 TraceCheckUtils]: 24: Hoare triple {2794#true} assume !(0 == ~cond); {2794#true} is VALID [2022-04-08 04:35:09,854 INFO L290 TraceCheckUtils]: 25: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-08 04:35:09,855 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2794#true} {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #60#return; {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:35:09,855 INFO L290 TraceCheckUtils]: 27: Hoare triple {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:35:09,856 INFO L290 TraceCheckUtils]: 28: Hoare triple {2866#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2891#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-08 04:35:09,857 INFO L290 TraceCheckUtils]: 29: Hoare triple {2891#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2895#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-08 04:35:09,858 INFO L290 TraceCheckUtils]: 30: Hoare triple {2895#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {2895#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-08 04:35:09,945 INFO L272 TraceCheckUtils]: 31: Hoare triple {2895#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2902#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:35:09,945 INFO L290 TraceCheckUtils]: 32: Hoare triple {2902#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2906#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:35:09,946 INFO L290 TraceCheckUtils]: 33: Hoare triple {2906#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2795#false} is VALID [2022-04-08 04:35:09,946 INFO L290 TraceCheckUtils]: 34: Hoare triple {2795#false} assume !false; {2795#false} is VALID [2022-04-08 04:35:09,946 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 3 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:35:09,946 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:37:58,047 INFO L290 TraceCheckUtils]: 34: Hoare triple {2795#false} assume !false; {2795#false} is VALID [2022-04-08 04:37:58,048 INFO L290 TraceCheckUtils]: 33: Hoare triple {2906#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2795#false} is VALID [2022-04-08 04:37:58,048 INFO L290 TraceCheckUtils]: 32: Hoare triple {2902#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2906#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:37:58,049 INFO L272 TraceCheckUtils]: 31: Hoare triple {2922#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2902#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:37:58,049 INFO L290 TraceCheckUtils]: 30: Hoare triple {2922#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2922#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:37:58,054 INFO L290 TraceCheckUtils]: 29: Hoare triple {2929#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2922#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:37:58,056 INFO L290 TraceCheckUtils]: 28: Hoare triple {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2929#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-08 04:37:58,056 INFO L290 TraceCheckUtils]: 27: Hoare triple {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 04:37:58,057 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2794#true} {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} #60#return; {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 04:37:58,057 INFO L290 TraceCheckUtils]: 25: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-08 04:37:58,057 INFO L290 TraceCheckUtils]: 24: Hoare triple {2794#true} assume !(0 == ~cond); {2794#true} is VALID [2022-04-08 04:37:58,057 INFO L290 TraceCheckUtils]: 23: Hoare triple {2794#true} ~cond := #in~cond; {2794#true} is VALID [2022-04-08 04:37:58,057 INFO L272 TraceCheckUtils]: 22: Hoare triple {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2794#true} is VALID [2022-04-08 04:37:58,057 INFO L290 TraceCheckUtils]: 21: Hoare triple {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !false; {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 04:37:58,083 INFO L290 TraceCheckUtils]: 20: Hoare triple {2958#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (< (div main_~y~0 2) 0) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2933#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 04:37:58,084 INFO L290 TraceCheckUtils]: 19: Hoare triple {2962#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (= (mod main_~y~0 2) 1) (<= (div (* (- 1) (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)) (< (div main_~y~0 2) 0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2958#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (< (div main_~y~0 2) 0) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))} is VALID [2022-04-08 04:37:58,085 INFO L290 TraceCheckUtils]: 18: Hoare triple {2962#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (= (mod main_~y~0 2) 1) (<= (div (* (- 1) (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)) (< (div main_~y~0 2) 0))} assume !!(0 != ~y~0); {2962#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (= (mod main_~y~0 2) 1) (<= (div (* (- 1) (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)) (< (div main_~y~0 2) 0))} is VALID [2022-04-08 04:37:58,836 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} {2794#true} #60#return; {2962#(or (forall ((aux_div_aux_mod_v_main_~y~0_61_22_75 Int)) (or (< (div main_~y~0 2) (+ 1 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75))) (= (* main_~b~0 main_~a~0) (+ (* main_~x~0 2) (* (* main_~x~0 aux_div_aux_mod_v_main_~y~0_61_22_75) 4) main_~z~0)) (<= (+ 3 (* 2 aux_div_aux_mod_v_main_~y~0_61_22_75)) (div main_~y~0 2)))) (= (mod main_~y~0 2) 1) (<= (div (* (- 1) (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)) (< (div main_~y~0 2) 0))} is VALID [2022-04-08 04:37:58,837 INFO L290 TraceCheckUtils]: 16: Hoare triple {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:58,837 INFO L290 TraceCheckUtils]: 15: Hoare triple {2978#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2849#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:37:58,838 INFO L290 TraceCheckUtils]: 14: Hoare triple {2794#true} ~cond := #in~cond; {2978#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:37:58,838 INFO L272 TraceCheckUtils]: 13: Hoare triple {2794#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2794#true} is VALID [2022-04-08 04:37:58,838 INFO L290 TraceCheckUtils]: 12: Hoare triple {2794#true} assume !false; {2794#true} is VALID [2022-04-08 04:37:58,838 INFO L290 TraceCheckUtils]: 11: Hoare triple {2794#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2794#true} is VALID [2022-04-08 04:37:58,838 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2794#true} {2794#true} #58#return; {2794#true} is VALID [2022-04-08 04:37:58,838 INFO L290 TraceCheckUtils]: 9: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-08 04:37:58,838 INFO L290 TraceCheckUtils]: 8: Hoare triple {2794#true} assume !(0 == ~cond); {2794#true} is VALID [2022-04-08 04:37:58,838 INFO L290 TraceCheckUtils]: 7: Hoare triple {2794#true} ~cond := #in~cond; {2794#true} is VALID [2022-04-08 04:37:58,838 INFO L272 TraceCheckUtils]: 6: Hoare triple {2794#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2794#true} is VALID [2022-04-08 04:37:58,838 INFO L290 TraceCheckUtils]: 5: Hoare triple {2794#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2794#true} is VALID [2022-04-08 04:37:58,838 INFO L272 TraceCheckUtils]: 4: Hoare triple {2794#true} call #t~ret6 := main(); {2794#true} is VALID [2022-04-08 04:37:58,838 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2794#true} {2794#true} #64#return; {2794#true} is VALID [2022-04-08 04:37:58,838 INFO L290 TraceCheckUtils]: 2: Hoare triple {2794#true} assume true; {2794#true} is VALID [2022-04-08 04:37:58,839 INFO L290 TraceCheckUtils]: 1: Hoare triple {2794#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(13, 2);call #Ultimate.allocInit(12, 3); {2794#true} is VALID [2022-04-08 04:37:58,839 INFO L272 TraceCheckUtils]: 0: Hoare triple {2794#true} call ULTIMATE.init(); {2794#true} is VALID [2022-04-08 04:37:58,839 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 10 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:37:58,839 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:37:58,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2096145082] [2022-04-08 04:37:58,839 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:37:58,839 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1299744029] [2022-04-08 04:37:58,839 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1299744029] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:37:58,839 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:37:58,839 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 11] total 20 [2022-04-08 04:37:58,839 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:37:58,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1297661844] [2022-04-08 04:37:58,840 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1297661844] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:37:58,840 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:37:58,840 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-08 04:37:58,840 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1302697188] [2022-04-08 04:37:58,840 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:37:58,840 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-08 04:37:58,840 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:37:58,840 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:37:58,940 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:37:58,940 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-08 04:37:58,940 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:37:58,941 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-08 04:37:58,941 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=309, Unknown=0, NotChecked=0, Total=380 [2022-04-08 04:37:58,941 INFO L87 Difference]: Start difference. First operand 56 states and 60 transitions. Second operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:38:03,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:38:03,165 INFO L93 Difference]: Finished difference Result 68 states and 73 transitions. [2022-04-08 04:38:03,165 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 04:38:03,165 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-08 04:38:03,165 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:38:03,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:38:03,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-08 04:38:03,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:38:03,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 51 transitions. [2022-04-08 04:38:03,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 51 transitions. [2022-04-08 04:38:03,831 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-08 04:38:03,832 INFO L225 Difference]: With dead ends: 68 [2022-04-08 04:38:03,832 INFO L226 Difference]: Without dead ends: 66 [2022-04-08 04:38:03,833 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 48 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 5.5s TimeCoverageRelationStatistics Valid=88, Invalid=418, Unknown=0, NotChecked=0, Total=506 [2022-04-08 04:38:03,833 INFO L913 BasicCegarLoop]: 17 mSDtfsCounter, 28 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 261 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 271 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 261 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:38:03,833 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 134 Invalid, 271 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 261 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-08 04:38:03,834 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-08 04:38:03,881 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 56. [2022-04-08 04:38:03,881 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:38:03,881 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:38:03,882 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:38:03,882 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:38:03,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:38:03,883 INFO L93 Difference]: Finished difference Result 66 states and 71 transitions. [2022-04-08 04:38:03,883 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2022-04-08 04:38:03,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:38:03,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:38:03,884 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 66 states. [2022-04-08 04:38:03,884 INFO L87 Difference]: Start difference. First operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 66 states. [2022-04-08 04:38:03,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:38:03,885 INFO L93 Difference]: Finished difference Result 66 states and 71 transitions. [2022-04-08 04:38:03,885 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 71 transitions. [2022-04-08 04:38:03,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:38:03,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:38:03,885 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:38:03,886 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:38:03,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 40 states have (on average 1.125) internal successors, (45), 41 states have internal predecessors, (45), 8 states have call successors, (8), 8 states have call predecessors, (8), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-08 04:38:03,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 60 transitions. [2022-04-08 04:38:03,887 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 60 transitions. Word has length 35 [2022-04-08 04:38:03,887 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:38:03,887 INFO L478 AbstractCegarLoop]: Abstraction has 56 states and 60 transitions. [2022-04-08 04:38:03,888 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 1.7857142857142858) internal successors, (25), 12 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:38:03,888 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 56 states and 60 transitions. [2022-04-08 04:38:14,316 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 55 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-08 04:38:14,317 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 60 transitions. [2022-04-08 04:38:14,317 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-08 04:38:14,317 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:38:14,317 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:38:14,336 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-08 04:38:14,517 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-08 04:38:14,518 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:38:14,518 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:38:14,518 INFO L85 PathProgramCache]: Analyzing trace with hash 2061371941, now seen corresponding path program 3 times [2022-04-08 04:38:14,518 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:38:14,518 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1371435527] [2022-04-08 04:38:20,708 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:38:20,708 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:38:20,708 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:38:20,708 INFO L85 PathProgramCache]: Analyzing trace with hash 2061371941, now seen corresponding path program 4 times [2022-04-08 04:38:20,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:38:20,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [593322792] [2022-04-08 04:38:20,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:38:20,708 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:38:20,726 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:38:20,726 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1479601375] [2022-04-08 04:38:20,726 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:38:20,726 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:38:20,726 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:38:20,727 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-08 04:38:20,728 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-08 04:38:20,759 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:38:20,760 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:38:20,760 INFO L263 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-08 04:38:25,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unknown [2022-04-08 04:38:25,506 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:38:32,502 INFO L272 TraceCheckUtils]: 0: Hoare triple {3409#true} call ULTIMATE.init(); {3409#true} is VALID [2022-04-08 04:38:32,503 INFO L290 TraceCheckUtils]: 1: Hoare triple {3409#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(13, 2);call #Ultimate.allocInit(12, 3); {3409#true} is VALID [2022-04-08 04:38:32,503 INFO L290 TraceCheckUtils]: 2: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-08 04:38:32,503 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3409#true} {3409#true} #64#return; {3409#true} is VALID [2022-04-08 04:38:32,503 INFO L272 TraceCheckUtils]: 4: Hoare triple {3409#true} call #t~ret6 := main(); {3409#true} is VALID [2022-04-08 04:38:32,503 INFO L290 TraceCheckUtils]: 5: Hoare triple {3409#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3409#true} is VALID [2022-04-08 04:38:32,503 INFO L272 TraceCheckUtils]: 6: Hoare triple {3409#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3409#true} is VALID [2022-04-08 04:38:32,503 INFO L290 TraceCheckUtils]: 7: Hoare triple {3409#true} ~cond := #in~cond; {3409#true} is VALID [2022-04-08 04:38:32,503 INFO L290 TraceCheckUtils]: 8: Hoare triple {3409#true} assume !(0 == ~cond); {3409#true} is VALID [2022-04-08 04:38:32,503 INFO L290 TraceCheckUtils]: 9: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-08 04:38:32,503 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3409#true} {3409#true} #58#return; {3409#true} is VALID [2022-04-08 04:38:32,507 INFO L290 TraceCheckUtils]: 11: Hoare triple {3409#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:38:32,507 INFO L290 TraceCheckUtils]: 12: Hoare triple {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:38:32,507 INFO L272 TraceCheckUtils]: 13: Hoare triple {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3409#true} is VALID [2022-04-08 04:38:32,508 INFO L290 TraceCheckUtils]: 14: Hoare triple {3409#true} ~cond := #in~cond; {3409#true} is VALID [2022-04-08 04:38:32,508 INFO L290 TraceCheckUtils]: 15: Hoare triple {3409#true} assume !(0 == ~cond); {3409#true} is VALID [2022-04-08 04:38:32,508 INFO L290 TraceCheckUtils]: 16: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-08 04:38:32,508 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3409#true} {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #60#return; {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:38:32,509 INFO L290 TraceCheckUtils]: 18: Hoare triple {3447#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3469#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:38:32,519 INFO L290 TraceCheckUtils]: 19: Hoare triple {3469#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3473#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:38:32,521 INFO L290 TraceCheckUtils]: 20: Hoare triple {3473#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-08 04:38:32,521 INFO L290 TraceCheckUtils]: 21: Hoare triple {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-08 04:38:32,521 INFO L272 TraceCheckUtils]: 22: Hoare triple {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3409#true} is VALID [2022-04-08 04:38:32,522 INFO L290 TraceCheckUtils]: 23: Hoare triple {3409#true} ~cond := #in~cond; {3487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:38:32,522 INFO L290 TraceCheckUtils]: 24: Hoare triple {3487#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:38:32,522 INFO L290 TraceCheckUtils]: 25: Hoare triple {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:38:32,523 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #60#return; {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-08 04:38:32,523 INFO L290 TraceCheckUtils]: 27: Hoare triple {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-08 04:38:32,524 INFO L290 TraceCheckUtils]: 28: Hoare triple {3477#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3504#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-08 04:38:32,525 INFO L290 TraceCheckUtils]: 29: Hoare triple {3504#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3508#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-08 04:38:32,526 INFO L290 TraceCheckUtils]: 30: Hoare triple {3508#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} assume !false; {3508#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-08 04:38:32,992 INFO L272 TraceCheckUtils]: 31: Hoare triple {3508#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3515#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:38:32,993 INFO L290 TraceCheckUtils]: 32: Hoare triple {3515#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3519#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:38:32,993 INFO L290 TraceCheckUtils]: 33: Hoare triple {3519#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3410#false} is VALID [2022-04-08 04:38:32,993 INFO L290 TraceCheckUtils]: 34: Hoare triple {3410#false} assume !false; {3410#false} is VALID [2022-04-08 04:38:32,993 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:38:32,993 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:41:08,150 INFO L290 TraceCheckUtils]: 34: Hoare triple {3410#false} assume !false; {3410#false} is VALID [2022-04-08 04:41:08,151 INFO L290 TraceCheckUtils]: 33: Hoare triple {3519#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3410#false} is VALID [2022-04-08 04:41:08,151 INFO L290 TraceCheckUtils]: 32: Hoare triple {3515#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3519#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:41:08,152 INFO L272 TraceCheckUtils]: 31: Hoare triple {3535#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3515#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:41:08,152 INFO L290 TraceCheckUtils]: 30: Hoare triple {3535#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3535#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:41:08,160 INFO L290 TraceCheckUtils]: 29: Hoare triple {3542#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3535#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:41:08,161 INFO L290 TraceCheckUtils]: 28: Hoare triple {3546#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3542#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-08 04:41:08,162 INFO L290 TraceCheckUtils]: 27: Hoare triple {3546#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {3546#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 04:41:08,164 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} {3553#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} #60#return; {3546#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 04:41:08,164 INFO L290 TraceCheckUtils]: 25: Hoare triple {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:41:08,165 INFO L290 TraceCheckUtils]: 24: Hoare triple {3563#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3491#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:41:08,165 INFO L290 TraceCheckUtils]: 23: Hoare triple {3409#true} ~cond := #in~cond; {3563#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:41:08,165 INFO L272 TraceCheckUtils]: 22: Hoare triple {3553#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3409#true} is VALID [2022-04-08 04:41:08,166 INFO L290 TraceCheckUtils]: 21: Hoare triple {3553#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} assume !false; {3553#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:41:08,234 INFO L290 TraceCheckUtils]: 20: Hoare triple {3573#(forall ((aux_div_v_main_~y~0_79_22 Int)) (or (and (or (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_79_22 2)) (not (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (<= 0 (+ (div main_~y~0 2) 1)) (<= (+ (* aux_div_v_main_~y~0_79_22 2) 1) (div main_~y~0 2)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (<= (+ 2 (* aux_div_v_main_~y~0_79_22 2)) (div main_~y~0 2)) (not (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0))) (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_79_22 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* aux_div_v_main_~y~0_79_22 main_~x~0)) main_~z~0 (* main_~x~0 4)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3553#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:41:08,236 INFO L290 TraceCheckUtils]: 19: Hoare triple {3409#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3573#(forall ((aux_div_v_main_~y~0_79_22 Int)) (or (and (or (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_79_22 2)) (not (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (<= 0 (+ (div main_~y~0 2) 1)) (<= (+ (* aux_div_v_main_~y~0_79_22 2) 1) (div main_~y~0 2)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (<= (+ 2 (* aux_div_v_main_~y~0_79_22 2)) (div main_~y~0 2)) (not (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0))) (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_79_22 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))) (= (* main_~b~0 main_~a~0) (+ (* 4 (* aux_div_v_main_~y~0_79_22 main_~x~0)) main_~z~0 (* main_~x~0 4)))))} is VALID [2022-04-08 04:41:08,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {3409#true} assume !!(0 != ~y~0); {3409#true} is VALID [2022-04-08 04:41:08,236 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3409#true} {3409#true} #60#return; {3409#true} is VALID [2022-04-08 04:41:08,236 INFO L290 TraceCheckUtils]: 16: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-08 04:41:08,236 INFO L290 TraceCheckUtils]: 15: Hoare triple {3409#true} assume !(0 == ~cond); {3409#true} is VALID [2022-04-08 04:41:08,236 INFO L290 TraceCheckUtils]: 14: Hoare triple {3409#true} ~cond := #in~cond; {3409#true} is VALID [2022-04-08 04:41:08,236 INFO L272 TraceCheckUtils]: 13: Hoare triple {3409#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3409#true} is VALID [2022-04-08 04:41:08,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {3409#true} assume !false; {3409#true} is VALID [2022-04-08 04:41:08,236 INFO L290 TraceCheckUtils]: 11: Hoare triple {3409#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3409#true} is VALID [2022-04-08 04:41:08,237 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3409#true} {3409#true} #58#return; {3409#true} is VALID [2022-04-08 04:41:08,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-08 04:41:08,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {3409#true} assume !(0 == ~cond); {3409#true} is VALID [2022-04-08 04:41:08,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {3409#true} ~cond := #in~cond; {3409#true} is VALID [2022-04-08 04:41:08,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {3409#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3409#true} is VALID [2022-04-08 04:41:08,237 INFO L290 TraceCheckUtils]: 5: Hoare triple {3409#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3409#true} is VALID [2022-04-08 04:41:08,237 INFO L272 TraceCheckUtils]: 4: Hoare triple {3409#true} call #t~ret6 := main(); {3409#true} is VALID [2022-04-08 04:41:08,237 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3409#true} {3409#true} #64#return; {3409#true} is VALID [2022-04-08 04:41:08,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {3409#true} assume true; {3409#true} is VALID [2022-04-08 04:41:08,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {3409#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(13, 2);call #Ultimate.allocInit(12, 3); {3409#true} is VALID [2022-04-08 04:41:08,237 INFO L272 TraceCheckUtils]: 0: Hoare triple {3409#true} call ULTIMATE.init(); {3409#true} is VALID [2022-04-08 04:41:08,237 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:41:08,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:41:08,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [593322792] [2022-04-08 04:41:08,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:41:08,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1479601375] [2022-04-08 04:41:08,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1479601375] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:41:08,238 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:41:08,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 18 [2022-04-08 04:41:08,238 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:41:08,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1371435527] [2022-04-08 04:41:08,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1371435527] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:41:08,238 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:41:08,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 04:41:08,238 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1220373713] [2022-04-08 04:41:08,238 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:41:08,239 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-08 04:41:08,239 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:41:08,239 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:41:10,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:10,269 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 04:41:10,269 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:10,270 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 04:41:10,270 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=244, Unknown=2, NotChecked=0, Total=306 [2022-04-08 04:41:10,270 INFO L87 Difference]: Start difference. First operand 56 states and 60 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:41:13,161 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:41:15,163 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-08 04:41:17,751 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.34s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:41:24,884 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-08 04:41:29,653 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-08 04:41:35,384 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.67s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:41:37,983 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-08 04:41:41,535 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.54s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:41:41,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:41,712 INFO L93 Difference]: Finished difference Result 73 states and 80 transitions. [2022-04-08 04:41:41,712 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 04:41:41,712 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-08 04:41:41,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:41:41,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:41:41,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 51 transitions. [2022-04-08 04:41:41,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:41:41,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 51 transitions. [2022-04-08 04:41:41,715 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 51 transitions. [2022-04-08 04:41:41,932 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-08 04:41:41,933 INFO L225 Difference]: With dead ends: 73 [2022-04-08 04:41:41,933 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 04:41:41,934 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 51 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 6.4s TimeCoverageRelationStatistics Valid=73, Invalid=305, Unknown=2, NotChecked=0, Total=380 [2022-04-08 04:41:41,934 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 17 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 227 mSolverCounterSat, 2 mSolverCounterUnsat, 4 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 18.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 233 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 227 IncrementalHoareTripleChecker+Invalid, 4 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 18.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:41:41,934 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 151 Invalid, 233 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 227 Invalid, 4 Unknown, 0 Unchecked, 18.4s Time] [2022-04-08 04:41:41,935 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 04:41:41,992 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 61. [2022-04-08 04:41:41,992 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:41:41,992 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:41:41,992 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:41:41,992 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:41:41,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:41,994 INFO L93 Difference]: Finished difference Result 71 states and 78 transitions. [2022-04-08 04:41:41,994 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 78 transitions. [2022-04-08 04:41:41,994 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:41,994 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:41,994 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-08 04:41:41,995 INFO L87 Difference]: Start difference. First operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-08 04:41:41,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:41:41,996 INFO L93 Difference]: Finished difference Result 71 states and 78 transitions. [2022-04-08 04:41:41,996 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 78 transitions. [2022-04-08 04:41:41,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:41:41,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:41:41,996 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:41:41,996 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:41:41,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 45 states have internal predecessors, (50), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-08 04:41:41,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 67 transitions. [2022-04-08 04:41:41,998 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 67 transitions. Word has length 35 [2022-04-08 04:41:41,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:41:41,998 INFO L478 AbstractCegarLoop]: Abstraction has 61 states and 67 transitions. [2022-04-08 04:41:41,998 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 11 states have internal predecessors, (25), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-08 04:41:41,998 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 67 transitions. [2022-04-08 04:41:54,406 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 61 inductive. 0 not inductive. 6 times theorem prover too weak to decide inductivity. [2022-04-08 04:41:54,406 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-08 04:41:54,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 04:41:54,406 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:41:54,406 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:41:54,422 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-08 04:41:54,611 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-08 04:41:54,611 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:41:54,611 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:41:54,612 INFO L85 PathProgramCache]: Analyzing trace with hash 1326136358, now seen corresponding path program 5 times [2022-04-08 04:41:54,612 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:41:54,612 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [422998276] [2022-04-08 04:41:56,779 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:41:56,779 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:41:56,779 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:41:56,779 INFO L85 PathProgramCache]: Analyzing trace with hash 1326136358, now seen corresponding path program 6 times [2022-04-08 04:41:56,779 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:41:56,779 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1757753899] [2022-04-08 04:41:56,779 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:41:56,779 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:41:56,787 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:41:56,787 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [738109386] [2022-04-08 04:41:56,787 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:41:56,787 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:41:56,787 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:41:56,788 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-08 04:41:56,789 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-08 04:41:56,857 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-08 04:41:56,857 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:41:56,858 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 04:41:56,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:41:56,872 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:42:19,646 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:42:23,095 INFO L272 TraceCheckUtils]: 0: Hoare triple {4050#true} call ULTIMATE.init(); {4050#true} is VALID [2022-04-08 04:42:23,095 INFO L290 TraceCheckUtils]: 1: Hoare triple {4050#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(13, 2);call #Ultimate.allocInit(12, 3); {4050#true} is VALID [2022-04-08 04:42:23,095 INFO L290 TraceCheckUtils]: 2: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-08 04:42:23,095 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4050#true} {4050#true} #64#return; {4050#true} is VALID [2022-04-08 04:42:23,095 INFO L272 TraceCheckUtils]: 4: Hoare triple {4050#true} call #t~ret6 := main(); {4050#true} is VALID [2022-04-08 04:42:23,095 INFO L290 TraceCheckUtils]: 5: Hoare triple {4050#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4050#true} is VALID [2022-04-08 04:42:23,095 INFO L272 TraceCheckUtils]: 6: Hoare triple {4050#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4050#true} is VALID [2022-04-08 04:42:23,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {4050#true} ~cond := #in~cond; {4076#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:42:23,096 INFO L290 TraceCheckUtils]: 8: Hoare triple {4076#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:42:23,096 INFO L290 TraceCheckUtils]: 9: Hoare triple {4080#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:42:23,097 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4080#(not (= |assume_abort_if_not_#in~cond| 0))} {4050#true} #58#return; {4087#(<= 1 main_~b~0)} is VALID [2022-04-08 04:42:23,097 INFO L290 TraceCheckUtils]: 11: Hoare triple {4087#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:23,097 INFO L290 TraceCheckUtils]: 12: Hoare triple {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !false; {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:23,097 INFO L272 TraceCheckUtils]: 13: Hoare triple {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-08 04:42:23,097 INFO L290 TraceCheckUtils]: 14: Hoare triple {4050#true} ~cond := #in~cond; {4050#true} is VALID [2022-04-08 04:42:23,097 INFO L290 TraceCheckUtils]: 15: Hoare triple {4050#true} assume !(0 == ~cond); {4050#true} is VALID [2022-04-08 04:42:23,098 INFO L290 TraceCheckUtils]: 16: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-08 04:42:23,098 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4050#true} {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} #60#return; {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:23,098 INFO L290 TraceCheckUtils]: 18: Hoare triple {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:23,099 INFO L290 TraceCheckUtils]: 19: Hoare triple {4091#(and (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4116#(and (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:23,101 INFO L290 TraceCheckUtils]: 20: Hoare triple {4116#(and (not (= (mod main_~y~0 2) 1)) (<= main_~b~0 main_~y~0) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4120#(and (<= 1 main_~b~0) (exists ((aux_mod_v_main_~y~0_85_22 Int) (aux_div_v_main_~y~0_85_22 Int)) (and (< aux_mod_v_main_~y~0_85_22 2) (<= (div (+ (* aux_div_v_main_~y~0_85_22 2) aux_mod_v_main_~y~0_85_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_85_22 1)) (<= 0 aux_mod_v_main_~y~0_85_22) (<= main_~b~0 (+ (* aux_div_v_main_~y~0_85_22 2) aux_mod_v_main_~y~0_85_22)))))} is VALID [2022-04-08 04:42:23,102 INFO L290 TraceCheckUtils]: 21: Hoare triple {4120#(and (<= 1 main_~b~0) (exists ((aux_mod_v_main_~y~0_85_22 Int) (aux_div_v_main_~y~0_85_22 Int)) (and (< aux_mod_v_main_~y~0_85_22 2) (<= (div (+ (* aux_div_v_main_~y~0_85_22 2) aux_mod_v_main_~y~0_85_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_85_22 1)) (<= 0 aux_mod_v_main_~y~0_85_22) (<= main_~b~0 (+ (* aux_div_v_main_~y~0_85_22 2) aux_mod_v_main_~y~0_85_22)))))} assume !false; {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:23,102 INFO L272 TraceCheckUtils]: 22: Hoare triple {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-08 04:42:23,102 INFO L290 TraceCheckUtils]: 23: Hoare triple {4050#true} ~cond := #in~cond; {4050#true} is VALID [2022-04-08 04:42:23,102 INFO L290 TraceCheckUtils]: 24: Hoare triple {4050#true} assume !(0 == ~cond); {4050#true} is VALID [2022-04-08 04:42:23,102 INFO L290 TraceCheckUtils]: 25: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-08 04:42:23,103 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4050#true} {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} #60#return; {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:23,103 INFO L290 TraceCheckUtils]: 27: Hoare triple {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:23,104 INFO L290 TraceCheckUtils]: 28: Hoare triple {4124#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4146#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~y~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:23,105 INFO L290 TraceCheckUtils]: 29: Hoare triple {4146#(and (< (div (* (- 1) main_~b~0) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~y~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4150#(and (<= 1 main_~b~0) (exists ((aux_div_v_main_~y~0_86_22 Int) (aux_mod_v_main_~y~0_86_22 Int)) (and (<= (div (+ (* aux_div_v_main_~y~0_86_22 2) aux_mod_v_main_~y~0_86_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_86_22 1)) (< (div (* (- 1) main_~b~0) (- 2)) (+ (* aux_div_v_main_~y~0_86_22 2) aux_mod_v_main_~y~0_86_22 1)) (<= 0 aux_mod_v_main_~y~0_86_22) (< aux_mod_v_main_~y~0_86_22 2))))} is VALID [2022-04-08 04:42:23,106 INFO L290 TraceCheckUtils]: 30: Hoare triple {4150#(and (<= 1 main_~b~0) (exists ((aux_div_v_main_~y~0_86_22 Int) (aux_mod_v_main_~y~0_86_22 Int)) (and (<= (div (+ (* aux_div_v_main_~y~0_86_22 2) aux_mod_v_main_~y~0_86_22) 2) main_~y~0) (not (= aux_mod_v_main_~y~0_86_22 1)) (< (div (* (- 1) main_~b~0) (- 2)) (+ (* aux_div_v_main_~y~0_86_22 2) aux_mod_v_main_~y~0_86_22 1)) (<= 0 aux_mod_v_main_~y~0_86_22) (< aux_mod_v_main_~y~0_86_22 2))))} assume !false; {4154#(and (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:23,106 INFO L272 TraceCheckUtils]: 31: Hoare triple {4154#(and (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-08 04:42:23,106 INFO L290 TraceCheckUtils]: 32: Hoare triple {4050#true} ~cond := #in~cond; {4161#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:23,107 INFO L290 TraceCheckUtils]: 33: Hoare triple {4161#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:23,107 INFO L290 TraceCheckUtils]: 34: Hoare triple {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:23,108 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} {4154#(and (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} #60#return; {4172#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:23,108 INFO L290 TraceCheckUtils]: 36: Hoare triple {4172#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {4172#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:23,109 INFO L290 TraceCheckUtils]: 37: Hoare triple {4172#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4179#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} is VALID [2022-04-08 04:42:25,111 WARN L290 TraceCheckUtils]: 38: Hoare triple {4179#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4183#(and (exists ((aux_div_v_main_~y~0_87_22 Int) (aux_mod_v_main_~y~0_87_22 Int)) (and (= (+ main_~z~0 (* (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2)) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2) 1)) (<= 0 aux_mod_v_main_~y~0_87_22) (not (= aux_mod_v_main_~y~0_87_22 1)) (= (div (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2)) 2) main_~y~0) (< aux_mod_v_main_~y~0_87_22 2))) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is UNKNOWN [2022-04-08 04:42:25,115 INFO L290 TraceCheckUtils]: 39: Hoare triple {4183#(and (exists ((aux_div_v_main_~y~0_87_22 Int) (aux_mod_v_main_~y~0_87_22 Int)) (and (= (+ main_~z~0 (* (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2)) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2)) (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2) 1)) (<= 0 aux_mod_v_main_~y~0_87_22) (not (= aux_mod_v_main_~y~0_87_22 1)) (= (div (+ aux_mod_v_main_~y~0_87_22 (* aux_div_v_main_~y~0_87_22 2)) 2) main_~y~0) (< aux_mod_v_main_~y~0_87_22 2))) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} assume !false; {4187#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-08 04:42:25,543 INFO L272 TraceCheckUtils]: 40: Hoare triple {4187#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div (* (- 1) (div (* (- 1) main_~b~0) (- 2))) (- 2))) (- 2)) (+ main_~y~0 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4191#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:42:25,544 INFO L290 TraceCheckUtils]: 41: Hoare triple {4191#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4195#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:25,544 INFO L290 TraceCheckUtils]: 42: Hoare triple {4195#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4051#false} is VALID [2022-04-08 04:42:25,544 INFO L290 TraceCheckUtils]: 43: Hoare triple {4051#false} assume !false; {4051#false} is VALID [2022-04-08 04:42:25,545 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 11 proven. 22 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 04:42:25,545 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:42:58,358 INFO L290 TraceCheckUtils]: 43: Hoare triple {4051#false} assume !false; {4051#false} is VALID [2022-04-08 04:42:58,358 INFO L290 TraceCheckUtils]: 42: Hoare triple {4195#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4051#false} is VALID [2022-04-08 04:42:58,359 INFO L290 TraceCheckUtils]: 41: Hoare triple {4191#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4195#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:42:58,359 INFO L272 TraceCheckUtils]: 40: Hoare triple {4211#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4191#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:42:58,360 INFO L290 TraceCheckUtils]: 39: Hoare triple {4211#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4211#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:42:58,365 INFO L290 TraceCheckUtils]: 38: Hoare triple {4218#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4211#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:42:58,366 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4218#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-08 04:42:58,366 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {4222#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 04:42:58,369 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} #60#return; {4222#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-08 04:42:58,370 INFO L290 TraceCheckUtils]: 34: Hoare triple {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:58,370 INFO L290 TraceCheckUtils]: 33: Hoare triple {4239#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4165#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:42:58,370 INFO L290 TraceCheckUtils]: 32: Hoare triple {4050#true} ~cond := #in~cond; {4239#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:42:58,370 INFO L272 TraceCheckUtils]: 31: Hoare triple {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-08 04:42:58,371 INFO L290 TraceCheckUtils]: 30: Hoare triple {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} assume !false; {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-08 04:42:58,372 INFO L290 TraceCheckUtils]: 29: Hoare triple {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4229#(or (<= 0 main_~y~0) (= (mod main_~y~0 2) 0))} is VALID [2022-04-08 04:42:58,372 INFO L290 TraceCheckUtils]: 28: Hoare triple {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-08 04:42:58,373 INFO L290 TraceCheckUtils]: 27: Hoare triple {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} assume !!(0 != ~y~0); {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-08 04:42:58,373 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4050#true} {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} #60#return; {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-08 04:42:58,373 INFO L290 TraceCheckUtils]: 25: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-08 04:42:58,373 INFO L290 TraceCheckUtils]: 24: Hoare triple {4050#true} assume !(0 == ~cond); {4050#true} is VALID [2022-04-08 04:42:58,374 INFO L290 TraceCheckUtils]: 23: Hoare triple {4050#true} ~cond := #in~cond; {4050#true} is VALID [2022-04-08 04:42:58,374 INFO L272 TraceCheckUtils]: 22: Hoare triple {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-08 04:42:58,375 INFO L290 TraceCheckUtils]: 21: Hoare triple {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} assume !false; {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-08 04:42:58,377 INFO L290 TraceCheckUtils]: 20: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4249#(and (<= 0 (+ (div main_~y~0 2) 1)) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1))))} is VALID [2022-04-08 04:42:58,378 INFO L290 TraceCheckUtils]: 19: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-08 04:42:58,382 INFO L290 TraceCheckUtils]: 18: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} assume !!(0 != ~y~0); {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-08 04:42:58,383 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4050#true} {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} #60#return; {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-08 04:42:58,383 INFO L290 TraceCheckUtils]: 16: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-08 04:42:58,383 INFO L290 TraceCheckUtils]: 15: Hoare triple {4050#true} assume !(0 == ~cond); {4050#true} is VALID [2022-04-08 04:42:58,383 INFO L290 TraceCheckUtils]: 14: Hoare triple {4050#true} ~cond := #in~cond; {4050#true} is VALID [2022-04-08 04:42:58,383 INFO L272 TraceCheckUtils]: 13: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4050#true} is VALID [2022-04-08 04:42:58,384 INFO L290 TraceCheckUtils]: 12: Hoare triple {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} assume !false; {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-08 04:42:58,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {4305#(<= 0 (+ 3 (div (+ (- 1) (div (+ (div (+ (- 11) main_~b~0) 2) (- 3)) 2)) 2)))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4277#(and (or (<= 0 (+ 2 (div (+ (- 1) (div (+ (div main_~y~0 2) (- 5)) 2)) 2))) (not (= (mod main_~y~0 2) 0))) (<= 0 (+ (div (+ (- 1) (div (+ (div main_~y~0 2) (- 4)) 2)) 2) 2)))} is VALID [2022-04-08 04:42:58,386 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4080#(not (= |assume_abort_if_not_#in~cond| 0))} {4050#true} #58#return; {4305#(<= 0 (+ 3 (div (+ (- 1) (div (+ (div (+ (- 11) main_~b~0) 2) (- 3)) 2)) 2)))} is VALID [2022-04-08 04:42:58,386 INFO L290 TraceCheckUtils]: 9: Hoare triple {4080#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:42:58,387 INFO L290 TraceCheckUtils]: 8: Hoare triple {4318#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {4080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:42:58,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {4050#true} ~cond := #in~cond; {4318#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 04:42:58,387 INFO L272 TraceCheckUtils]: 6: Hoare triple {4050#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4050#true} is VALID [2022-04-08 04:42:58,387 INFO L290 TraceCheckUtils]: 5: Hoare triple {4050#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4050#true} is VALID [2022-04-08 04:42:58,387 INFO L272 TraceCheckUtils]: 4: Hoare triple {4050#true} call #t~ret6 := main(); {4050#true} is VALID [2022-04-08 04:42:58,387 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4050#true} {4050#true} #64#return; {4050#true} is VALID [2022-04-08 04:42:58,387 INFO L290 TraceCheckUtils]: 2: Hoare triple {4050#true} assume true; {4050#true} is VALID [2022-04-08 04:42:58,387 INFO L290 TraceCheckUtils]: 1: Hoare triple {4050#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(13, 2);call #Ultimate.allocInit(12, 3); {4050#true} is VALID [2022-04-08 04:42:58,387 INFO L272 TraceCheckUtils]: 0: Hoare triple {4050#true} call ULTIMATE.init(); {4050#true} is VALID [2022-04-08 04:42:58,388 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 16 proven. 17 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-08 04:42:58,388 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:42:58,388 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1757753899] [2022-04-08 04:42:58,388 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:42:58,388 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [738109386] [2022-04-08 04:42:58,388 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [738109386] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:42:58,388 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:42:58,388 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [20, 15] total 29 [2022-04-08 04:42:58,388 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:42:58,388 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [422998276] [2022-04-08 04:42:58,388 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [422998276] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:42:58,388 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:42:58,388 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [20] imperfect sequences [] total 20 [2022-04-08 04:42:58,388 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2100063230] [2022-04-08 04:42:58,389 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:42:58,389 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 44 [2022-04-08 04:42:58,390 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:42:58,390 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 04:43:00,442 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:00,442 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-08 04:43:00,443 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:00,443 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-08 04:43:00,443 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=153, Invalid=655, Unknown=4, NotChecked=0, Total=812 [2022-04-08 04:43:00,443 INFO L87 Difference]: Start difference. First operand 61 states and 67 transitions. Second operand has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 04:43:02,816 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-08 04:43:12,364 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.32s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:43:18,184 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.30s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-08 04:43:20,186 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-08 04:43:23,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:23,335 INFO L93 Difference]: Finished difference Result 79 states and 86 transitions. [2022-04-08 04:43:23,335 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-08 04:43:23,335 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 44 [2022-04-08 04:43:23,336 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:43:23,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 04:43:23,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 53 transitions. [2022-04-08 04:43:23,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 04:43:23,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 53 transitions. [2022-04-08 04:43:23,338 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 53 transitions. [2022-04-08 04:43:27,390 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:27,391 INFO L225 Difference]: With dead ends: 79 [2022-04-08 04:43:27,391 INFO L226 Difference]: Without dead ends: 77 [2022-04-08 04:43:27,391 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 59 SyntacticMatches, 4 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 2 DeprecatedPredicates, 426 ImplicationChecksByTransitivity, 12.3s TimeCoverageRelationStatistics Valid=273, Invalid=1129, Unknown=4, NotChecked=0, Total=1406 [2022-04-08 04:43:27,392 INFO L913 BasicCegarLoop]: 15 mSDtfsCounter, 41 mSDsluCounter, 96 mSDsCounter, 0 mSdLazyCounter, 145 mSolverCounterSat, 18 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 10.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 42 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 190 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 145 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 25 IncrementalHoareTripleChecker+Unchecked, 10.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:43:27,392 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [42 Valid, 111 Invalid, 190 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 145 Invalid, 2 Unknown, 25 Unchecked, 10.3s Time] [2022-04-08 04:43:27,392 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-08 04:43:27,465 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 70. [2022-04-08 04:43:27,465 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:43:27,466 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:43:27,466 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:43:27,466 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:43:27,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:27,468 INFO L93 Difference]: Finished difference Result 77 states and 84 transitions. [2022-04-08 04:43:27,468 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 84 transitions. [2022-04-08 04:43:27,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:27,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:27,468 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 77 states. [2022-04-08 04:43:27,468 INFO L87 Difference]: Start difference. First operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 77 states. [2022-04-08 04:43:27,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:43:27,469 INFO L93 Difference]: Finished difference Result 77 states and 84 transitions. [2022-04-08 04:43:27,469 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 84 transitions. [2022-04-08 04:43:27,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:43:27,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:43:27,470 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:43:27,470 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:43:27,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 51 states have (on average 1.1372549019607843) internal successors, (58), 52 states have internal predecessors, (58), 10 states have call successors, (10), 9 states have call predecessors, (10), 8 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-08 04:43:27,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 77 transitions. [2022-04-08 04:43:27,471 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 77 transitions. Word has length 44 [2022-04-08 04:43:27,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:43:27,471 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 77 transitions. [2022-04-08 04:43:27,472 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 18 states have (on average 1.6111111111111112) internal successors, (29), 18 states have internal predecessors, (29), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-08 04:43:27,472 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 77 transitions. [2022-04-08 04:43:45,889 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 69 inductive. 0 not inductive. 8 times theorem prover too weak to decide inductivity. [2022-04-08 04:43:45,890 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-08 04:43:45,890 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 04:43:45,890 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:43:45,890 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:43:45,906 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-08 04:43:46,099 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-08 04:43:46,099 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:43:46,100 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:43:46,100 INFO L85 PathProgramCache]: Analyzing trace with hash -448871004, now seen corresponding path program 5 times [2022-04-08 04:43:46,100 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:43:46,100 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [351572759] [2022-04-08 04:43:51,488 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:43:51,488 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:43:51,488 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:43:51,489 INFO L85 PathProgramCache]: Analyzing trace with hash -448871004, now seen corresponding path program 6 times [2022-04-08 04:43:51,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:43:51,489 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [94679756] [2022-04-08 04:43:51,489 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:43:51,489 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:43:51,497 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:43:51,497 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2097144643] [2022-04-08 04:43:51,497 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:43:51,497 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:43:51,497 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:43:51,498 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-08 04:43:51,499 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-08 04:43:51,537 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-08 04:43:51,538 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:43:51,538 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-08 04:43:51,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:43:51,551 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:44:06,774 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 04:44:21,488 INFO L272 TraceCheckUtils]: 0: Hoare triple {4815#true} call ULTIMATE.init(); {4815#true} is VALID [2022-04-08 04:44:21,488 INFO L290 TraceCheckUtils]: 1: Hoare triple {4815#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(13, 2);call #Ultimate.allocInit(12, 3); {4815#true} is VALID [2022-04-08 04:44:21,488 INFO L290 TraceCheckUtils]: 2: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 04:44:21,488 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4815#true} {4815#true} #64#return; {4815#true} is VALID [2022-04-08 04:44:21,488 INFO L272 TraceCheckUtils]: 4: Hoare triple {4815#true} call #t~ret6 := main(); {4815#true} is VALID [2022-04-08 04:44:21,488 INFO L290 TraceCheckUtils]: 5: Hoare triple {4815#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4815#true} is VALID [2022-04-08 04:44:21,488 INFO L272 TraceCheckUtils]: 6: Hoare triple {4815#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4815#true} is VALID [2022-04-08 04:44:21,488 INFO L290 TraceCheckUtils]: 7: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-08 04:44:21,489 INFO L290 TraceCheckUtils]: 8: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-08 04:44:21,489 INFO L290 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 04:44:21,489 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #58#return; {4815#true} is VALID [2022-04-08 04:44:21,489 INFO L290 TraceCheckUtils]: 11: Hoare triple {4815#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4853#(= main_~z~0 0)} is VALID [2022-04-08 04:44:21,489 INFO L290 TraceCheckUtils]: 12: Hoare triple {4853#(= main_~z~0 0)} assume !false; {4853#(= main_~z~0 0)} is VALID [2022-04-08 04:44:21,489 INFO L272 TraceCheckUtils]: 13: Hoare triple {4853#(= main_~z~0 0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4815#true} is VALID [2022-04-08 04:44:21,489 INFO L290 TraceCheckUtils]: 14: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-08 04:44:21,489 INFO L290 TraceCheckUtils]: 15: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-08 04:44:21,489 INFO L290 TraceCheckUtils]: 16: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 04:44:21,490 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4815#true} {4853#(= main_~z~0 0)} #60#return; {4853#(= main_~z~0 0)} is VALID [2022-04-08 04:44:21,490 INFO L290 TraceCheckUtils]: 18: Hoare triple {4853#(= main_~z~0 0)} assume !!(0 != ~y~0); {4853#(= main_~z~0 0)} is VALID [2022-04-08 04:44:21,490 INFO L290 TraceCheckUtils]: 19: Hoare triple {4853#(= main_~z~0 0)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4853#(= main_~z~0 0)} is VALID [2022-04-08 04:44:21,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {4853#(= main_~z~0 0)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4853#(= main_~z~0 0)} is VALID [2022-04-08 04:44:21,491 INFO L290 TraceCheckUtils]: 21: Hoare triple {4853#(= main_~z~0 0)} assume !false; {4853#(= main_~z~0 0)} is VALID [2022-04-08 04:44:21,491 INFO L272 TraceCheckUtils]: 22: Hoare triple {4853#(= main_~z~0 0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4815#true} is VALID [2022-04-08 04:44:21,491 INFO L290 TraceCheckUtils]: 23: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-08 04:44:21,491 INFO L290 TraceCheckUtils]: 24: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-08 04:44:21,491 INFO L290 TraceCheckUtils]: 25: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 04:44:21,499 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4815#true} {4853#(= main_~z~0 0)} #60#return; {4853#(= main_~z~0 0)} is VALID [2022-04-08 04:44:21,499 INFO L290 TraceCheckUtils]: 27: Hoare triple {4853#(= main_~z~0 0)} assume !!(0 != ~y~0); {4853#(= main_~z~0 0)} is VALID [2022-04-08 04:44:21,499 INFO L290 TraceCheckUtils]: 28: Hoare triple {4853#(= main_~z~0 0)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4853#(= main_~z~0 0)} is VALID [2022-04-08 04:44:21,500 INFO L290 TraceCheckUtils]: 29: Hoare triple {4853#(= main_~z~0 0)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4853#(= main_~z~0 0)} is VALID [2022-04-08 04:44:21,500 INFO L290 TraceCheckUtils]: 30: Hoare triple {4853#(= main_~z~0 0)} assume !false; {4853#(= main_~z~0 0)} is VALID [2022-04-08 04:44:21,500 INFO L272 TraceCheckUtils]: 31: Hoare triple {4853#(= main_~z~0 0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4815#true} is VALID [2022-04-08 04:44:21,500 INFO L290 TraceCheckUtils]: 32: Hoare triple {4815#true} ~cond := #in~cond; {4917#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:44:21,501 INFO L290 TraceCheckUtils]: 33: Hoare triple {4917#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:21,501 INFO L290 TraceCheckUtils]: 34: Hoare triple {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:44:21,501 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} {4853#(= main_~z~0 0)} #60#return; {4928#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:44:21,502 INFO L290 TraceCheckUtils]: 36: Hoare triple {4928#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {4932#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:44:21,573 INFO L290 TraceCheckUtils]: 37: Hoare triple {4932#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4936#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~z~0 main_~x~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-08 04:44:21,623 INFO L290 TraceCheckUtils]: 38: Hoare triple {4936#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~z~0 main_~x~0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4940#(and (exists ((aux_mod_v_main_~y~0_104_29 Int) (aux_div_v_main_~y~0_104_29 Int)) (and (<= 0 (+ (* 2 aux_div_v_main_~y~0_104_29) aux_mod_v_main_~y~0_104_29)) (= (+ (* 2 (* main_~z~0 aux_div_v_main_~y~0_104_29)) (* main_~z~0 aux_mod_v_main_~y~0_104_29)) (* main_~b~0 main_~a~0)) (<= 1 aux_mod_v_main_~y~0_104_29) (= (div (+ (* 2 aux_div_v_main_~y~0_104_29) (- 1) aux_mod_v_main_~y~0_104_29) 2) main_~y~0) (< aux_mod_v_main_~y~0_104_29 2))) (= main_~x~0 (* main_~z~0 2)))} is VALID [2022-04-08 04:44:23,626 WARN L290 TraceCheckUtils]: 39: Hoare triple {4940#(and (exists ((aux_mod_v_main_~y~0_104_29 Int) (aux_div_v_main_~y~0_104_29 Int)) (and (<= 0 (+ (* 2 aux_div_v_main_~y~0_104_29) aux_mod_v_main_~y~0_104_29)) (= (+ (* 2 (* main_~z~0 aux_div_v_main_~y~0_104_29)) (* main_~z~0 aux_mod_v_main_~y~0_104_29)) (* main_~b~0 main_~a~0)) (<= 1 aux_mod_v_main_~y~0_104_29) (= (div (+ (* 2 aux_div_v_main_~y~0_104_29) (- 1) aux_mod_v_main_~y~0_104_29) 2) main_~y~0) (< aux_mod_v_main_~y~0_104_29 2))) (= main_~x~0 (* main_~z~0 2)))} assume !false; {4944#(and (= (+ main_~z~0 (* 2 (* main_~z~0 main_~y~0))) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (< 0 (+ main_~y~0 1)))} is UNKNOWN [2022-04-08 04:44:23,630 INFO L272 TraceCheckUtils]: 40: Hoare triple {4944#(and (= (+ main_~z~0 (* 2 (* main_~z~0 main_~y~0))) (* main_~b~0 main_~a~0)) (= main_~x~0 (* main_~z~0 2)) (< 0 (+ main_~y~0 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4948#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:44:23,631 INFO L290 TraceCheckUtils]: 41: Hoare triple {4948#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4952#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:44:23,631 INFO L290 TraceCheckUtils]: 42: Hoare triple {4952#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4816#false} is VALID [2022-04-08 04:44:23,631 INFO L290 TraceCheckUtils]: 43: Hoare triple {4816#false} assume !false; {4816#false} is VALID [2022-04-08 04:44:23,631 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 15 proven. 9 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-08 04:44:23,631 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:45:43,464 INFO L290 TraceCheckUtils]: 43: Hoare triple {4816#false} assume !false; {4816#false} is VALID [2022-04-08 04:45:43,465 INFO L290 TraceCheckUtils]: 42: Hoare triple {4952#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4816#false} is VALID [2022-04-08 04:45:43,465 INFO L290 TraceCheckUtils]: 41: Hoare triple {4948#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4952#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:45:43,466 INFO L272 TraceCheckUtils]: 40: Hoare triple {4968#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4948#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:45:43,466 INFO L290 TraceCheckUtils]: 39: Hoare triple {4968#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4968#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:45:43,471 INFO L290 TraceCheckUtils]: 38: Hoare triple {4975#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4968#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-08 04:45:43,474 INFO L290 TraceCheckUtils]: 37: Hoare triple {4979#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4975#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-08 04:45:43,475 INFO L290 TraceCheckUtils]: 36: Hoare triple {4979#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {4979#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 04:45:44,114 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} {4815#true} #60#return; {4979#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-08 04:45:44,114 INFO L290 TraceCheckUtils]: 34: Hoare triple {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:45:44,115 INFO L290 TraceCheckUtils]: 33: Hoare triple {4995#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4921#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:45:44,115 INFO L290 TraceCheckUtils]: 32: Hoare triple {4815#true} ~cond := #in~cond; {4995#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:45:44,115 INFO L272 TraceCheckUtils]: 31: Hoare triple {4815#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4815#true} is VALID [2022-04-08 04:45:44,115 INFO L290 TraceCheckUtils]: 30: Hoare triple {4815#true} assume !false; {4815#true} is VALID [2022-04-08 04:45:44,115 INFO L290 TraceCheckUtils]: 29: Hoare triple {4815#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4815#true} is VALID [2022-04-08 04:45:44,115 INFO L290 TraceCheckUtils]: 28: Hoare triple {4815#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4815#true} is VALID [2022-04-08 04:45:44,115 INFO L290 TraceCheckUtils]: 27: Hoare triple {4815#true} assume !!(0 != ~y~0); {4815#true} is VALID [2022-04-08 04:45:44,115 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4815#true} {4815#true} #60#return; {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 25: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 24: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 23: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L272 TraceCheckUtils]: 22: Hoare triple {4815#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 21: Hoare triple {4815#true} assume !false; {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 20: Hoare triple {4815#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 19: Hoare triple {4815#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 18: Hoare triple {4815#true} assume !!(0 != ~y~0); {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4815#true} {4815#true} #60#return; {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 16: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 15: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 14: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L272 TraceCheckUtils]: 13: Hoare triple {4815#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 12: Hoare triple {4815#true} assume !false; {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 11: Hoare triple {4815#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #58#return; {4815#true} is VALID [2022-04-08 04:45:44,116 INFO L290 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 04:45:44,117 INFO L290 TraceCheckUtils]: 8: Hoare triple {4815#true} assume !(0 == ~cond); {4815#true} is VALID [2022-04-08 04:45:44,117 INFO L290 TraceCheckUtils]: 7: Hoare triple {4815#true} ~cond := #in~cond; {4815#true} is VALID [2022-04-08 04:45:44,117 INFO L272 TraceCheckUtils]: 6: Hoare triple {4815#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4815#true} is VALID [2022-04-08 04:45:44,117 INFO L290 TraceCheckUtils]: 5: Hoare triple {4815#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4815#true} is VALID [2022-04-08 04:45:44,117 INFO L272 TraceCheckUtils]: 4: Hoare triple {4815#true} call #t~ret6 := main(); {4815#true} is VALID [2022-04-08 04:45:44,117 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4815#true} {4815#true} #64#return; {4815#true} is VALID [2022-04-08 04:45:44,117 INFO L290 TraceCheckUtils]: 2: Hoare triple {4815#true} assume true; {4815#true} is VALID [2022-04-08 04:45:44,117 INFO L290 TraceCheckUtils]: 1: Hoare triple {4815#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(13, 2);call #Ultimate.allocInit(12, 3); {4815#true} is VALID [2022-04-08 04:45:44,117 INFO L272 TraceCheckUtils]: 0: Hoare triple {4815#true} call ULTIMATE.init(); {4815#true} is VALID [2022-04-08 04:45:44,117 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-08 04:45:44,117 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:45:44,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [94679756] [2022-04-08 04:45:44,117 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:45:44,117 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2097144643] [2022-04-08 04:45:44,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2097144643] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:45:44,118 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:45:44,118 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-08 04:45:44,118 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:45:44,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [351572759] [2022-04-08 04:45:44,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [351572759] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:45:44,118 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:45:44,118 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 04:45:44,118 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1808122790] [2022-04-08 04:45:44,118 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:45:44,119 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 44 [2022-04-08 04:45:44,119 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:45:44,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:45:44,692 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:45:44,692 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 04:45:44,693 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:45:44,693 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 04:45:44,693 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=190, Unknown=1, NotChecked=0, Total=240 [2022-04-08 04:45:44,693 INFO L87 Difference]: Start difference. First operand 70 states and 77 transitions. Second operand has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:45:45,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:45:45,331 INFO L93 Difference]: Finished difference Result 98 states and 107 transitions. [2022-04-08 04:45:45,331 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:45:45,331 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 44 [2022-04-08 04:45:45,331 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:45:45,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:45:45,332 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 43 transitions. [2022-04-08 04:45:45,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:45:45,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 43 transitions. [2022-04-08 04:45:45,333 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 43 transitions. [2022-04-08 04:45:45,371 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:45:45,372 INFO L225 Difference]: With dead ends: 98 [2022-04-08 04:45:45,372 INFO L226 Difference]: Without dead ends: 96 [2022-04-08 04:45:45,373 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 71 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 9.0s TimeCoverageRelationStatistics Valid=62, Invalid=243, Unknown=1, NotChecked=0, Total=306 [2022-04-08 04:45:45,373 INFO L913 BasicCegarLoop]: 18 mSDtfsCounter, 17 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 81 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 102 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 81 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 16 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-08 04:45:45,373 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 106 Invalid, 102 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 81 Invalid, 0 Unknown, 16 Unchecked, 0.3s Time] [2022-04-08 04:45:45,374 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-08 04:45:45,482 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 89. [2022-04-08 04:45:45,483 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:45:45,483 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:45:45,483 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:45:45,483 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:45:45,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:45:45,485 INFO L93 Difference]: Finished difference Result 96 states and 105 transitions. [2022-04-08 04:45:45,485 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 105 transitions. [2022-04-08 04:45:45,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:45:45,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:45:45,494 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) Second operand 96 states. [2022-04-08 04:45:45,494 INFO L87 Difference]: Start difference. First operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) Second operand 96 states. [2022-04-08 04:45:45,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:45:45,496 INFO L93 Difference]: Finished difference Result 96 states and 105 transitions. [2022-04-08 04:45:45,496 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 105 transitions. [2022-04-08 04:45:45,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:45:45,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:45:45,496 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:45:45,496 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:45:45,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 65 states have (on average 1.123076923076923) internal successors, (73), 68 states have internal predecessors, (73), 13 states have call successors, (13), 11 states have call predecessors, (13), 10 states have return successors, (12), 9 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-08 04:45:45,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 98 transitions. [2022-04-08 04:45:45,501 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 98 transitions. Word has length 44 [2022-04-08 04:45:45,501 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:45:45,501 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 98 transitions. [2022-04-08 04:45:45,501 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.1818181818181817) internal successors, (24), 10 states have internal predecessors, (24), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:45:45,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 98 transitions. [2022-04-08 04:46:11,927 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 87 inductive. 0 not inductive. 11 times theorem prover too weak to decide inductivity. [2022-04-08 04:46:11,927 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 98 transitions. [2022-04-08 04:46:11,927 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 04:46:11,927 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:46:11,927 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:46:11,943 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-08 04:46:12,128 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-08 04:46:12,128 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:46:12,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:46:12,128 INFO L85 PathProgramCache]: Analyzing trace with hash -1947762584, now seen corresponding path program 7 times [2022-04-08 04:46:12,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:46:12,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [987484205] [2022-04-08 04:46:16,732 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 0 HavocedVariables, 2 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-08 04:46:16,733 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-08 04:46:16,733 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-08 04:46:16,733 INFO L85 PathProgramCache]: Analyzing trace with hash -1947762584, now seen corresponding path program 8 times [2022-04-08 04:46:16,733 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:46:16,733 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1176292929] [2022-04-08 04:46:16,733 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:46:16,733 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:46:16,742 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:46:16,742 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1697426133] [2022-04-08 04:46:16,742 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:46:16,742 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:46:16,742 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:46:16,743 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-08 04:46:16,743 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-08 04:46:16,789 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:46:16,789 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:46:16,790 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-08 04:46:16,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:46:16,806 INFO L286 TraceCheckSpWp]: Computing forward predicates...