/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-scaling/prodbin-ll_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 07:27:31,773 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 07:27:31,774 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 07:27:31,822 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 07:27:31,823 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 07:27:31,824 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 07:27:31,824 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 07:27:31,825 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 07:27:31,826 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 07:27:31,827 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 07:27:31,827 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 07:27:31,828 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 07:27:31,828 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 07:27:31,829 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 07:27:31,829 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 07:27:31,830 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 07:27:31,830 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 07:27:31,831 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 07:27:31,832 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 07:27:31,833 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 07:27:31,833 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 07:27:31,834 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 07:27:31,835 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 07:27:31,835 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 07:27:31,836 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 07:27:31,838 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 07:27:31,838 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 07:27:31,838 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 07:27:31,838 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 07:27:31,839 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 07:27:31,839 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 07:27:31,839 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 07:27:31,840 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 07:27:31,840 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 07:27:31,841 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 07:27:31,841 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 07:27:31,841 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 07:27:31,842 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 07:27:31,842 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 07:27:31,842 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 07:27:31,843 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 07:27:31,843 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 07:27:31,844 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 07:27:31,849 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 07:27:31,849 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 07:27:31,850 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 07:27:31,850 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 07:27:31,850 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 07:27:31,850 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 07:27:31,851 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 07:27:31,851 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 07:27:31,851 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 07:27:31,851 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 07:27:31,851 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 07:27:31,851 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 07:27:31,851 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 07:27:31,851 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 07:27:31,851 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 07:27:31,852 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 07:27:31,852 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 07:27:31,852 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 07:27:31,852 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:27:31,852 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 07:27:31,852 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 07:27:31,852 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 07:27:31,852 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 07:27:31,853 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 07:27:31,853 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 07:27:31,853 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-28 07:27:31,992 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 07:27:32,020 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 07:27:32,022 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 07:27:32,023 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 07:27:32,023 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 07:27:32,024 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound10.c [2022-04-28 07:27:32,083 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e43548633/69f6a137892544c88351f81f868349bd/FLAG2336e50a5 [2022-04-28 07:27:32,391 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 07:27:32,391 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound10.c [2022-04-28 07:27:32,396 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e43548633/69f6a137892544c88351f81f868349bd/FLAG2336e50a5 [2022-04-28 07:27:32,823 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e43548633/69f6a137892544c88351f81f868349bd [2022-04-28 07:27:32,825 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 07:27:32,826 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 07:27:32,827 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 07:27:32,827 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 07:27:32,829 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 07:27:32,829 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:27:32" (1/1) ... [2022-04-28 07:27:32,830 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1078dee6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:27:32, skipping insertion in model container [2022-04-28 07:27:32,830 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:27:32" (1/1) ... [2022-04-28 07:27:32,834 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 07:27:32,841 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 07:27:33,003 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-scaling/prodbin-ll_valuebound10.c[537,550] [2022-04-28 07:27:33,022 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:27:33,028 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 07:27:33,038 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-scaling/prodbin-ll_valuebound10.c[537,550] [2022-04-28 07:27:33,052 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:27:33,060 INFO L208 MainTranslator]: Completed translation [2022-04-28 07:27:33,060 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:27:33 WrapperNode [2022-04-28 07:27:33,060 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 07:27:33,061 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 07:27:33,061 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 07:27:33,061 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 07:27:33,068 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:27:33" (1/1) ... [2022-04-28 07:27:33,069 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:27:33" (1/1) ... [2022-04-28 07:27:33,074 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:27:33" (1/1) ... [2022-04-28 07:27:33,074 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:27:33" (1/1) ... [2022-04-28 07:27:33,088 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:27:33" (1/1) ... [2022-04-28 07:27:33,092 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:27:33" (1/1) ... [2022-04-28 07:27:33,092 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:27:33" (1/1) ... [2022-04-28 07:27:33,093 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 07:27:33,094 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 07:27:33,094 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 07:27:33,094 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 07:27:33,095 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:27:33" (1/1) ... [2022-04-28 07:27:33,106 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:27:33,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:27:33,120 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-28 07:27:33,126 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-28 07:27:33,150 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 07:27:33,150 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 07:27:33,151 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 07:27:33,151 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 07:27:33,151 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 07:27:33,151 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 07:27:33,151 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 07:27:33,151 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 07:27:33,152 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 07:27:33,152 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 07:27:33,152 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 07:27:33,153 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 07:27:33,153 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 07:27:33,153 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 07:27:33,153 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 07:27:33,153 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 07:27:33,153 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 07:27:33,153 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 07:27:33,154 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 07:27:33,154 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 07:27:33,192 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 07:27:33,193 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 07:27:33,314 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 07:27:33,319 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 07:27:33,319 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 07:27:33,320 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:27:33 BoogieIcfgContainer [2022-04-28 07:27:33,320 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 07:27:33,321 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 07:27:33,321 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 07:27:33,325 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 07:27:33,325 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 07:27:32" (1/3) ... [2022-04-28 07:27:33,326 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d4bb2a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:27:33, skipping insertion in model container [2022-04-28 07:27:33,326 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:27:33" (2/3) ... [2022-04-28 07:27:33,326 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d4bb2a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:27:33, skipping insertion in model container [2022-04-28 07:27:33,326 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:27:33" (3/3) ... [2022-04-28 07:27:33,327 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound10.c [2022-04-28 07:27:33,346 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 07:27:33,346 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 07:27:33,380 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 07:27:33,385 INFO L357 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@1eba5bd0, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@1eb5e1b [2022-04-28 07:27:33,385 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 07:27:33,395 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:27:33,402 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:27:33,402 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:27:33,402 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:27:33,403 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:27:33,406 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:27:33,406 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-28 07:27:33,411 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:33,411 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [880578062] [2022-04-28 07:27:33,423 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:27:33,423 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-28 07:27:33,425 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:27:33,426 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1560115290] [2022-04-28 07:27:33,426 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:27:33,426 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:27:33,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:33,542 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 07:27:33,545 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:33,562 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(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); {35#true} is VALID [2022-04-28 07:27:33,562 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 07:27:33,563 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 07:27:33,563 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 07:27:33,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:33,572 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:27:33,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:27:33,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:27:33,573 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 07:27:33,573 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 07:27:33,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:33,579 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:27:33,579 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:27:33,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:27:33,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 07:27:33,580 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 07:27:33,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:33,585 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:27:33,585 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:27:33,586 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:27:33,586 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 07:27:33,587 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 07:27:33,587 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(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); {35#true} is VALID [2022-04-28 07:27:33,587 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 07:27:33,587 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-28 07:27:33,587 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-28 07:27:33,588 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#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; {35#true} is VALID [2022-04-28 07:27:33,588 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-28 07:27:33,588 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:27:33,588 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:27:33,588 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:27:33,589 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-28 07:27:33,589 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-28 07:27:33,589 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-28 07:27:33,589 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:27:33,589 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:27:33,590 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:27:33,590 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-28 07:27:33,590 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-28 07:27:33,590 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:27:33,590 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:27:33,591 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:27:33,591 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-28 07:27:33,591 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-28 07:27:33,591 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-28 07:27:33,591 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-28 07:27:33,591 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 07:27:33,592 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 07:27:33,592 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 07:27:33,592 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:27:33,592 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:27:33,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1560115290] [2022-04-28 07:27:33,593 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1560115290] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:27:33,593 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:27:33,593 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:27:33,595 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:27:33,595 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [880578062] [2022-04-28 07:27:33,595 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [880578062] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:27:33,595 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:27:33,595 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:27:33,596 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1349064807] [2022-04-28 07:27:33,596 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:27:33,599 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 07:27:33,600 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:27:33,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:27:33,623 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:33,623 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 07:27:33,623 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:33,647 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 07:27:33,647 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 07:27:33,649 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:27:33,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:33,733 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-28 07:27:33,733 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 07:27:33,734 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 07:27:33,734 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:27:33,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:27:33,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 07:27:33,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:27:33,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 07:27:33,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-28 07:27:33,813 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:33,819 INFO L225 Difference]: With dead ends: 57 [2022-04-28 07:27:33,819 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 07:27:33,821 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 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-28 07:27:33,823 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:27:33,824 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:27:33,834 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 07:27:33,843 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 07:27:33,843 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:27:33,844 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:27:33,844 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:27:33,845 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:27:33,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:33,848 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 07:27:33,848 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 07:27:33,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:33,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:33,849 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-28 07:27:33,849 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-28 07:27:33,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:33,851 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-28 07:27:33,851 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 07:27:33,852 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:33,852 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:33,852 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:27:33,852 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:27:33,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:27:33,854 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-28 07:27:33,854 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-28 07:27:33,855 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:27:33,855 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-28 07:27:33,855 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 07:27:33,855 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-28 07:27:33,883 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:33,883 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-28 07:27:33,883 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:27:33,883 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:27:33,884 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:27:33,884 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 07:27:33,884 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:27:33,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:27:33,885 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-28 07:27:33,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:33,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1933042250] [2022-04-28 07:27:33,885 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:27:33,885 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-28 07:27:33,886 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:27:33,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [596324756] [2022-04-28 07:27:33,886 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:27:33,886 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:27:33,903 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:27:33,903 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1749071610] [2022-04-28 07:27:33,903 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:27:33,903 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:27:33,904 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:27:33,905 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-28 07:27:33,929 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-28 07:27:33,971 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 07:27:33,971 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:27:33,972 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 07:27:33,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:33,984 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:27:34,106 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-28 07:27:34,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {277#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); {277#true} is VALID [2022-04-28 07:27:34,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 07:27:34,106 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-28 07:27:34,107 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-28 07:27:34,107 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#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; {277#true} is VALID [2022-04-28 07:27:34,107 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {277#true} is VALID [2022-04-28 07:27:34,107 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 07:27:34,107 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 07:27:34,107 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 07:27:34,108 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-28 07:27:34,108 INFO L290 TraceCheckUtils]: 11: Hoare triple {277#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {277#true} is VALID [2022-04-28 07:27:34,108 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {277#true} is VALID [2022-04-28 07:27:34,108 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 07:27:34,108 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 07:27:34,108 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 07:27:34,109 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-28 07:27:34,109 INFO L272 TraceCheckUtils]: 17: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {277#true} is VALID [2022-04-28 07:27:34,109 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-28 07:27:34,109 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-28 07:27:34,109 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-28 07:27:34,109 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-28 07:27:34,110 INFO L290 TraceCheckUtils]: 22: Hoare triple {277#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:27:34,110 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:27:34,111 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(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)); {355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:27:34,112 INFO L290 TraceCheckUtils]: 25: Hoare triple {355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:27:34,112 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-28 07:27:34,112 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-28 07:27:34,113 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:27:34,113 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:27:34,113 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:27:34,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [596324756] [2022-04-28 07:27:34,113 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:27:34,113 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1749071610] [2022-04-28 07:27:34,114 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1749071610] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:27:34,114 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:27:34,114 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:27:34,114 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:27:34,115 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1933042250] [2022-04-28 07:27:34,115 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1933042250] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:27:34,115 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:27:34,115 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:27:34,115 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [324411962] [2022-04-28 07:27:34,115 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:27:34,116 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 07:27:34,116 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:27:34,116 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:27:34,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:34,132 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:27:34,132 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:34,133 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:27:34,133 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 07:27:34,133 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:27:34,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:34,255 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-28 07:27:34,255 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 07:27:34,255 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 07:27:34,255 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:27:34,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:27:34,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 07:27:34,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:27:34,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-28 07:27:34,259 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-28 07:27:34,288 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:34,289 INFO L225 Difference]: With dead ends: 39 [2022-04-28 07:27:34,289 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 07:27:34,290 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 07:27:34,290 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:27:34,291 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:27:34,291 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 07:27:34,299 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-28 07:27:34,299 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:27:34,299 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:27:34,300 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:27:34,300 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:27:34,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:34,302 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 07:27:34,302 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 07:27:34,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:34,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:34,303 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 07:27:34,303 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-28 07:27:34,305 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:34,305 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-28 07:27:34,305 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-28 07:27:34,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:34,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:34,305 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:27:34,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:27:34,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:27:34,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-28 07:27:34,307 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-28 07:27:34,307 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:27:34,307 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-28 07:27:34,308 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:27:34,308 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-28 07:27:34,343 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:34,344 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-28 07:27:34,344 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 07:27:34,344 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:27:34,344 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:27:34,362 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-28 07:27:34,558 WARN L477 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-28 07:27:34,559 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:27:34,559 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:27:34,559 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-28 07:27:34,559 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:34,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1013173228] [2022-04-28 07:27:34,560 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:27:34,560 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-28 07:27:34,560 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:27:34,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1143614400] [2022-04-28 07:27:34,561 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:27:34,561 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:27:34,578 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:27:34,578 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1466290783] [2022-04-28 07:27:34,578 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:27:34,578 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:27:34,578 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:27:34,592 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-28 07:27:34,593 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-28 07:27:34,632 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:27:34,632 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:27:34,633 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 07:27:34,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:34,646 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:27:34,761 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-28 07:27:34,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {585#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); {585#true} is VALID [2022-04-28 07:27:34,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 07:27:34,762 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-28 07:27:34,762 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-28 07:27:34,762 INFO L290 TraceCheckUtils]: 5: Hoare triple {585#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; {585#true} is VALID [2022-04-28 07:27:34,762 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {585#true} is VALID [2022-04-28 07:27:34,762 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 07:27:34,762 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 07:27:34,762 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 07:27:34,763 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-28 07:27:34,763 INFO L290 TraceCheckUtils]: 11: Hoare triple {585#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {585#true} is VALID [2022-04-28 07:27:34,763 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {585#true} is VALID [2022-04-28 07:27:34,763 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 07:27:34,763 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 07:27:34,763 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 07:27:34,765 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-28 07:27:34,765 INFO L272 TraceCheckUtils]: 17: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {585#true} is VALID [2022-04-28 07:27:34,766 INFO L290 TraceCheckUtils]: 18: Hoare triple {585#true} ~cond := #in~cond; {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:27:34,766 INFO L290 TraceCheckUtils]: 19: Hoare triple {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:27:34,766 INFO L290 TraceCheckUtils]: 20: Hoare triple {648#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:27:34,767 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {648#(not (= |assume_abort_if_not_#in~cond| 0))} {585#true} #65#return; {655#(<= 1 main_~b~0)} is VALID [2022-04-28 07:27:34,767 INFO L290 TraceCheckUtils]: 22: Hoare triple {655#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 07:27:34,768 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 07:27:34,768 INFO L272 TraceCheckUtils]: 24: Hoare triple {659#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {585#true} is VALID [2022-04-28 07:27:34,768 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-28 07:27:34,768 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-28 07:27:34,768 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-28 07:27:34,769 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {585#true} {659#(<= 1 main_~y~0)} #67#return; {659#(<= 1 main_~y~0)} is VALID [2022-04-28 07:27:34,771 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-28 07:27:34,771 INFO L272 TraceCheckUtils]: 30: Hoare triple {586#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {586#false} is VALID [2022-04-28 07:27:34,772 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-28 07:27:34,772 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-28 07:27:34,772 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-28 07:27:34,773 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 07:27:34,773 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:27:34,773 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:27:34,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1143614400] [2022-04-28 07:27:34,773 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:27:34,773 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1466290783] [2022-04-28 07:27:34,773 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1466290783] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:27:34,773 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:27:34,773 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 07:27:34,774 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:27:34,774 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1013173228] [2022-04-28 07:27:34,774 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1013173228] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:27:34,774 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:27:34,774 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 07:27:34,774 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [550890372] [2022-04-28 07:27:34,774 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:27:34,775 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 07:27:34,775 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:27:34,775 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:27:34,795 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:34,795 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 07:27:34,795 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:34,796 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 07:27:34,796 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 07:27:34,796 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:27:34,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:34,945 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-28 07:27:34,945 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 07:27:34,945 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-28 07:27:34,946 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:27:34,946 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:27:34,947 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 07:27:34,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:27:34,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-28 07:27:34,949 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-28 07:27:34,978 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:34,979 INFO L225 Difference]: With dead ends: 43 [2022-04-28 07:27:34,979 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 07:27:34,979 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 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-28 07:27:34,980 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:27:34,980 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:27:34,981 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 07:27:34,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-28 07:27:34,993 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:27:34,993 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:27:34,993 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:27:34,994 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:27:34,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:34,995 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 07:27:34,995 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 07:27:34,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:34,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:34,996 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-28 07:27:34,996 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-28 07:27:34,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:34,998 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 07:27:34,998 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 07:27:34,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:34,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:34,998 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:27:34,998 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:27:34,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:27:34,999 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-28 07:27:34,999 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-28 07:27:35,000 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:27:35,000 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-28 07:27:35,000 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:27:35,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-28 07:27:35,029 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:35,029 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-28 07:27:35,030 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 07:27:35,030 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:27:35,030 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:27:35,046 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-28 07:27:35,243 WARN L477 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-28 07:27:35,244 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:27:35,244 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:27:35,244 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-28 07:27:35,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:35,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1174288689] [2022-04-28 07:27:35,245 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:27:35,245 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-28 07:27:35,245 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:27:35,245 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1995577327] [2022-04-28 07:27:35,245 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:27:35,245 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:27:35,264 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:27:35,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [164752056] [2022-04-28 07:27:35,265 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:27:35,265 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:27:35,265 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:27:35,266 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-28 07:27:35,268 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-28 07:27:35,331 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:27:35,331 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:27:35,332 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 07:27:35,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:35,345 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:27:37,470 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 07:27:37,470 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#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); {922#true} is VALID [2022-04-28 07:27:37,471 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:27:37,471 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 07:27:37,471 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 07:27:37,471 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#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; {922#true} is VALID [2022-04-28 07:27:37,471 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-28 07:27:37,471 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:27:37,471 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:27:37,471 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:27:37,472 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 07:27:37,472 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-28 07:27:37,472 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-28 07:27:37,472 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:27:37,472 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:27:37,472 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:27:37,472 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 07:27:37,472 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-28 07:27:37,472 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:27:37,473 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:27:37,473 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:27:37,473 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 07:27:37,473 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:27:37,474 INFO L290 TraceCheckUtils]: 23: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:27:37,474 INFO L272 TraceCheckUtils]: 24: Hoare triple {993#(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)); {922#true} is VALID [2022-04-28 07:27:37,474 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:27:37,474 INFO L290 TraceCheckUtils]: 26: Hoare triple {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:37,475 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:37,475 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:27:37,476 INFO L290 TraceCheckUtils]: 29: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1017#(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-28 07:27:37,477 INFO L290 TraceCheckUtils]: 30: Hoare triple {1017#(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; {1021#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:27:37,478 INFO L290 TraceCheckUtils]: 31: Hoare triple {1021#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~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); {1025#(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-28 07:27:37,478 INFO L290 TraceCheckUtils]: 32: Hoare triple {1025#(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; {1025#(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-28 07:27:38,036 INFO L272 TraceCheckUtils]: 33: Hoare triple {1025#(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)); {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:27:38,037 INFO L290 TraceCheckUtils]: 34: Hoare triple {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1036#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:27:38,037 INFO L290 TraceCheckUtils]: 35: Hoare triple {1036#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 07:27:38,037 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 07:27:38,038 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:27:38,038 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:28:41,647 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-28 07:28:41,647 INFO L290 TraceCheckUtils]: 35: Hoare triple {1036#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-28 07:28:41,648 INFO L290 TraceCheckUtils]: 34: Hoare triple {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1036#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:41,648 INFO L272 TraceCheckUtils]: 33: Hoare triple {1052#(= (+ 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)); {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:28:41,649 INFO L290 TraceCheckUtils]: 32: Hoare triple {1052#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1052#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:28:41,658 INFO L290 TraceCheckUtils]: 31: Hoare triple {1059#(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); {1052#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:28:41,660 INFO L290 TraceCheckUtils]: 30: Hoare triple {1063#(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; {1059#(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-28 07:28:41,661 INFO L290 TraceCheckUtils]: 29: Hoare triple {1063#(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); {1063#(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-28 07:28:42,945 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {922#true} #67#return; {1063#(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-28 07:28:42,945 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:42,946 INFO L290 TraceCheckUtils]: 26: Hoare triple {1079#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:42,946 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1079#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:28:42,946 INFO L272 TraceCheckUtils]: 24: Hoare triple {922#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-28 07:28:42,946 INFO L290 TraceCheckUtils]: 23: Hoare triple {922#true} assume !false; {922#true} is VALID [2022-04-28 07:28:42,947 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {922#true} is VALID [2022-04-28 07:28:42,947 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-28 07:28:42,947 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:28:42,947 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:28:42,947 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:28:42,947 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-28 07:28:42,947 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-28 07:28:42,947 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:28:42,948 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:28:42,948 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:28:42,948 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-28 07:28:42,948 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-28 07:28:42,948 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-28 07:28:42,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:28:42,948 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-28 07:28:42,949 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-28 07:28:42,949 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-28 07:28:42,949 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#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; {922#true} is VALID [2022-04-28 07:28:42,949 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-28 07:28:42,949 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-28 07:28:42,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-28 07:28:42,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#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); {922#true} is VALID [2022-04-28 07:28:42,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-28 07:28:42,950 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:28:42,950 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:28:42,950 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1995577327] [2022-04-28 07:28:42,950 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:28:42,950 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [164752056] [2022-04-28 07:28:42,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [164752056] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:28:42,951 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:28:42,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-28 07:28:42,951 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:28:42,951 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1174288689] [2022-04-28 07:28:42,951 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1174288689] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:28:42,951 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:28:42,951 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 07:28:42,951 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [671512202] [2022-04-28 07:28:42,951 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:28:42,952 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 07:28:42,952 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:28:42,952 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:28:44,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:28:44,982 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 07:28:44,982 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:44,982 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 07:28:44,982 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-04-28 07:28:44,983 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:28:50,575 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.72s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:28:52,580 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-28 07:28:55,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:55,920 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-28 07:28:55,920 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 07:28:55,920 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 07:28:55,920 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:28:55,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:28:55,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-28 07:28:55,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:28:55,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-28 07:28:55,923 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-04-28 07:28:56,117 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-28 07:28:56,118 INFO L225 Difference]: With dead ends: 49 [2022-04-28 07:28:56,118 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 07:28:56,119 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 8.9s TimeCoverageRelationStatistics Valid=53, Invalid=187, Unknown=0, NotChecked=0, Total=240 [2022-04-28 07:28:56,119 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 18 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 136 mSolverCounterSat, 3 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 6.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 140 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 136 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 6.2s IncrementalHoareTripleChecker+Time [2022-04-28 07:28:56,119 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 129 Invalid, 140 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 136 Invalid, 1 Unknown, 0 Unchecked, 6.2s Time] [2022-04-28 07:28:56,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 07:28:56,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-04-28 07:28:56,145 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:28:56,145 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:28:56,145 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:28:56,146 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:28:56,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:56,151 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 07:28:56,152 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 07:28:56,152 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:56,152 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:56,152 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-28 07:28:56,152 INFO L87 Difference]: Start difference. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-28 07:28:56,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:56,154 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-28 07:28:56,154 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-28 07:28:56,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:56,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:56,154 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:28:56,154 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:28:56,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:28:56,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-28 07:28:56,156 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 37 [2022-04-28 07:28:56,156 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:28:56,156 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-28 07:28:56,156 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:28:56,156 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-28 07:28:56,765 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:28:56,766 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-28 07:28:56,766 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-28 07:28:56,766 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:28:56,766 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:28:56,782 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-28 07:28:56,967 WARN L477 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-28 07:28:56,967 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:28:56,968 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:28:56,968 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-28 07:28:56,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:56,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [635356267] [2022-04-28 07:28:56,969 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:28:56,969 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-28 07:28:56,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:28:56,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [846208137] [2022-04-28 07:28:56,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:28:56,969 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:28:56,988 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:28:56,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1330584849] [2022-04-28 07:28:56,989 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:28:56,989 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:28:56,989 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:28:57,001 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-28 07:28:57,037 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-28 07:28:57,077 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:28:57,078 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:28:57,078 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 07:28:57,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:57,089 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:28:58,063 INFO L272 TraceCheckUtils]: 0: Hoare triple {1437#true} call ULTIMATE.init(); {1437#true} is VALID [2022-04-28 07:28:58,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {1437#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); {1437#true} is VALID [2022-04-28 07:28:58,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-28 07:28:58,064 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1437#true} {1437#true} #71#return; {1437#true} is VALID [2022-04-28 07:28:58,064 INFO L272 TraceCheckUtils]: 4: Hoare triple {1437#true} call #t~ret6 := main(); {1437#true} is VALID [2022-04-28 07:28:58,064 INFO L290 TraceCheckUtils]: 5: Hoare triple {1437#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; {1437#true} is VALID [2022-04-28 07:28:58,064 INFO L272 TraceCheckUtils]: 6: Hoare triple {1437#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-28 07:28:58,064 INFO L290 TraceCheckUtils]: 7: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-28 07:28:58,064 INFO L290 TraceCheckUtils]: 8: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-28 07:28:58,064 INFO L290 TraceCheckUtils]: 9: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-28 07:28:58,065 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1437#true} {1437#true} #61#return; {1437#true} is VALID [2022-04-28 07:28:58,065 INFO L290 TraceCheckUtils]: 11: Hoare triple {1437#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1437#true} is VALID [2022-04-28 07:28:58,065 INFO L272 TraceCheckUtils]: 12: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-28 07:28:58,065 INFO L290 TraceCheckUtils]: 13: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-28 07:28:58,065 INFO L290 TraceCheckUtils]: 14: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-28 07:28:58,065 INFO L290 TraceCheckUtils]: 15: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-28 07:28:58,065 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1437#true} {1437#true} #63#return; {1437#true} is VALID [2022-04-28 07:28:58,065 INFO L272 TraceCheckUtils]: 17: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1437#true} is VALID [2022-04-28 07:28:58,066 INFO L290 TraceCheckUtils]: 18: Hoare triple {1437#true} ~cond := #in~cond; {1496#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:28:58,070 INFO L290 TraceCheckUtils]: 19: Hoare triple {1496#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:58,070 INFO L290 TraceCheckUtils]: 20: Hoare triple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:58,071 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} {1437#true} #65#return; {1507#(<= 1 main_~b~0)} is VALID [2022-04-28 07:28:58,071 INFO L290 TraceCheckUtils]: 22: Hoare triple {1507#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1511#(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-28 07:28:58,072 INFO L290 TraceCheckUtils]: 23: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1511#(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-28 07:28:58,072 INFO L272 TraceCheckUtils]: 24: Hoare triple {1511#(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)); {1437#true} is VALID [2022-04-28 07:28:58,072 INFO L290 TraceCheckUtils]: 25: Hoare triple {1437#true} ~cond := #in~cond; {1521#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:58,072 INFO L290 TraceCheckUtils]: 26: Hoare triple {1521#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:58,073 INFO L290 TraceCheckUtils]: 27: Hoare triple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:58,073 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1511#(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-28 07:28:58,074 INFO L290 TraceCheckUtils]: 29: Hoare triple {1511#(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); {1511#(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-28 07:28:58,074 INFO L290 TraceCheckUtils]: 30: Hoare triple {1511#(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)); {1538#(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-28 07:28:58,075 INFO L290 TraceCheckUtils]: 31: Hoare triple {1538#(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); {1542#(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-28 07:28:58,076 INFO L290 TraceCheckUtils]: 32: Hoare triple {1542#(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; {1542#(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-28 07:28:58,077 INFO L272 TraceCheckUtils]: 33: Hoare triple {1542#(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)); {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:28:58,078 INFO L290 TraceCheckUtils]: 34: Hoare triple {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:58,078 INFO L290 TraceCheckUtils]: 35: Hoare triple {1553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1438#false} is VALID [2022-04-28 07:28:58,078 INFO L290 TraceCheckUtils]: 36: Hoare triple {1438#false} assume !false; {1438#false} is VALID [2022-04-28 07:28:58,079 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 07:28:58,079 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:29:40,399 INFO L290 TraceCheckUtils]: 36: Hoare triple {1438#false} assume !false; {1438#false} is VALID [2022-04-28 07:29:40,400 INFO L290 TraceCheckUtils]: 35: Hoare triple {1553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1438#false} is VALID [2022-04-28 07:29:40,400 INFO L290 TraceCheckUtils]: 34: Hoare triple {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:40,401 INFO L272 TraceCheckUtils]: 33: Hoare triple {1569#(= (+ 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)); {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:29:40,401 INFO L290 TraceCheckUtils]: 32: Hoare triple {1569#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1569#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:29:40,405 INFO L290 TraceCheckUtils]: 31: Hoare triple {1576#(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); {1569#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:29:40,406 INFO L290 TraceCheckUtils]: 30: Hoare triple {1580#(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)); {1576#(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-28 07:29:40,406 INFO L290 TraceCheckUtils]: 29: Hoare triple {1580#(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); {1580#(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-28 07:29:40,408 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} {1587#(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)))} #67#return; {1580#(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-28 07:29:40,409 INFO L290 TraceCheckUtils]: 27: Hoare triple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:40,409 INFO L290 TraceCheckUtils]: 26: Hoare triple {1597#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:40,409 INFO L290 TraceCheckUtils]: 25: Hoare triple {1437#true} ~cond := #in~cond; {1597#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:29:40,409 INFO L272 TraceCheckUtils]: 24: Hoare triple {1587#(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)); {1437#true} is VALID [2022-04-28 07:29:40,410 INFO L290 TraceCheckUtils]: 23: Hoare triple {1587#(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; {1587#(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-28 07:29:40,410 INFO L290 TraceCheckUtils]: 22: Hoare triple {1607#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1587#(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-28 07:29:40,411 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} {1437#true} #65#return; {1607#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 07:29:40,411 INFO L290 TraceCheckUtils]: 20: Hoare triple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:40,412 INFO L290 TraceCheckUtils]: 19: Hoare triple {1620#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:29:40,412 INFO L290 TraceCheckUtils]: 18: Hoare triple {1437#true} ~cond := #in~cond; {1620#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:29:40,412 INFO L272 TraceCheckUtils]: 17: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1437#true} is VALID [2022-04-28 07:29:40,412 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1437#true} {1437#true} #63#return; {1437#true} is VALID [2022-04-28 07:29:40,413 INFO L290 TraceCheckUtils]: 15: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-28 07:29:40,413 INFO L290 TraceCheckUtils]: 14: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-28 07:29:40,413 INFO L290 TraceCheckUtils]: 13: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-28 07:29:40,413 INFO L272 TraceCheckUtils]: 12: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-28 07:29:40,414 INFO L290 TraceCheckUtils]: 11: Hoare triple {1437#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1437#true} is VALID [2022-04-28 07:29:40,414 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1437#true} {1437#true} #61#return; {1437#true} is VALID [2022-04-28 07:29:40,414 INFO L290 TraceCheckUtils]: 9: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-28 07:29:40,414 INFO L290 TraceCheckUtils]: 8: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-28 07:29:40,414 INFO L290 TraceCheckUtils]: 7: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-28 07:29:40,415 INFO L272 TraceCheckUtils]: 6: Hoare triple {1437#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-28 07:29:40,415 INFO L290 TraceCheckUtils]: 5: Hoare triple {1437#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; {1437#true} is VALID [2022-04-28 07:29:40,417 INFO L272 TraceCheckUtils]: 4: Hoare triple {1437#true} call #t~ret6 := main(); {1437#true} is VALID [2022-04-28 07:29:40,417 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1437#true} {1437#true} #71#return; {1437#true} is VALID [2022-04-28 07:29:40,417 INFO L290 TraceCheckUtils]: 2: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-28 07:29:40,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {1437#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); {1437#true} is VALID [2022-04-28 07:29:40,418 INFO L272 TraceCheckUtils]: 0: Hoare triple {1437#true} call ULTIMATE.init(); {1437#true} is VALID [2022-04-28 07:29:40,418 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 07:29:40,418 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:29:40,419 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [846208137] [2022-04-28 07:29:40,419 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:29:40,419 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1330584849] [2022-04-28 07:29:40,419 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1330584849] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:29:40,419 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:29:40,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 19 [2022-04-28 07:29:40,419 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:29:40,420 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [635356267] [2022-04-28 07:29:40,420 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [635356267] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:40,420 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:40,420 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 07:29:40,420 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1948900806] [2022-04-28 07:29:40,420 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:29:40,420 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 07:29:40,420 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:29:40,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:29:40,438 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:40,438 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 07:29:40,438 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:40,439 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 07:29:40,439 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:29:40,439 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:29:40,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:40,920 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-28 07:29:40,920 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 07:29:40,920 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-28 07:29:40,920 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:29:40,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:29:40,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-28 07:29:40,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:29:40,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-28 07:29:40,924 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 56 transitions. [2022-04-28 07:29:40,964 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:40,965 INFO L225 Difference]: With dead ends: 59 [2022-04-28 07:29:40,965 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 07:29:40,965 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=80, Invalid=382, Unknown=0, NotChecked=0, Total=462 [2022-04-28 07:29:40,966 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 26 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 204 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 209 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 204 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 07:29:40,966 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 139 Invalid, 209 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 204 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 07:29:40,967 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 07:29:40,997 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-04-28 07:29:40,997 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:29:40,997 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:29:40,998 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:29:40,998 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:29:40,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:40,999 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 07:29:40,999 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 07:29:41,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:41,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:41,000 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-28 07:29:41,000 INFO L87 Difference]: Start difference. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-28 07:29:41,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:41,001 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-28 07:29:41,002 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-28 07:29:41,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:41,002 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:41,002 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:29:41,002 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:29:41,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:29:41,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 07:29:41,003 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 37 [2022-04-28 07:29:41,004 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:29:41,004 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 07:29:41,004 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 07:29:41,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 07:29:41,888 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:41,889 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 07:29:41,889 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 07:29:41,889 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:29:41,889 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:29:41,905 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-28 07:29:42,089 WARN L477 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-28 07:29:42,090 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:29:42,090 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:29:42,090 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-28 07:29:42,090 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:42,090 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1898807215] [2022-04-28 07:29:42,091 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:29:42,091 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-28 07:29:42,091 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:29:42,091 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1807134861] [2022-04-28 07:29:42,091 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:29:42,091 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:29:42,111 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:29:42,111 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1104575878] [2022-04-28 07:29:42,111 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:29:42,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:29:42,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:29:42,112 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-28 07:29:42,113 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-28 07:29:42,147 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:29:42,148 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:29:42,148 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 07:29:42,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:42,157 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:29:50,031 INFO L272 TraceCheckUtils]: 0: Hoare triple {2005#true} call ULTIMATE.init(); {2005#true} is VALID [2022-04-28 07:29:50,031 INFO L290 TraceCheckUtils]: 1: Hoare triple {2005#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); {2005#true} is VALID [2022-04-28 07:29:50,031 INFO L290 TraceCheckUtils]: 2: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 07:29:50,031 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2005#true} {2005#true} #71#return; {2005#true} is VALID [2022-04-28 07:29:50,031 INFO L272 TraceCheckUtils]: 4: Hoare triple {2005#true} call #t~ret6 := main(); {2005#true} is VALID [2022-04-28 07:29:50,031 INFO L290 TraceCheckUtils]: 5: Hoare triple {2005#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; {2005#true} is VALID [2022-04-28 07:29:50,031 INFO L272 TraceCheckUtils]: 6: Hoare triple {2005#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-28 07:29:50,031 INFO L290 TraceCheckUtils]: 7: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 07:29:50,031 INFO L290 TraceCheckUtils]: 8: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 07:29:50,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 07:29:50,032 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2005#true} {2005#true} #61#return; {2005#true} is VALID [2022-04-28 07:29:50,032 INFO L290 TraceCheckUtils]: 11: Hoare triple {2005#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2005#true} is VALID [2022-04-28 07:29:50,032 INFO L272 TraceCheckUtils]: 12: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-28 07:29:50,032 INFO L290 TraceCheckUtils]: 13: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 07:29:50,032 INFO L290 TraceCheckUtils]: 14: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 07:29:50,032 INFO L290 TraceCheckUtils]: 15: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 07:29:50,032 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2005#true} {2005#true} #63#return; {2005#true} is VALID [2022-04-28 07:29:50,032 INFO L272 TraceCheckUtils]: 17: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2005#true} is VALID [2022-04-28 07:29:50,032 INFO L290 TraceCheckUtils]: 18: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 07:29:50,032 INFO L290 TraceCheckUtils]: 19: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 07:29:50,033 INFO L290 TraceCheckUtils]: 20: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 07:29:50,033 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2005#true} {2005#true} #65#return; {2005#true} is VALID [2022-04-28 07:29:50,033 INFO L290 TraceCheckUtils]: 22: Hoare triple {2005#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2005#true} is VALID [2022-04-28 07:29:50,033 INFO L290 TraceCheckUtils]: 23: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-28 07:29:50,033 INFO L272 TraceCheckUtils]: 24: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-28 07:29:50,033 INFO L290 TraceCheckUtils]: 25: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 07:29:50,033 INFO L290 TraceCheckUtils]: 26: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 07:29:50,033 INFO L290 TraceCheckUtils]: 27: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 07:29:50,033 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2005#true} {2005#true} #67#return; {2005#true} is VALID [2022-04-28 07:29:50,033 INFO L290 TraceCheckUtils]: 29: Hoare triple {2005#true} assume !!(0 != ~y~0); {2005#true} is VALID [2022-04-28 07:29:50,033 INFO L290 TraceCheckUtils]: 30: Hoare triple {2005#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; {2005#true} is VALID [2022-04-28 07:29:50,034 INFO L290 TraceCheckUtils]: 31: Hoare triple {2005#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); {2005#true} is VALID [2022-04-28 07:29:50,034 INFO L290 TraceCheckUtils]: 32: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-28 07:29:50,034 INFO L272 TraceCheckUtils]: 33: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-28 07:29:50,039 INFO L290 TraceCheckUtils]: 34: Hoare triple {2005#true} ~cond := #in~cond; {2112#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:50,040 INFO L290 TraceCheckUtils]: 35: Hoare triple {2112#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:50,040 INFO L290 TraceCheckUtils]: 36: Hoare triple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:52,043 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} {2005#true} #67#return; {2123#(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-28 07:29:52,044 INFO L290 TraceCheckUtils]: 38: Hoare triple {2123#(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); {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:29:52,044 INFO L272 TraceCheckUtils]: 39: Hoare triple {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:29:52,045 INFO L290 TraceCheckUtils]: 40: Hoare triple {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:52,045 INFO L290 TraceCheckUtils]: 41: Hoare triple {2135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2006#false} is VALID [2022-04-28 07:29:52,045 INFO L290 TraceCheckUtils]: 42: Hoare triple {2006#false} assume !false; {2006#false} is VALID [2022-04-28 07:29:52,045 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 07:29:52,045 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:30:00,808 INFO L290 TraceCheckUtils]: 42: Hoare triple {2006#false} assume !false; {2006#false} is VALID [2022-04-28 07:30:00,809 INFO L290 TraceCheckUtils]: 41: Hoare triple {2135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2006#false} is VALID [2022-04-28 07:30:00,809 INFO L290 TraceCheckUtils]: 40: Hoare triple {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:00,810 INFO L272 TraceCheckUtils]: 39: Hoare triple {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:30:00,810 INFO L290 TraceCheckUtils]: 38: Hoare triple {2154#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:30:00,811 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} {2005#true} #67#return; {2154#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:30:00,811 INFO L290 TraceCheckUtils]: 36: Hoare triple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:00,812 INFO L290 TraceCheckUtils]: 35: Hoare triple {2167#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:00,812 INFO L290 TraceCheckUtils]: 34: Hoare triple {2005#true} ~cond := #in~cond; {2167#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:30:00,812 INFO L272 TraceCheckUtils]: 33: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-28 07:30:00,812 INFO L290 TraceCheckUtils]: 32: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-28 07:30:00,812 INFO L290 TraceCheckUtils]: 31: Hoare triple {2005#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); {2005#true} is VALID [2022-04-28 07:30:00,812 INFO L290 TraceCheckUtils]: 30: Hoare triple {2005#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; {2005#true} is VALID [2022-04-28 07:30:00,812 INFO L290 TraceCheckUtils]: 29: Hoare triple {2005#true} assume !!(0 != ~y~0); {2005#true} is VALID [2022-04-28 07:30:00,813 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2005#true} {2005#true} #67#return; {2005#true} is VALID [2022-04-28 07:30:00,813 INFO L290 TraceCheckUtils]: 27: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 07:30:00,813 INFO L290 TraceCheckUtils]: 26: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 07:30:00,813 INFO L290 TraceCheckUtils]: 25: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 07:30:00,813 INFO L272 TraceCheckUtils]: 24: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-28 07:30:00,813 INFO L290 TraceCheckUtils]: 23: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-28 07:30:00,813 INFO L290 TraceCheckUtils]: 22: Hoare triple {2005#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2005#true} is VALID [2022-04-28 07:30:00,813 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2005#true} {2005#true} #65#return; {2005#true} is VALID [2022-04-28 07:30:00,813 INFO L290 TraceCheckUtils]: 20: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 07:30:00,813 INFO L290 TraceCheckUtils]: 19: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 07:30:00,813 INFO L290 TraceCheckUtils]: 18: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 07:30:00,814 INFO L272 TraceCheckUtils]: 17: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2005#true} is VALID [2022-04-28 07:30:00,814 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2005#true} {2005#true} #63#return; {2005#true} is VALID [2022-04-28 07:30:00,814 INFO L290 TraceCheckUtils]: 15: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 07:30:00,814 INFO L290 TraceCheckUtils]: 14: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 07:30:00,814 INFO L290 TraceCheckUtils]: 13: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 07:30:00,814 INFO L272 TraceCheckUtils]: 12: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-28 07:30:00,814 INFO L290 TraceCheckUtils]: 11: Hoare triple {2005#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2005#true} is VALID [2022-04-28 07:30:00,814 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2005#true} {2005#true} #61#return; {2005#true} is VALID [2022-04-28 07:30:00,814 INFO L290 TraceCheckUtils]: 9: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 07:30:00,814 INFO L290 TraceCheckUtils]: 8: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-28 07:30:00,814 INFO L290 TraceCheckUtils]: 7: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-28 07:30:00,814 INFO L272 TraceCheckUtils]: 6: Hoare triple {2005#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-28 07:30:00,815 INFO L290 TraceCheckUtils]: 5: Hoare triple {2005#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; {2005#true} is VALID [2022-04-28 07:30:00,815 INFO L272 TraceCheckUtils]: 4: Hoare triple {2005#true} call #t~ret6 := main(); {2005#true} is VALID [2022-04-28 07:30:00,815 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2005#true} {2005#true} #71#return; {2005#true} is VALID [2022-04-28 07:30:00,815 INFO L290 TraceCheckUtils]: 2: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-28 07:30:00,815 INFO L290 TraceCheckUtils]: 1: Hoare triple {2005#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); {2005#true} is VALID [2022-04-28 07:30:00,815 INFO L272 TraceCheckUtils]: 0: Hoare triple {2005#true} call ULTIMATE.init(); {2005#true} is VALID [2022-04-28 07:30:00,815 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 07:30:00,815 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:30:00,815 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1807134861] [2022-04-28 07:30:00,815 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:30:00,815 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1104575878] [2022-04-28 07:30:00,816 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1104575878] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:30:00,816 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:30:00,816 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 07:30:00,816 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:30:00,816 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1898807215] [2022-04-28 07:30:00,816 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1898807215] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:30:00,816 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:30:00,816 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 07:30:00,816 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1300727052] [2022-04-28 07:30:00,816 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:30:00,817 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-28 07:30:00,817 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:30:00,817 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:30:02,840 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-28 07:30:02,840 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 07:30:02,841 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:30:02,841 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 07:30:02,841 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 07:30:02,841 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:30:04,902 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-28 07:30:05,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:05,280 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-04-28 07:30:05,280 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:30:05,280 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-28 07:30:05,280 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:30:05,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:30:05,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 07:30:05,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:30:05,281 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-28 07:30:05,281 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-28 07:30:07,324 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:30:07,325 INFO L225 Difference]: With dead ends: 57 [2022-04-28 07:30:07,325 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 07:30:07,325 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 76 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-28 07:30:07,326 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 13 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:30:07,326 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 103 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 55 Invalid, 1 Unknown, 0 Unchecked, 2.1s Time] [2022-04-28 07:30:07,327 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 07:30:07,351 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 41. [2022-04-28 07:30:07,351 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:30:07,352 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:30:07,352 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:30:07,352 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:30:07,353 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:07,354 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-28 07:30:07,354 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 07:30:07,354 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:30:07,354 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:30:07,354 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-28 07:30:07,354 INFO L87 Difference]: Start difference. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-28 07:30:07,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:30:07,356 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-28 07:30:07,356 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-28 07:30:07,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:30:07,356 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:30:07,356 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:30:07,356 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:30:07,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:30:07,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-28 07:30:07,357 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 43 [2022-04-28 07:30:07,357 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:30:07,357 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-28 07:30:07,358 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:30:07,358 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 45 transitions. [2022-04-28 07:30:13,623 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 42 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 07:30:13,623 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-28 07:30:13,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 07:30:13,624 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:30:13,624 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:30:13,642 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-28 07:30:13,824 WARN L477 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-28 07:30:13,825 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:30:13,825 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:30:13,825 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 3 times [2022-04-28 07:30:13,825 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:30:13,825 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [169421589] [2022-04-28 07:30:13,826 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:30:13,826 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 4 times [2022-04-28 07:30:13,826 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:30:13,826 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1691509720] [2022-04-28 07:30:13,826 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:30:13,826 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:30:13,846 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:30:13,846 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [843621329] [2022-04-28 07:30:13,846 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:30:13,846 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:30:13,847 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:30:13,855 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-28 07:30:13,855 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-28 07:30:13,897 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:30:13,897 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:30:13,898 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-28 07:30:13,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:30:13,919 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:30:15,402 INFO L272 TraceCheckUtils]: 0: Hoare triple {2572#true} call ULTIMATE.init(); {2572#true} is VALID [2022-04-28 07:30:15,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#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); {2572#true} is VALID [2022-04-28 07:30:15,403 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 07:30:15,403 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #71#return; {2572#true} is VALID [2022-04-28 07:30:15,405 INFO L272 TraceCheckUtils]: 4: Hoare triple {2572#true} call #t~ret6 := main(); {2572#true} is VALID [2022-04-28 07:30:15,405 INFO L290 TraceCheckUtils]: 5: Hoare triple {2572#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; {2572#true} is VALID [2022-04-28 07:30:15,405 INFO L272 TraceCheckUtils]: 6: Hoare triple {2572#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-28 07:30:15,405 INFO L290 TraceCheckUtils]: 7: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 07:30:15,405 INFO L290 TraceCheckUtils]: 8: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 07:30:15,405 INFO L290 TraceCheckUtils]: 9: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 07:30:15,406 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2572#true} {2572#true} #61#return; {2572#true} is VALID [2022-04-28 07:30:15,406 INFO L290 TraceCheckUtils]: 11: Hoare triple {2572#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2572#true} is VALID [2022-04-28 07:30:15,406 INFO L272 TraceCheckUtils]: 12: Hoare triple {2572#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-28 07:30:15,407 INFO L290 TraceCheckUtils]: 13: Hoare triple {2572#true} ~cond := #in~cond; {2616#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:30:15,407 INFO L290 TraceCheckUtils]: 14: Hoare triple {2616#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2620#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:15,407 INFO L290 TraceCheckUtils]: 15: Hoare triple {2620#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2620#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:30:15,414 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2620#(not (= |assume_abort_if_not_#in~cond| 0))} {2572#true} #63#return; {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 07:30:15,414 INFO L272 TraceCheckUtils]: 17: Hoare triple {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2572#true} is VALID [2022-04-28 07:30:15,414 INFO L290 TraceCheckUtils]: 18: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 07:30:15,414 INFO L290 TraceCheckUtils]: 19: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 07:30:15,414 INFO L290 TraceCheckUtils]: 20: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 07:30:15,415 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2572#true} {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} #65#return; {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 07:30:15,415 INFO L290 TraceCheckUtils]: 22: Hoare triple {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:15,415 INFO L290 TraceCheckUtils]: 23: Hoare triple {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !false; {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:15,415 INFO L272 TraceCheckUtils]: 24: Hoare triple {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2572#true} is VALID [2022-04-28 07:30:15,415 INFO L290 TraceCheckUtils]: 25: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 07:30:15,415 INFO L290 TraceCheckUtils]: 26: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 07:30:15,415 INFO L290 TraceCheckUtils]: 27: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 07:30:15,416 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2572#true} {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} #67#return; {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:15,416 INFO L290 TraceCheckUtils]: 29: Hoare triple {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2668#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:15,417 INFO L290 TraceCheckUtils]: 30: Hoare triple {2668#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= 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; {2672#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:30:15,419 INFO L290 TraceCheckUtils]: 31: Hoare triple {2672#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 10) (= main_~a~0 main_~x~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); {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:30:15,419 INFO L290 TraceCheckUtils]: 32: Hoare triple {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:30:15,419 INFO L272 TraceCheckUtils]: 33: Hoare triple {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (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)); {2572#true} is VALID [2022-04-28 07:30:15,419 INFO L290 TraceCheckUtils]: 34: Hoare triple {2572#true} ~cond := #in~cond; {2686#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:15,422 INFO L290 TraceCheckUtils]: 35: Hoare triple {2686#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:15,422 INFO L290 TraceCheckUtils]: 36: Hoare triple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:15,427 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:30:15,428 INFO L290 TraceCheckUtils]: 38: Hoare triple {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2700#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:30:15,429 INFO L290 TraceCheckUtils]: 39: Hoare triple {2700#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (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);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2704#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 07:30:15,431 INFO L290 TraceCheckUtils]: 40: Hoare triple {2704#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 07:30:15,431 INFO L290 TraceCheckUtils]: 41: Hoare triple {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} assume !false; {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 07:30:15,444 INFO L272 TraceCheckUtils]: 42: Hoare triple {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:30:15,444 INFO L290 TraceCheckUtils]: 43: Hoare triple {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2719#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:15,446 INFO L290 TraceCheckUtils]: 44: Hoare triple {2719#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2573#false} is VALID [2022-04-28 07:30:15,446 INFO L290 TraceCheckUtils]: 45: Hoare triple {2573#false} assume !false; {2573#false} is VALID [2022-04-28 07:30:15,446 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-28 07:30:15,447 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:31:14,944 INFO L290 TraceCheckUtils]: 45: Hoare triple {2573#false} assume !false; {2573#false} is VALID [2022-04-28 07:31:14,944 INFO L290 TraceCheckUtils]: 44: Hoare triple {2719#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2573#false} is VALID [2022-04-28 07:31:14,945 INFO L290 TraceCheckUtils]: 43: Hoare triple {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2719#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:14,945 INFO L272 TraceCheckUtils]: 42: Hoare triple {2735#(= (+ 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)); {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:31:14,946 INFO L290 TraceCheckUtils]: 41: Hoare triple {2735#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2735#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:31:14,950 INFO L290 TraceCheckUtils]: 40: Hoare triple {2742#(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); {2735#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:31:14,952 INFO L290 TraceCheckUtils]: 39: Hoare triple {2746#(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; {2742#(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-28 07:31:14,952 INFO L290 TraceCheckUtils]: 38: Hoare triple {2746#(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); {2746#(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-28 07:31:15,147 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} {2572#true} #67#return; {2746#(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-28 07:31:15,147 INFO L290 TraceCheckUtils]: 36: Hoare triple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:15,148 INFO L290 TraceCheckUtils]: 35: Hoare triple {2762#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:15,148 INFO L290 TraceCheckUtils]: 34: Hoare triple {2572#true} ~cond := #in~cond; {2762#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:31:15,148 INFO L272 TraceCheckUtils]: 33: Hoare triple {2572#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2572#true} is VALID [2022-04-28 07:31:15,148 INFO L290 TraceCheckUtils]: 32: Hoare triple {2572#true} assume !false; {2572#true} is VALID [2022-04-28 07:31:15,148 INFO L290 TraceCheckUtils]: 31: Hoare triple {2572#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); {2572#true} is VALID [2022-04-28 07:31:15,148 INFO L290 TraceCheckUtils]: 30: Hoare triple {2572#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; {2572#true} is VALID [2022-04-28 07:31:15,148 INFO L290 TraceCheckUtils]: 29: Hoare triple {2572#true} assume !!(0 != ~y~0); {2572#true} is VALID [2022-04-28 07:31:15,148 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2572#true} {2572#true} #67#return; {2572#true} is VALID [2022-04-28 07:31:15,148 INFO L290 TraceCheckUtils]: 27: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L290 TraceCheckUtils]: 26: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L290 TraceCheckUtils]: 25: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L272 TraceCheckUtils]: 24: Hoare triple {2572#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L290 TraceCheckUtils]: 23: Hoare triple {2572#true} assume !false; {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L290 TraceCheckUtils]: 22: Hoare triple {2572#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2572#true} {2572#true} #65#return; {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L290 TraceCheckUtils]: 20: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L290 TraceCheckUtils]: 19: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L290 TraceCheckUtils]: 18: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L272 TraceCheckUtils]: 17: Hoare triple {2572#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2572#true} {2572#true} #63#return; {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L290 TraceCheckUtils]: 15: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L290 TraceCheckUtils]: 14: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 07:31:15,149 INFO L290 TraceCheckUtils]: 13: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L272 TraceCheckUtils]: 12: Hoare triple {2572#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L290 TraceCheckUtils]: 11: Hoare triple {2572#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2572#true} {2572#true} #61#return; {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L290 TraceCheckUtils]: 7: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L272 TraceCheckUtils]: 6: Hoare triple {2572#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L290 TraceCheckUtils]: 5: Hoare triple {2572#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; {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L272 TraceCheckUtils]: 4: Hoare triple {2572#true} call #t~ret6 := main(); {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #71#return; {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#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); {2572#true} is VALID [2022-04-28 07:31:15,150 INFO L272 TraceCheckUtils]: 0: Hoare triple {2572#true} call ULTIMATE.init(); {2572#true} is VALID [2022-04-28 07:31:15,151 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 07:31:15,151 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:31:15,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1691509720] [2022-04-28 07:31:15,151 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:31:15,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [843621329] [2022-04-28 07:31:15,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [843621329] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:31:15,151 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:31:15,151 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-28 07:31:15,151 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:31:15,152 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [169421589] [2022-04-28 07:31:15,152 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [169421589] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:31:15,152 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:31:15,152 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 07:31:15,152 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [137592610] [2022-04-28 07:31:15,152 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:31:15,152 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-28 07:31:15,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:31:15,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:31:15,191 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-28 07:31:15,191 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 07:31:15,191 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:31:15,191 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 07:31:15,192 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=313, Unknown=0, NotChecked=0, Total=380 [2022-04-28 07:31:15,192 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:31:16,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:16,485 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-28 07:31:16,485 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 07:31:16,485 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-28 07:31:16,485 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:31:16,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:31:16,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-28 07:31:16,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:31:16,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-28 07:31:16,488 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 57 transitions. [2022-04-28 07:31:16,575 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:16,576 INFO L225 Difference]: With dead ends: 63 [2022-04-28 07:31:16,576 INFO L226 Difference]: Without dead ends: 61 [2022-04-28 07:31:16,577 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 70 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 115 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=84, Invalid=422, Unknown=0, NotChecked=0, Total=506 [2022-04-28 07:31:16,577 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 29 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 376 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 389 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 376 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 07:31:16,577 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 170 Invalid, 389 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 376 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 07:31:16,578 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-28 07:31:16,665 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-28 07:31:16,665 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:31:16,665 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:31:16,665 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:31:16,666 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:31:16,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:16,667 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 07:31:16,667 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 07:31:16,667 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:31:16,667 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:31:16,668 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 07:31:16,668 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 07:31:16,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:31:16,669 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 07:31:16,669 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 07:31:16,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:31:16,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:31:16,669 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:31:16,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:31:16,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:31:16,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 07:31:16,671 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 07:31:16,671 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:31:16,671 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 07:31:16,671 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:31:16,671 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 07:31:24,775 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 51 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 07:31:24,775 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 07:31:24,775 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 07:31:24,775 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:31:24,775 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:31:24,792 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-28 07:31:24,976 WARN L477 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-28 07:31:24,976 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:31:24,976 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:31:24,977 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-28 07:31:24,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:31:24,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [718281809] [2022-04-28 07:31:24,977 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:31:24,977 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-28 07:31:24,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:31:24,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2033839121] [2022-04-28 07:31:24,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:31:24,977 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:31:24,994 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:31:24,994 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1641233577] [2022-04-28 07:31:24,994 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:31:24,994 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:31:24,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:31:24,995 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-28 07:31:24,996 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-28 07:31:25,033 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:31:25,033 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:31:25,034 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 07:31:25,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:31:25,061 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:31:29,303 INFO L272 TraceCheckUtils]: 0: Hoare triple {3221#true} call ULTIMATE.init(); {3221#true} is VALID [2022-04-28 07:31:29,303 INFO L290 TraceCheckUtils]: 1: Hoare triple {3221#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); {3221#true} is VALID [2022-04-28 07:31:29,303 INFO L290 TraceCheckUtils]: 2: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 07:31:29,303 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3221#true} {3221#true} #71#return; {3221#true} is VALID [2022-04-28 07:31:29,303 INFO L272 TraceCheckUtils]: 4: Hoare triple {3221#true} call #t~ret6 := main(); {3221#true} is VALID [2022-04-28 07:31:29,303 INFO L290 TraceCheckUtils]: 5: Hoare triple {3221#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; {3221#true} is VALID [2022-04-28 07:31:29,303 INFO L272 TraceCheckUtils]: 6: Hoare triple {3221#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-28 07:31:29,303 INFO L290 TraceCheckUtils]: 7: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 07:31:29,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 07:31:29,303 INFO L290 TraceCheckUtils]: 9: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 07:31:29,303 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3221#true} {3221#true} #61#return; {3221#true} is VALID [2022-04-28 07:31:29,304 INFO L290 TraceCheckUtils]: 11: Hoare triple {3221#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3221#true} is VALID [2022-04-28 07:31:29,304 INFO L272 TraceCheckUtils]: 12: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-28 07:31:29,304 INFO L290 TraceCheckUtils]: 13: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 07:31:29,304 INFO L290 TraceCheckUtils]: 14: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 07:31:29,304 INFO L290 TraceCheckUtils]: 15: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 07:31:29,304 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3221#true} {3221#true} #63#return; {3221#true} is VALID [2022-04-28 07:31:29,304 INFO L272 TraceCheckUtils]: 17: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3221#true} is VALID [2022-04-28 07:31:29,304 INFO L290 TraceCheckUtils]: 18: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 07:31:29,304 INFO L290 TraceCheckUtils]: 19: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 07:31:29,304 INFO L290 TraceCheckUtils]: 20: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 07:31:29,304 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3221#true} {3221#true} #65#return; {3221#true} is VALID [2022-04-28 07:31:29,305 INFO L290 TraceCheckUtils]: 22: Hoare triple {3221#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3292#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 07:31:29,305 INFO L290 TraceCheckUtils]: 23: Hoare triple {3292#(= main_~b~0 main_~y~0)} assume !false; {3292#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 07:31:29,305 INFO L272 TraceCheckUtils]: 24: Hoare triple {3292#(= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-28 07:31:29,305 INFO L290 TraceCheckUtils]: 25: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 07:31:29,305 INFO L290 TraceCheckUtils]: 26: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 07:31:29,305 INFO L290 TraceCheckUtils]: 27: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 07:31:29,306 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3221#true} {3292#(= main_~b~0 main_~y~0)} #67#return; {3292#(= main_~b~0 main_~y~0)} is VALID [2022-04-28 07:31:29,306 INFO L290 TraceCheckUtils]: 29: Hoare triple {3292#(= main_~b~0 main_~y~0)} assume !!(0 != ~y~0); {3314#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} is VALID [2022-04-28 07:31:29,306 INFO L290 TraceCheckUtils]: 30: Hoare triple {3314#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~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; {3318#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:31:29,308 INFO L290 TraceCheckUtils]: 31: Hoare triple {3318#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 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); {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:31:29,308 INFO L290 TraceCheckUtils]: 32: Hoare triple {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} assume !false; {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:31:29,308 INFO L272 TraceCheckUtils]: 33: Hoare triple {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~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)); {3221#true} is VALID [2022-04-28 07:31:29,308 INFO L290 TraceCheckUtils]: 34: Hoare triple {3221#true} ~cond := #in~cond; {3332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:29,309 INFO L290 TraceCheckUtils]: 35: Hoare triple {3332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:29,309 INFO L290 TraceCheckUtils]: 36: Hoare triple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:31:29,310 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} #67#return; {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:31:29,310 INFO L290 TraceCheckUtils]: 38: Hoare triple {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} assume !!(0 != ~y~0); {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:31:29,313 INFO L290 TraceCheckUtils]: 39: Hoare triple {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3350#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:31:29,582 INFO L290 TraceCheckUtils]: 40: Hoare triple {3350#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 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); {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:31:29,583 INFO L290 TraceCheckUtils]: 41: Hoare triple {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} assume !false; {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:31:29,880 INFO L272 TraceCheckUtils]: 42: Hoare triple {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:31:29,881 INFO L290 TraceCheckUtils]: 43: Hoare triple {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:31:29,881 INFO L290 TraceCheckUtils]: 44: Hoare triple {3365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3222#false} is VALID [2022-04-28 07:31:29,881 INFO L290 TraceCheckUtils]: 45: Hoare triple {3222#false} assume !false; {3222#false} is VALID [2022-04-28 07:31:29,881 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 07:31:29,881 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:32:15,601 INFO L290 TraceCheckUtils]: 45: Hoare triple {3222#false} assume !false; {3222#false} is VALID [2022-04-28 07:32:15,602 INFO L290 TraceCheckUtils]: 44: Hoare triple {3365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3222#false} is VALID [2022-04-28 07:32:15,602 INFO L290 TraceCheckUtils]: 43: Hoare triple {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:32:15,603 INFO L272 TraceCheckUtils]: 42: Hoare triple {3381#(= (+ 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)); {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:32:15,603 INFO L290 TraceCheckUtils]: 41: Hoare triple {3381#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3381#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:32:15,607 INFO L290 TraceCheckUtils]: 40: Hoare triple {3388#(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); {3381#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:32:15,608 INFO L290 TraceCheckUtils]: 39: Hoare triple {3392#(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)); {3388#(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-28 07:32:15,609 INFO L290 TraceCheckUtils]: 38: Hoare triple {3392#(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); {3392#(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-28 07:32:15,612 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} #67#return; {3392#(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-28 07:32:15,612 INFO L290 TraceCheckUtils]: 36: Hoare triple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:15,612 INFO L290 TraceCheckUtils]: 35: Hoare triple {3409#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:15,613 INFO L290 TraceCheckUtils]: 34: Hoare triple {3221#true} ~cond := #in~cond; {3409#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:32:15,613 INFO L272 TraceCheckUtils]: 33: Hoare triple {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~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)); {3221#true} is VALID [2022-04-28 07:32:15,613 INFO L290 TraceCheckUtils]: 32: Hoare triple {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} assume !false; {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 07:32:15,620 INFO L290 TraceCheckUtils]: 31: Hoare triple {3419#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (forall ((main_~x~0 Int) (aux_div_v_main_~y~0_39_22 Int)) (or (= (* 2 (* (div main_~y~0 2) main_~x~0)) (+ (* main_~x~0 2) (* (* aux_div_v_main_~y~0_39_22 main_~x~0) 4))) (<= (+ (* aux_div_v_main_~y~0_39_22 2) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_39_22 2)))) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (+ (- 1) (div main_~y~0 2)) 2) (div (+ (- 2) (div main_~y~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); {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-28 07:32:15,622 INFO L290 TraceCheckUtils]: 30: Hoare triple {3221#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; {3419#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (forall ((main_~x~0 Int) (aux_div_v_main_~y~0_39_22 Int)) (or (= (* 2 (* (div main_~y~0 2) main_~x~0)) (+ (* main_~x~0 2) (* (* aux_div_v_main_~y~0_39_22 main_~x~0) 4))) (<= (+ (* aux_div_v_main_~y~0_39_22 2) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_39_22 2)))) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (+ (- 1) (div main_~y~0 2)) 2) (div (+ (- 2) (div main_~y~0 2)) 2))))} is VALID [2022-04-28 07:32:15,622 INFO L290 TraceCheckUtils]: 29: Hoare triple {3221#true} assume !!(0 != ~y~0); {3221#true} is VALID [2022-04-28 07:32:15,622 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3221#true} {3221#true} #67#return; {3221#true} is VALID [2022-04-28 07:32:15,622 INFO L290 TraceCheckUtils]: 27: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 07:32:15,622 INFO L290 TraceCheckUtils]: 26: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 07:32:15,622 INFO L290 TraceCheckUtils]: 25: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 07:32:15,622 INFO L272 TraceCheckUtils]: 24: Hoare triple {3221#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-28 07:32:15,622 INFO L290 TraceCheckUtils]: 23: Hoare triple {3221#true} assume !false; {3221#true} is VALID [2022-04-28 07:32:15,622 INFO L290 TraceCheckUtils]: 22: Hoare triple {3221#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3221#true} {3221#true} #65#return; {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L290 TraceCheckUtils]: 20: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L290 TraceCheckUtils]: 19: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L290 TraceCheckUtils]: 18: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L272 TraceCheckUtils]: 17: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3221#true} {3221#true} #63#return; {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L290 TraceCheckUtils]: 15: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L290 TraceCheckUtils]: 14: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L290 TraceCheckUtils]: 13: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L272 TraceCheckUtils]: 12: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L290 TraceCheckUtils]: 11: Hoare triple {3221#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3221#true} {3221#true} #61#return; {3221#true} is VALID [2022-04-28 07:32:15,623 INFO L290 TraceCheckUtils]: 9: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 07:32:15,624 INFO L290 TraceCheckUtils]: 8: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-28 07:32:15,624 INFO L290 TraceCheckUtils]: 7: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-28 07:32:15,624 INFO L272 TraceCheckUtils]: 6: Hoare triple {3221#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-28 07:32:15,624 INFO L290 TraceCheckUtils]: 5: Hoare triple {3221#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; {3221#true} is VALID [2022-04-28 07:32:15,624 INFO L272 TraceCheckUtils]: 4: Hoare triple {3221#true} call #t~ret6 := main(); {3221#true} is VALID [2022-04-28 07:32:15,624 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3221#true} {3221#true} #71#return; {3221#true} is VALID [2022-04-28 07:32:15,624 INFO L290 TraceCheckUtils]: 2: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-28 07:32:15,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {3221#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); {3221#true} is VALID [2022-04-28 07:32:15,624 INFO L272 TraceCheckUtils]: 0: Hoare triple {3221#true} call ULTIMATE.init(); {3221#true} is VALID [2022-04-28 07:32:15,624 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 07:32:15,624 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:32:15,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2033839121] [2022-04-28 07:32:15,625 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:32:15,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1641233577] [2022-04-28 07:32:15,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1641233577] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:32:15,625 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:32:15,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-28 07:32:15,625 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:32:15,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [718281809] [2022-04-28 07:32:15,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [718281809] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:32:15,625 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:32:15,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 07:32:15,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [275427273] [2022-04-28 07:32:15,625 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:32:15,626 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 07:32:15,626 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:32:15,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:32:16,564 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-28 07:32:16,565 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 07:32:16,565 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:32:16,565 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 07:32:16,565 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=281, Unknown=1, NotChecked=0, Total=342 [2022-04-28 07:32:16,565 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:32:19,106 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.42s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:32:21,109 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-28 07:32:23,113 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-28 07:32:25,554 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-28 07:32:28,156 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.14s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:32:28,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:28,417 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-28 07:32:28,417 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 07:32:28,417 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-28 07:32:28,417 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:32:28,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:32:28,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 07:32:28,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:32:28,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-28 07:32:28,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-28 07:32:30,179 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:32:30,180 INFO L225 Difference]: With dead ends: 63 [2022-04-28 07:32:30,181 INFO L226 Difference]: Without dead ends: 61 [2022-04-28 07:32:30,181 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 9.7s TimeCoverageRelationStatistics Valid=73, Invalid=346, Unknown=1, NotChecked=0, Total=420 [2022-04-28 07:32:30,181 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 18 mSDsluCounter, 139 mSDsCounter, 0 mSdLazyCounter, 193 mSolverCounterSat, 1 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 10.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 193 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 10.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:32:30,181 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 166 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 193 Invalid, 3 Unknown, 0 Unchecked, 10.0s Time] [2022-04-28 07:32:30,182 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-28 07:32:30,227 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-28 07:32:30,227 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:32:30,228 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:32:30,228 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:32:30,228 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:32:30,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:30,229 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 07:32:30,229 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 07:32:30,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:32:30,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:32:30,230 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 07:32:30,230 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-28 07:32:30,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:30,231 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-28 07:32:30,231 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-28 07:32:30,231 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:32:30,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:32:30,232 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:32:30,232 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:32:30,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:32:30,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 07:32:30,233 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 07:32:30,233 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:32:30,233 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 07:32:30,233 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 07:32:30,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 07:32:39,293 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 51 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-28 07:32:39,294 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 07:32:39,294 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 07:32:39,294 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:32:39,294 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:32:39,310 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-28 07:32:39,495 WARN L477 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-28 07:32:39,495 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:32:39,495 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:32:39,495 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-28 07:32:39,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:32:39,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [696759784] [2022-04-28 07:32:39,496 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:32:39,496 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-28 07:32:39,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:32:39,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1243032565] [2022-04-28 07:32:39,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:32:39,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:32:39,509 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:32:39,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1067149169] [2022-04-28 07:32:39,510 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:32:39,510 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:32:39,510 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:32:39,511 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-28 07:32:39,513 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-28 07:32:39,548 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:32:39,548 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:32:39,549 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-28 07:32:39,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:32:39,574 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:32:41,378 INFO L272 TraceCheckUtils]: 0: Hoare triple {3867#true} call ULTIMATE.init(); {3867#true} is VALID [2022-04-28 07:32:41,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {3867#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); {3867#true} is VALID [2022-04-28 07:32:41,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 07:32:41,379 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3867#true} {3867#true} #71#return; {3867#true} is VALID [2022-04-28 07:32:41,379 INFO L272 TraceCheckUtils]: 4: Hoare triple {3867#true} call #t~ret6 := main(); {3867#true} is VALID [2022-04-28 07:32:41,379 INFO L290 TraceCheckUtils]: 5: Hoare triple {3867#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; {3867#true} is VALID [2022-04-28 07:32:41,379 INFO L272 TraceCheckUtils]: 6: Hoare triple {3867#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-28 07:32:41,379 INFO L290 TraceCheckUtils]: 7: Hoare triple {3867#true} ~cond := #in~cond; {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:32:41,380 INFO L290 TraceCheckUtils]: 8: Hoare triple {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:32:41,380 INFO L290 TraceCheckUtils]: 9: Hoare triple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:32:41,380 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} {3867#true} #61#return; {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,381 INFO L290 TraceCheckUtils]: 11: Hoare triple {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,381 INFO L272 TraceCheckUtils]: 12: Hoare triple {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-28 07:32:41,395 INFO L290 TraceCheckUtils]: 13: Hoare triple {3867#true} ~cond := #in~cond; {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:32:41,396 INFO L290 TraceCheckUtils]: 14: Hoare triple {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:32:41,396 INFO L290 TraceCheckUtils]: 15: Hoare triple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:32:41,397 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} #63#return; {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,397 INFO L272 TraceCheckUtils]: 17: Hoare triple {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3867#true} is VALID [2022-04-28 07:32:41,397 INFO L290 TraceCheckUtils]: 18: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-28 07:32:41,397 INFO L290 TraceCheckUtils]: 19: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-28 07:32:41,397 INFO L290 TraceCheckUtils]: 20: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 07:32:41,397 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3867#true} {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} #65#return; {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,398 INFO L290 TraceCheckUtils]: 22: Hoare triple {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,398 INFO L290 TraceCheckUtils]: 23: Hoare triple {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} assume !false; {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,398 INFO L272 TraceCheckUtils]: 24: Hoare triple {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-28 07:32:41,399 INFO L290 TraceCheckUtils]: 25: Hoare triple {3867#true} ~cond := #in~cond; {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:32:41,399 INFO L290 TraceCheckUtils]: 26: Hoare triple {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:41,399 INFO L290 TraceCheckUtils]: 27: Hoare triple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:41,400 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} #67#return; {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,400 INFO L290 TraceCheckUtils]: 29: Hoare triple {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} assume !!(0 != ~y~0); {3966#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,401 INFO L290 TraceCheckUtils]: 30: Hoare triple {3966#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3970#(and (= main_~z~0 0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,401 INFO L290 TraceCheckUtils]: 31: Hoare triple {3970#(and (= main_~z~0 0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,402 INFO L290 TraceCheckUtils]: 32: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} assume !false; {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,402 INFO L272 TraceCheckUtils]: 33: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-28 07:32:41,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {3867#true} ~cond := #in~cond; {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:32:41,403 INFO L290 TraceCheckUtils]: 35: Hoare triple {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:41,403 INFO L290 TraceCheckUtils]: 36: Hoare triple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:41,404 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} #67#return; {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,404 INFO L290 TraceCheckUtils]: 38: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} assume !!(0 != ~y~0); {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-28 07:32:41,405 INFO L290 TraceCheckUtils]: 39: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} 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; {3999#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 07:32:41,407 INFO L290 TraceCheckUtils]: 40: Hoare triple {3999#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 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); {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 07:32:41,407 INFO L290 TraceCheckUtils]: 41: Hoare triple {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 07:32:41,417 INFO L272 TraceCheckUtils]: 42: Hoare triple {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 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)); {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:32:41,418 INFO L290 TraceCheckUtils]: 43: Hoare triple {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4014#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:32:41,418 INFO L290 TraceCheckUtils]: 44: Hoare triple {4014#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3868#false} is VALID [2022-04-28 07:32:41,418 INFO L290 TraceCheckUtils]: 45: Hoare triple {3868#false} assume !false; {3868#false} is VALID [2022-04-28 07:32:41,419 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 17 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 07:32:41,419 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:33:30,712 INFO L290 TraceCheckUtils]: 45: Hoare triple {3868#false} assume !false; {3868#false} is VALID [2022-04-28 07:33:30,713 INFO L290 TraceCheckUtils]: 44: Hoare triple {4014#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3868#false} is VALID [2022-04-28 07:33:30,713 INFO L290 TraceCheckUtils]: 43: Hoare triple {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4014#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:33:30,714 INFO L272 TraceCheckUtils]: 42: Hoare triple {4030#(= (+ 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)); {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:33:30,714 INFO L290 TraceCheckUtils]: 41: Hoare triple {4030#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4030#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:33:30,718 INFO L290 TraceCheckUtils]: 40: Hoare triple {4037#(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); {4030#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:33:30,720 INFO L290 TraceCheckUtils]: 39: Hoare triple {4041#(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; {4037#(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-28 07:33:30,721 INFO L290 TraceCheckUtils]: 38: Hoare triple {4041#(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); {4041#(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-28 07:33:30,975 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} {3867#true} #67#return; {4041#(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-28 07:33:30,975 INFO L290 TraceCheckUtils]: 36: Hoare triple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:30,976 INFO L290 TraceCheckUtils]: 35: Hoare triple {4057#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:30,976 INFO L290 TraceCheckUtils]: 34: Hoare triple {3867#true} ~cond := #in~cond; {4057#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:33:30,976 INFO L272 TraceCheckUtils]: 33: Hoare triple {3867#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-28 07:33:30,976 INFO L290 TraceCheckUtils]: 32: Hoare triple {3867#true} assume !false; {3867#true} is VALID [2022-04-28 07:33:30,976 INFO L290 TraceCheckUtils]: 31: Hoare triple {3867#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); {3867#true} is VALID [2022-04-28 07:33:30,976 INFO L290 TraceCheckUtils]: 30: Hoare triple {3867#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3867#true} is VALID [2022-04-28 07:33:30,976 INFO L290 TraceCheckUtils]: 29: Hoare triple {3867#true} assume !!(0 != ~y~0); {3867#true} is VALID [2022-04-28 07:33:30,976 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3867#true} {3867#true} #67#return; {3867#true} is VALID [2022-04-28 07:33:30,976 INFO L290 TraceCheckUtils]: 27: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 07:33:30,976 INFO L290 TraceCheckUtils]: 26: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-28 07:33:30,976 INFO L290 TraceCheckUtils]: 25: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L272 TraceCheckUtils]: 24: Hoare triple {3867#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L290 TraceCheckUtils]: 23: Hoare triple {3867#true} assume !false; {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L290 TraceCheckUtils]: 22: Hoare triple {3867#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3867#true} {3867#true} #65#return; {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L290 TraceCheckUtils]: 20: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L290 TraceCheckUtils]: 19: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L290 TraceCheckUtils]: 18: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L272 TraceCheckUtils]: 17: Hoare triple {3867#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3867#true} {3867#true} #63#return; {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L290 TraceCheckUtils]: 15: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L290 TraceCheckUtils]: 14: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L290 TraceCheckUtils]: 13: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-28 07:33:30,977 INFO L272 TraceCheckUtils]: 12: Hoare triple {3867#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-28 07:33:30,978 INFO L290 TraceCheckUtils]: 11: Hoare triple {3867#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3867#true} is VALID [2022-04-28 07:33:30,978 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3867#true} {3867#true} #61#return; {3867#true} is VALID [2022-04-28 07:33:30,978 INFO L290 TraceCheckUtils]: 9: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 07:33:30,978 INFO L290 TraceCheckUtils]: 8: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-28 07:33:30,978 INFO L290 TraceCheckUtils]: 7: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-28 07:33:30,978 INFO L272 TraceCheckUtils]: 6: Hoare triple {3867#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-28 07:33:30,978 INFO L290 TraceCheckUtils]: 5: Hoare triple {3867#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; {3867#true} is VALID [2022-04-28 07:33:30,978 INFO L272 TraceCheckUtils]: 4: Hoare triple {3867#true} call #t~ret6 := main(); {3867#true} is VALID [2022-04-28 07:33:30,978 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3867#true} {3867#true} #71#return; {3867#true} is VALID [2022-04-28 07:33:30,978 INFO L290 TraceCheckUtils]: 2: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-28 07:33:30,978 INFO L290 TraceCheckUtils]: 1: Hoare triple {3867#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); {3867#true} is VALID [2022-04-28 07:33:30,979 INFO L272 TraceCheckUtils]: 0: Hoare triple {3867#true} call ULTIMATE.init(); {3867#true} is VALID [2022-04-28 07:33:30,979 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 07:33:30,979 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:33:30,979 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1243032565] [2022-04-28 07:33:30,979 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:33:30,980 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1067149169] [2022-04-28 07:33:30,980 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1067149169] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:33:30,980 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:33:30,980 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-28 07:33:30,982 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:33:30,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [696759784] [2022-04-28 07:33:30,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [696759784] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:33:30,982 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:33:30,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 07:33:30,982 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [471453526] [2022-04-28 07:33:30,982 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:33:30,983 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 46 [2022-04-28 07:33:30,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:33:30,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 07:33:31,018 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-28 07:33:31,018 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 07:33:31,018 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:33:31,018 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 07:33:31,018 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=308, Unknown=0, NotChecked=0, Total=380 [2022-04-28 07:33:31,018 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 07:33:32,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:33:32,041 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2022-04-28 07:33:32,041 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 07:33:32,041 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 46 [2022-04-28 07:33:32,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:33:32,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 07:33:32,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 56 transitions. [2022-04-28 07:33:32,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 07:33:32,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 56 transitions. [2022-04-28 07:33:32,044 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 56 transitions. [2022-04-28 07:33:32,088 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:33:32,090 INFO L225 Difference]: With dead ends: 72 [2022-04-28 07:33:32,090 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 07:33:32,091 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 69 SyntacticMatches, 4 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 111 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=89, Invalid=417, Unknown=0, NotChecked=0, Total=506 [2022-04-28 07:33:32,096 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 34 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 316 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 329 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 316 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 07:33:32,096 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 146 Invalid, 329 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 316 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 07:33:32,097 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 07:33:32,179 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 59. [2022-04-28 07:33:32,179 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:33:32,179 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:33:32,179 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:33:32,180 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:33:32,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:33:32,181 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 07:33:32,181 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 07:33:32,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:33:32,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:33:32,182 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 70 states. [2022-04-28 07:33:32,182 INFO L87 Difference]: Start difference. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 70 states. [2022-04-28 07:33:32,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:33:32,183 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-28 07:33:32,183 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-28 07:33:32,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:33:32,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:33:32,183 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:33:32,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:33:32,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:33:32,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 65 transitions. [2022-04-28 07:33:32,185 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 65 transitions. Word has length 46 [2022-04-28 07:33:32,185 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:33:32,185 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 65 transitions. [2022-04-28 07:33:32,185 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-28 07:33:32,185 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 65 transitions. [2022-04-28 07:33:36,812 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:33:36,813 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 65 transitions. [2022-04-28 07:33:36,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-28 07:33:36,813 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:33:36,813 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:33:36,829 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-28 07:33:37,027 WARN L477 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-28 07:33:37,028 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:33:37,028 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:33:37,028 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 3 times [2022-04-28 07:33:37,028 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:33:37,028 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1036463777] [2022-04-28 07:33:37,028 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:33:37,028 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 4 times [2022-04-28 07:33:37,028 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:33:37,028 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [741343161] [2022-04-28 07:33:37,029 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:33:37,029 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:33:37,038 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:33:37,038 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [621671360] [2022-04-28 07:33:37,038 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:33:37,039 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:33:37,039 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:33:37,039 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-28 07:33:37,040 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-28 07:33:37,074 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:33:37,075 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:33:37,075 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 07:33:37,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:33:37,087 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:33:38,954 INFO L272 TraceCheckUtils]: 0: Hoare triple {4570#true} call ULTIMATE.init(); {4570#true} is VALID [2022-04-28 07:33:38,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {4570#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); {4570#true} is VALID [2022-04-28 07:33:38,954 INFO L290 TraceCheckUtils]: 2: Hoare triple {4570#true} assume true; {4570#true} is VALID [2022-04-28 07:33:38,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4570#true} {4570#true} #71#return; {4570#true} is VALID [2022-04-28 07:33:38,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {4570#true} call #t~ret6 := main(); {4570#true} is VALID [2022-04-28 07:33:38,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {4570#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; {4570#true} is VALID [2022-04-28 07:33:38,955 INFO L272 TraceCheckUtils]: 6: Hoare triple {4570#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {4570#true} is VALID [2022-04-28 07:33:38,955 INFO L290 TraceCheckUtils]: 7: Hoare triple {4570#true} ~cond := #in~cond; {4570#true} is VALID [2022-04-28 07:33:38,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {4570#true} assume !(0 == ~cond); {4570#true} is VALID [2022-04-28 07:33:38,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {4570#true} assume true; {4570#true} is VALID [2022-04-28 07:33:38,955 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4570#true} {4570#true} #61#return; {4570#true} is VALID [2022-04-28 07:33:38,955 INFO L290 TraceCheckUtils]: 11: Hoare triple {4570#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4570#true} is VALID [2022-04-28 07:33:38,955 INFO L272 TraceCheckUtils]: 12: Hoare triple {4570#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {4570#true} is VALID [2022-04-28 07:33:38,955 INFO L290 TraceCheckUtils]: 13: Hoare triple {4570#true} ~cond := #in~cond; {4614#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:33:38,956 INFO L290 TraceCheckUtils]: 14: Hoare triple {4614#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:33:38,956 INFO L290 TraceCheckUtils]: 15: Hoare triple {4618#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:33:38,957 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4618#(not (= |assume_abort_if_not_#in~cond| 0))} {4570#true} #63#return; {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 07:33:38,957 INFO L272 TraceCheckUtils]: 17: Hoare triple {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4570#true} is VALID [2022-04-28 07:33:38,957 INFO L290 TraceCheckUtils]: 18: Hoare triple {4570#true} ~cond := #in~cond; {4570#true} is VALID [2022-04-28 07:33:38,957 INFO L290 TraceCheckUtils]: 19: Hoare triple {4570#true} assume !(0 == ~cond); {4570#true} is VALID [2022-04-28 07:33:38,957 INFO L290 TraceCheckUtils]: 20: Hoare triple {4570#true} assume true; {4570#true} is VALID [2022-04-28 07:33:38,957 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4570#true} {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} #65#return; {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 07:33:38,958 INFO L290 TraceCheckUtils]: 22: Hoare triple {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:33:38,958 INFO L290 TraceCheckUtils]: 23: Hoare triple {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !false; {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:33:38,958 INFO L272 TraceCheckUtils]: 24: Hoare triple {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4570#true} is VALID [2022-04-28 07:33:38,958 INFO L290 TraceCheckUtils]: 25: Hoare triple {4570#true} ~cond := #in~cond; {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:33:38,958 INFO L290 TraceCheckUtils]: 26: Hoare triple {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:38,959 INFO L290 TraceCheckUtils]: 27: Hoare triple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:38,959 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} #67#return; {4665#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:33:38,960 INFO L290 TraceCheckUtils]: 29: Hoare triple {4665#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {4669#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:33:38,960 INFO L290 TraceCheckUtils]: 30: Hoare triple {4669#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= 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)); {4673#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:33:38,961 INFO L290 TraceCheckUtils]: 31: Hoare triple {4673#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= 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); {4677#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:33:38,971 INFO L290 TraceCheckUtils]: 32: Hoare triple {4677#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !false; {4677#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:33:38,971 INFO L272 TraceCheckUtils]: 33: Hoare triple {4677#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~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)); {4570#true} is VALID [2022-04-28 07:33:38,982 INFO L290 TraceCheckUtils]: 34: Hoare triple {4570#true} ~cond := #in~cond; {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:33:38,983 INFO L290 TraceCheckUtils]: 35: Hoare triple {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:38,983 INFO L290 TraceCheckUtils]: 36: Hoare triple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:38,984 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} {4677#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} #67#return; {4677#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:33:38,984 INFO L290 TraceCheckUtils]: 38: Hoare triple {4677#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {4677#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:33:38,985 INFO L290 TraceCheckUtils]: 39: Hoare triple {4677#(and (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~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)); {4702#(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 (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 07:33:38,986 INFO L290 TraceCheckUtils]: 40: Hoare triple {4702#(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 (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4706#(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 (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 07:33:38,987 INFO L290 TraceCheckUtils]: 41: Hoare triple {4706#(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 (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} assume !false; {4706#(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 (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-28 07:33:38,989 INFO L272 TraceCheckUtils]: 42: Hoare triple {4706#(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 (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4713#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:33:38,989 INFO L290 TraceCheckUtils]: 43: Hoare triple {4713#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4717#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:33:38,989 INFO L290 TraceCheckUtils]: 44: Hoare triple {4717#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4571#false} is VALID [2022-04-28 07:33:38,990 INFO L290 TraceCheckUtils]: 45: Hoare triple {4571#false} assume !false; {4571#false} is VALID [2022-04-28 07:33:38,990 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 5 proven. 14 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 07:33:38,990 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:37:05,777 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:37:05,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [741343161] [2022-04-28 07:37:05,777 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:37:05,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [621671360] [2022-04-28 07:37:05,777 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [621671360] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 07:37:05,777 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 07:37:05,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 07:37:05,777 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:37:05,777 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1036463777] [2022-04-28 07:37:05,778 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1036463777] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:37:05,778 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:37:05,778 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 07:37:05,778 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1575869139] [2022-04-28 07:37:05,778 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:37:05,778 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-28 07:37:05,778 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:37:05,778 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:37:05,809 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-28 07:37:05,809 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 07:37:05,809 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:37:05,810 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 07:37:05,810 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=99, Invalid=407, Unknown=0, NotChecked=0, Total=506 [2022-04-28 07:37:05,810 INFO L87 Difference]: Start difference. First operand 59 states and 65 transitions. Second operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:37:06,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:37:06,960 INFO L93 Difference]: Finished difference Result 71 states and 78 transitions. [2022-04-28 07:37:06,960 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 07:37:06,960 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-28 07:37:06,960 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:37:06,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:37:06,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 55 transitions. [2022-04-28 07:37:06,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:37:06,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 55 transitions. [2022-04-28 07:37:06,962 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 55 transitions. [2022-04-28 07:37:07,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:37:07,012 INFO L225 Difference]: With dead ends: 71 [2022-04-28 07:37:07,012 INFO L226 Difference]: Without dead ends: 69 [2022-04-28 07:37:07,012 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 38 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 179 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=116, Invalid=534, Unknown=0, NotChecked=0, Total=650 [2022-04-28 07:37:07,012 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 30 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 285 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 294 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 285 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 07:37:07,013 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 144 Invalid, 294 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 285 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 07:37:07,013 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-28 07:37:07,083 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 50. [2022-04-28 07:37:07,083 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:37:07,084 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:37:07,084 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:37:07,084 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:37:07,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:37:07,086 INFO L93 Difference]: Finished difference Result 69 states and 76 transitions. [2022-04-28 07:37:07,086 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 76 transitions. [2022-04-28 07:37:07,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:37:07,086 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:37:07,086 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 69 states. [2022-04-28 07:37:07,086 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 69 states. [2022-04-28 07:37:07,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:37:07,087 INFO L93 Difference]: Finished difference Result 69 states and 76 transitions. [2022-04-28 07:37:07,087 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 76 transitions. [2022-04-28 07:37:07,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:37:07,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:37:07,088 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:37:07,088 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:37:07,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:37:07,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-28 07:37:07,089 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-28 07:37:07,089 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:37:07,089 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-28 07:37:07,089 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-28 07:37:07,089 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-28 07:37:12,532 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 54 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:37:12,532 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-28 07:37:12,533 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 07:37:12,533 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:37:12,533 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:37:12,549 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 07:37:12,733 WARN L477 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-28 07:37:12,733 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:37:12,734 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:37:12,734 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 5 times [2022-04-28 07:37:12,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:37:12,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [949001203] [2022-04-28 07:37:12,734 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:37:12,734 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 6 times [2022-04-28 07:37:12,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:37:12,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1522433093] [2022-04-28 07:37:12,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:37:12,735 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:37:12,748 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:37:12,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1796186752] [2022-04-28 07:37:12,748 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:37:12,748 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:37:12,749 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:37:12,750 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-28 07:37:12,752 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-28 07:37:12,815 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 07:37:12,815 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:37:12,816 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 07:37:12,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:37:12,830 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:37:38,431 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 07:37:41,748 INFO L272 TraceCheckUtils]: 0: Hoare triple {5170#true} call ULTIMATE.init(); {5170#true} is VALID [2022-04-28 07:37:41,748 INFO L290 TraceCheckUtils]: 1: Hoare triple {5170#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); {5170#true} is VALID [2022-04-28 07:37:41,748 INFO L290 TraceCheckUtils]: 2: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 07:37:41,748 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5170#true} {5170#true} #71#return; {5170#true} is VALID [2022-04-28 07:37:41,748 INFO L272 TraceCheckUtils]: 4: Hoare triple {5170#true} call #t~ret6 := main(); {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L290 TraceCheckUtils]: 5: Hoare triple {5170#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; {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L272 TraceCheckUtils]: 6: Hoare triple {5170#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L290 TraceCheckUtils]: 7: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L290 TraceCheckUtils]: 8: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L290 TraceCheckUtils]: 9: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5170#true} {5170#true} #61#return; {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L290 TraceCheckUtils]: 11: Hoare triple {5170#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L272 TraceCheckUtils]: 12: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L290 TraceCheckUtils]: 13: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L290 TraceCheckUtils]: 15: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5170#true} {5170#true} #63#return; {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L272 TraceCheckUtils]: 17: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5170#true} is VALID [2022-04-28 07:37:41,749 INFO L290 TraceCheckUtils]: 18: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L290 TraceCheckUtils]: 19: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L290 TraceCheckUtils]: 20: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5170#true} {5170#true} #65#return; {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L290 TraceCheckUtils]: 22: Hoare triple {5170#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L290 TraceCheckUtils]: 23: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L272 TraceCheckUtils]: 24: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L290 TraceCheckUtils]: 25: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L290 TraceCheckUtils]: 26: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L290 TraceCheckUtils]: 27: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L290 TraceCheckUtils]: 29: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L290 TraceCheckUtils]: 30: Hoare triple {5170#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; {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L290 TraceCheckUtils]: 31: Hoare triple {5170#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); {5170#true} is VALID [2022-04-28 07:37:41,750 INFO L290 TraceCheckUtils]: 32: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-28 07:37:41,751 INFO L272 TraceCheckUtils]: 33: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-28 07:37:41,751 INFO L290 TraceCheckUtils]: 34: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 07:37:41,751 INFO L290 TraceCheckUtils]: 35: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 07:37:41,751 INFO L290 TraceCheckUtils]: 36: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 07:37:41,751 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-28 07:37:41,751 INFO L290 TraceCheckUtils]: 38: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-28 07:37:41,751 INFO L290 TraceCheckUtils]: 39: Hoare triple {5170#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; {5170#true} is VALID [2022-04-28 07:37:41,751 INFO L290 TraceCheckUtils]: 40: Hoare triple {5170#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); {5170#true} is VALID [2022-04-28 07:37:41,751 INFO L290 TraceCheckUtils]: 41: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-28 07:37:41,751 INFO L272 TraceCheckUtils]: 42: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-28 07:37:41,751 INFO L290 TraceCheckUtils]: 43: Hoare triple {5170#true} ~cond := #in~cond; {5304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:37:41,752 INFO L290 TraceCheckUtils]: 44: Hoare triple {5304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:37:41,752 INFO L290 TraceCheckUtils]: 45: Hoare triple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:37:41,753 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} {5170#true} #67#return; {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:37:41,753 INFO L290 TraceCheckUtils]: 47: Hoare triple {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(0 != ~y~0); {5319#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:37:41,755 INFO L290 TraceCheckUtils]: 48: Hoare triple {5319#(and (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; {5323#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:37:41,865 INFO L290 TraceCheckUtils]: 49: Hoare triple {5323#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ 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); {5327#(and (= (mod main_~x~0 2) 0) (exists ((aux_div_v_main_~y~0_59_28 Int) (aux_mod_v_main_~y~0_59_28 Int)) (and (= (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_59_28)) (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_59_28))) (< aux_mod_v_main_~y~0_59_28 2) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2)) 2)) (<= 1 aux_mod_v_main_~y~0_59_28) (<= 0 (+ aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2))))))} is VALID [2022-04-28 07:37:42,073 INFO L290 TraceCheckUtils]: 50: Hoare triple {5327#(and (= (mod main_~x~0 2) 0) (exists ((aux_div_v_main_~y~0_59_28 Int) (aux_mod_v_main_~y~0_59_28 Int)) (and (= (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_59_28)) (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_59_28))) (< aux_mod_v_main_~y~0_59_28 2) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2)) 2)) (<= 1 aux_mod_v_main_~y~0_59_28) (<= 0 (+ aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2))))))} assume !false; {5331#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:37:44,076 WARN L272 TraceCheckUtils]: 51: Hoare triple {5331#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} is UNKNOWN [2022-04-28 07:37:44,076 INFO L290 TraceCheckUtils]: 52: Hoare triple {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:37:44,077 INFO L290 TraceCheckUtils]: 53: Hoare triple {5339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5171#false} is VALID [2022-04-28 07:37:44,077 INFO L290 TraceCheckUtils]: 54: Hoare triple {5171#false} assume !false; {5171#false} is VALID [2022-04-28 07:37:44,077 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 07:37:44,077 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:38:42,529 INFO L290 TraceCheckUtils]: 54: Hoare triple {5171#false} assume !false; {5171#false} is VALID [2022-04-28 07:38:42,530 INFO L290 TraceCheckUtils]: 53: Hoare triple {5339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5171#false} is VALID [2022-04-28 07:38:42,530 INFO L290 TraceCheckUtils]: 52: Hoare triple {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:38:42,531 INFO L272 TraceCheckUtils]: 51: Hoare triple {5315#(= (+ 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)); {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:38:42,531 INFO L290 TraceCheckUtils]: 50: Hoare triple {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:38:42,535 INFO L290 TraceCheckUtils]: 49: Hoare triple {5361#(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); {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:38:42,538 INFO L290 TraceCheckUtils]: 48: Hoare triple {5365#(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; {5361#(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-28 07:38:42,538 INFO L290 TraceCheckUtils]: 47: Hoare triple {5365#(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); {5365#(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-28 07:38:42,840 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} {5170#true} #67#return; {5365#(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-28 07:38:42,841 INFO L290 TraceCheckUtils]: 45: Hoare triple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:38:42,841 INFO L290 TraceCheckUtils]: 44: Hoare triple {5381#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:38:42,841 INFO L290 TraceCheckUtils]: 43: Hoare triple {5170#true} ~cond := #in~cond; {5381#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:38:42,842 INFO L272 TraceCheckUtils]: 42: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-28 07:38:42,842 INFO L290 TraceCheckUtils]: 41: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-28 07:38:42,842 INFO L290 TraceCheckUtils]: 40: Hoare triple {5170#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); {5170#true} is VALID [2022-04-28 07:38:42,842 INFO L290 TraceCheckUtils]: 39: Hoare triple {5170#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; {5170#true} is VALID [2022-04-28 07:38:42,842 INFO L290 TraceCheckUtils]: 38: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-28 07:38:42,842 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-28 07:38:42,842 INFO L290 TraceCheckUtils]: 36: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 07:38:42,842 INFO L290 TraceCheckUtils]: 35: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 07:38:42,842 INFO L290 TraceCheckUtils]: 34: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 07:38:42,842 INFO L272 TraceCheckUtils]: 33: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-28 07:38:42,842 INFO L290 TraceCheckUtils]: 32: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-28 07:38:42,842 INFO L290 TraceCheckUtils]: 31: Hoare triple {5170#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); {5170#true} is VALID [2022-04-28 07:38:42,842 INFO L290 TraceCheckUtils]: 30: Hoare triple {5170#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; {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L290 TraceCheckUtils]: 29: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L290 TraceCheckUtils]: 27: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L290 TraceCheckUtils]: 26: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L290 TraceCheckUtils]: 25: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L272 TraceCheckUtils]: 24: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L290 TraceCheckUtils]: 23: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L290 TraceCheckUtils]: 22: Hoare triple {5170#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5170#true} {5170#true} #65#return; {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L290 TraceCheckUtils]: 20: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L290 TraceCheckUtils]: 19: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L290 TraceCheckUtils]: 18: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L272 TraceCheckUtils]: 17: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5170#true} {5170#true} #63#return; {5170#true} is VALID [2022-04-28 07:38:42,843 INFO L290 TraceCheckUtils]: 15: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L290 TraceCheckUtils]: 14: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L290 TraceCheckUtils]: 13: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L272 TraceCheckUtils]: 12: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L290 TraceCheckUtils]: 11: Hoare triple {5170#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5170#true} {5170#true} #61#return; {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L290 TraceCheckUtils]: 9: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L290 TraceCheckUtils]: 8: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L290 TraceCheckUtils]: 7: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L272 TraceCheckUtils]: 6: Hoare triple {5170#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L290 TraceCheckUtils]: 5: Hoare triple {5170#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; {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L272 TraceCheckUtils]: 4: Hoare triple {5170#true} call #t~ret6 := main(); {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5170#true} {5170#true} #71#return; {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L290 TraceCheckUtils]: 2: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-28 07:38:42,844 INFO L290 TraceCheckUtils]: 1: Hoare triple {5170#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); {5170#true} is VALID [2022-04-28 07:38:42,845 INFO L272 TraceCheckUtils]: 0: Hoare triple {5170#true} call ULTIMATE.init(); {5170#true} is VALID [2022-04-28 07:38:42,845 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-28 07:38:42,845 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:38:42,845 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1522433093] [2022-04-28 07:38:42,845 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:38:42,845 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1796186752] [2022-04-28 07:38:42,845 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1796186752] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:38:42,845 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:38:42,845 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 14 [2022-04-28 07:38:42,845 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:38:42,846 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [949001203] [2022-04-28 07:38:42,846 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [949001203] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:38:42,846 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:38:42,846 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 07:38:42,846 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1744265547] [2022-04-28 07:38:42,846 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:38:42,846 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 55 [2022-04-28 07:38:42,846 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:38:42,846 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:38:44,170 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:38:44,170 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 07:38:44,170 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:38:44,171 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 07:38:44,171 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=140, Unknown=4, NotChecked=0, Total=182 [2022-04-28 07:38:44,171 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:38:46,596 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.45s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:38:51,286 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-28 07:38:52,714 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.25s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:38:54,738 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.79s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:39:11,928 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.87s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:39:15,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:39:15,227 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-04-28 07:39:15,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 07:39:15,227 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 55 [2022-04-28 07:39:15,228 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:39:15,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:39:15,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-28 07:39:15,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:39:15,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-28 07:39:15,229 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 50 transitions. [2022-04-28 07:39:20,921 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-28 07:39:20,922 INFO L225 Difference]: With dead ends: 86 [2022-04-28 07:39:20,922 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 07:39:20,922 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 95 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 22.3s TimeCoverageRelationStatistics Valid=77, Invalid=261, Unknown=4, NotChecked=0, Total=342 [2022-04-28 07:39:20,922 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 19 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 10 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 13.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 179 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 149 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 19 IncrementalHoareTripleChecker+Unchecked, 13.8s IncrementalHoareTripleChecker+Time [2022-04-28 07:39:20,922 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 162 Invalid, 179 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 149 Invalid, 1 Unknown, 19 Unchecked, 13.8s Time] [2022-04-28 07:39:20,923 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 07:39:20,996 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-28 07:39:20,996 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:39:20,996 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:39:20,997 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:39:20,997 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:39:21,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:39:21,000 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-28 07:39:21,000 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-28 07:39:21,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:39:21,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:39:21,001 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-28 07:39:21,001 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-28 07:39:21,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:39:21,002 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-28 07:39:21,002 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-28 07:39:21,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:39:21,002 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:39:21,002 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:39:21,002 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:39:21,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:39:21,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 52 transitions. [2022-04-28 07:39:21,003 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 52 transitions. Word has length 55 [2022-04-28 07:39:21,003 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:39:21,003 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 52 transitions. [2022-04-28 07:39:21,003 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-28 07:39:21,004 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 52 transitions. [2022-04-28 07:39:26,125 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 51 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:39:26,125 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-28 07:39:26,125 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 07:39:26,125 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:39:26,125 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:39:26,141 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-28 07:39:26,326 WARN L477 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-28 07:39:26,326 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:39:26,326 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:39:26,326 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 5 times [2022-04-28 07:39:26,326 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:39:26,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1226143368] [2022-04-28 07:39:26,327 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:39:26,327 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 6 times [2022-04-28 07:39:26,327 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:39:26,327 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [683541934] [2022-04-28 07:39:26,327 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:39:26,327 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:39:26,339 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:39:26,339 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [45868715] [2022-04-28 07:39:26,339 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:39:26,339 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:39:26,339 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:39:26,340 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-28 07:39:26,341 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-28 07:39:26,390 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 07:39:26,390 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:39:26,391 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 07:39:26,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:39:26,406 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:39:44,516 INFO L272 TraceCheckUtils]: 0: Hoare triple {5895#true} call ULTIMATE.init(); {5895#true} is VALID [2022-04-28 07:39:44,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {5895#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); {5895#true} is VALID [2022-04-28 07:39:44,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {5895#true} assume true; {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5895#true} {5895#true} #71#return; {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L272 TraceCheckUtils]: 4: Hoare triple {5895#true} call #t~ret6 := main(); {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {5895#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; {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L272 TraceCheckUtils]: 6: Hoare triple {5895#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L290 TraceCheckUtils]: 7: Hoare triple {5895#true} ~cond := #in~cond; {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L290 TraceCheckUtils]: 8: Hoare triple {5895#true} assume !(0 == ~cond); {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L290 TraceCheckUtils]: 9: Hoare triple {5895#true} assume true; {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5895#true} {5895#true} #61#return; {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L290 TraceCheckUtils]: 11: Hoare triple {5895#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L272 TraceCheckUtils]: 12: Hoare triple {5895#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L290 TraceCheckUtils]: 13: Hoare triple {5895#true} ~cond := #in~cond; {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L290 TraceCheckUtils]: 14: Hoare triple {5895#true} assume !(0 == ~cond); {5895#true} is VALID [2022-04-28 07:39:44,519 INFO L290 TraceCheckUtils]: 15: Hoare triple {5895#true} assume true; {5895#true} is VALID [2022-04-28 07:39:44,520 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5895#true} {5895#true} #63#return; {5895#true} is VALID [2022-04-28 07:39:44,520 INFO L272 TraceCheckUtils]: 17: Hoare triple {5895#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5895#true} is VALID [2022-04-28 07:39:44,520 INFO L290 TraceCheckUtils]: 18: Hoare triple {5895#true} ~cond := #in~cond; {5954#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:39:44,520 INFO L290 TraceCheckUtils]: 19: Hoare triple {5954#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5958#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:39:44,520 INFO L290 TraceCheckUtils]: 20: Hoare triple {5958#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5958#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:39:44,521 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5958#(not (= |assume_abort_if_not_#in~cond| 0))} {5895#true} #65#return; {5965#(<= 1 main_~b~0)} is VALID [2022-04-28 07:39:44,521 INFO L290 TraceCheckUtils]: 22: Hoare triple {5965#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5969#(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-28 07:39:44,521 INFO L290 TraceCheckUtils]: 23: Hoare triple {5969#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {5969#(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-28 07:39:44,522 INFO L272 TraceCheckUtils]: 24: Hoare triple {5969#(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)); {5895#true} is VALID [2022-04-28 07:39:44,522 INFO L290 TraceCheckUtils]: 25: Hoare triple {5895#true} ~cond := #in~cond; {5895#true} is VALID [2022-04-28 07:39:44,522 INFO L290 TraceCheckUtils]: 26: Hoare triple {5895#true} assume !(0 == ~cond); {5895#true} is VALID [2022-04-28 07:39:44,522 INFO L290 TraceCheckUtils]: 27: Hoare triple {5895#true} assume true; {5895#true} is VALID [2022-04-28 07:39:44,522 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5895#true} {5969#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {5969#(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-28 07:39:44,522 INFO L290 TraceCheckUtils]: 29: Hoare triple {5969#(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); {5969#(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-28 07:39:44,523 INFO L290 TraceCheckUtils]: 30: Hoare triple {5969#(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)); {5994#(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-28 07:39:44,524 INFO L290 TraceCheckUtils]: 31: Hoare triple {5994#(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); {5998#(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-28 07:39:44,524 INFO L290 TraceCheckUtils]: 32: Hoare triple {5998#(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; {5998#(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-28 07:39:44,525 INFO L272 TraceCheckUtils]: 33: Hoare triple {5998#(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)); {5895#true} is VALID [2022-04-28 07:39:44,525 INFO L290 TraceCheckUtils]: 34: Hoare triple {5895#true} ~cond := #in~cond; {5895#true} is VALID [2022-04-28 07:39:44,525 INFO L290 TraceCheckUtils]: 35: Hoare triple {5895#true} assume !(0 == ~cond); {5895#true} is VALID [2022-04-28 07:39:44,525 INFO L290 TraceCheckUtils]: 36: Hoare triple {5895#true} assume true; {5895#true} is VALID [2022-04-28 07:39:44,525 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5895#true} {5998#(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))} #67#return; {5998#(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-28 07:39:44,526 INFO L290 TraceCheckUtils]: 38: Hoare triple {5998#(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); {5998#(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-28 07:39:44,526 INFO L290 TraceCheckUtils]: 39: Hoare triple {5998#(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)); {6023#(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-28 07:39:44,528 INFO L290 TraceCheckUtils]: 40: Hoare triple {6023#(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); {6027#(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-28 07:39:44,528 INFO L290 TraceCheckUtils]: 41: Hoare triple {6027#(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; {6027#(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-28 07:39:44,528 INFO L272 TraceCheckUtils]: 42: Hoare triple {6027#(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)); {5895#true} is VALID [2022-04-28 07:39:44,528 INFO L290 TraceCheckUtils]: 43: Hoare triple {5895#true} ~cond := #in~cond; {6037#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:39:44,529 INFO L290 TraceCheckUtils]: 44: Hoare triple {6037#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6041#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:39:44,529 INFO L290 TraceCheckUtils]: 45: Hoare triple {6041#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6041#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:39:44,529 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6041#(not (= |__VERIFIER_assert_#in~cond| 0))} {6027#(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))} #67#return; {6027#(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-28 07:39:44,530 INFO L290 TraceCheckUtils]: 47: Hoare triple {6027#(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 !!(0 != ~y~0); {6027#(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-28 07:39:44,531 INFO L290 TraceCheckUtils]: 48: Hoare triple {6027#(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 !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6054#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (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-28 07:39:44,532 INFO L290 TraceCheckUtils]: 49: Hoare triple {6054#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (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))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6058#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-28 07:39:44,532 INFO L290 TraceCheckUtils]: 50: Hoare triple {6058#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !false; {6058#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-28 07:39:44,534 INFO L272 TraceCheckUtils]: 51: Hoare triple {6058#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:39:44,535 INFO L290 TraceCheckUtils]: 52: Hoare triple {6065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:39:44,535 INFO L290 TraceCheckUtils]: 53: Hoare triple {6069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5896#false} is VALID [2022-04-28 07:39:44,535 INFO L290 TraceCheckUtils]: 54: Hoare triple {5896#false} assume !false; {5896#false} is VALID [2022-04-28 07:39:44,536 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 17 proven. 22 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:39:44,536 INFO L328 TraceCheckSpWp]: Computing backward predicates...